text:
Script to cut vid into clips based on audio peak?
I have a video that contains screams at various points. Is there a way to (via script) cut the screams out based on audio attributes then merge all clips into one supercut of just screams?

It did sound like the same question, but I didn't see a solution there.

Welcome! Can you give some more details about what you are looking for? When you say script, do you mean Linux shell, Windows command/power shell, something that runs in Premiere, or something else entirely? Is the audio clipping or just loud? Are you trying to hit a target loudness?

When I say peak, I just mean loudest points of audio. I assumed it would need to be a script to accomplish this, but any means of accomplishing it would be fine.

I found a YouTube video that explains exactly what I'm trying to do and it works very well. https://www.youtube.com/watch?v=wtmZnBpaRpI


text:
Cinema 4D ripple effect
Can someone please help me with this ripple effect on the torus and the sphere.
Would appreciate the help a lot

Welcome! What exactly do you need help with? What have you tried so far?

Offhand, I’d try black and white stripes, blurred to add roundness, dropped into sub poly displacement, then mess with the u/v direction until it’s right.  The tiles shader can make stripes.  This image also appears to use subsurface scattering. Sorry, too lazy to write proper answer.

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
Rendering 3D scene elements separately before compositing - Is it the right workflow
Would it be right to render elements in the scene that I made, in separate EXR image sequences?
What else should I keep in mind to render before moving on to compositing?

I think you need to go into more detail about what you're making, and what software you're using

So basically I have a 3d scene extension which is a 3D tunnel running into a live action mountain, on top of this mountain I also placed a chain-linked fence and in the foreground I placed a car. Would it make sense to render these elements out individually so that I can color correct them separately?

@TORM3NTO yes, you have the right idea, individual elements gives you best control.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Replacing source clips in a multicam sequence in Premiere
I've got a multi-camera sequence with approximately 1,000 painstakingly timed cuts between its 8 cameras. I just got new source material for those cameras (better renders of the same clips) and would like to replace the old renders with the new ones.
Is there any way to replace the videos within a multicam sequence? Or transfer/map the cuts to a new multi-camera sequence? Or any other creative solution?

Save your project as a new version before you do this.
If the new higher quality files have the same file names as the old ones, you can re-link the media, so that the edit points to the new files instead of the old ones.
If the new files don't have the same frame rate as the old ones, none of your edits will match up.
If the resolution of the new files is different to the old ones, you may need to rescale all of your edits.  You can speed this process up by copying your Motion settings and using the paste attribute command.
https://helpx.adobe.com/premiere-pro/using/relinking-media.html


text:
Final Cut Pro subtitle coordinates are not as expected when the project is vertical
For landscape video

Create a project with 1920x1080 resolution

Add a 1920x1080 resolution image and add a subtitle by pressing control+T

Let's take a look when the subtitle on these four positions respectively:

left border center

right border center

top border center

bottom border center

For the four image above, we can draw a conclusion: the origin of coordinates is at the center of the video
For horizontal direction, we had 1920 pixels, half(960) for left and half(960) for right, the x coordinate of left border is -960 and is +960 for the right border
For now, everything looks right, everything acts as what I expected. But this theory seems not work at vertical video(1080x1920) at all.

For vertical video
For vertical video, it's in a similar way, it had 1080 pixels for the x axis, half for top side and half for the bottom side, the y coordinate of the top border is +540 and it's -540 for the bottom border.

Create a project with 1080x1920 resolution

Add a 1080x1920 resolution image and add a subtitle by pressing control+T

Let's take a look when the subtitle on these four positions respectively:

left border center(if it’s as we expected, the x coordinate should be close to -540, but why it's -294?)

If we set the x coordinate to -540, the subtitle is totally out of the video box

right border center(if it’s as we expected, the x coordinate should be close to 540, but why it's 306?)

If we set the x coordinate to 540, the subtitle is totally out of the video box

For vertical direction it's similar, it should be +960 and -960, but if we set it to +960 and -960, the subtitle is totally out of the video box

Anyone who knows why the vertical video subtitle position not acts like it in landscape video?


text:
How to put a trailer clip in the middle of the main video with FFMPEG?
I have two videos of the same format encoded with the same codecs. I want trailer.mkv to be played after n minutes in the middle of main.mkv. After playing trailer.mkv, the rest of the main.mkv will continue playing. How can I concatenate them?

I know how to do it in three steps.
Separate your main video.
Step 1. Trim the end.
ffmpeg -i main.mkv -c copy -t 00:02:00 main-intro.mkv
Step 2. Trim the start.
ffmpeg -i main.mkv -c copy -ss 00:02:00 main-outro.mkv
Step 3. Concatenate them with your trailer file.
ffmpeg -safe 0 -i "concat:main-intro.mkv|trailer.mkv|main-outro.mkv" -c copy output.mkv
You can write script and you will have opportunity to do it in one click.


text:
After Effects creating slider for objects to have the same distance when moving the slider
I'm kinda new to After Effects and I'm having a hard time creating a slider that I can control to move the chat windows with the same distance. The chat windows will start at the center and only one would show up. When I move the slider, it will show up the remaining 6 chat windows. I wanted for them to have the same distance and have the flexibility to use the slider. Here's an image of what the chat windows would look like if I move the slider.

Here's a way to do it
Put a slider on your middle layer
Add the following expression to the middle layer's position control:
xval = transform.position[0];
yval = transform.position[1];
x = xval + effect("Slider Control")("Slider");
y = yval + effect("Slider Control")("Slider");
[x,y]

Then put this on your bottom layer's position control:
xval = transform.position[0];
yval = transform.position[1];
x = xval + thisComp.layer("middle").effect("Slider Control")("Slider")*2;
y = yval + thisComp.layer("middle").effect("Slider Control")("Slider")*2;
[x,y]

Then animate the slider value.
This adjusts the x and y position of the middle image by the amount on the slider. And doubles that amount for the bottom image.

Thank you tomh.. I'll be using multiple chat windows for the animation and maybe use the pick whip tool to link the chat windows.. but I'm still quite new to expressions and I'm not quite sure what the code below is for:
xval = transform.position[0];
yval = transform.position[1];
[x,y]
does this control the direction where the object moves? I've tried changing the value for transform.position but it displaces the object and no longer at the center. Thank you for the help though

The Xval and yval things are just to keep your original position values (there might be a better way to do this, not sure). There’s a good tutorial for beginning expressions here: https://www.schoolofmotion.com/blog/six-essential-expressions-creative-coding-after-effects

Thanks for the help.. I'll do some experimentation and see if I can achieve what I want.. thanks again, this helped me a lot

If you have lots of layers to animate, you may want to use the index command to control the multiplier, instead of manually changing the multiplying value in each layer. See this tutorial for info: https://www.rocketstock.com/blog/using-the-index-expression-in-after-effects/


text:
Davinci Resolve - Blanking Fill not working properly
I'm fairly new to resolve. All I'm trying to achieve is to eliminate the black bars when importing a 16:9 video to a 4:5 format. However, the blanking fill only seems to affect the video area and not the whole frame. I've tried to do the same on a vertical video in a new project and the same thing was happening. I've also tried creating a new compound clip, sadly it also had no effect. I will attach a screenshot of a clip and fx window and send more information if needed. Rn, I am simply lost.

I've just updated the program and the issue evaporated. Question RESOLVEd, get it?
sorry


text:
Resolve cropping keeping a part of a screen
I am trying to crop a video in Resolve while keeping and moving a part of the cropped scene.
So the original footage is:

I want to do this:

With a final result of:

The only way I know to do this is to duplicate the movies in the Edit tab and then crop and transform. Is there another way that does not require to duplicate the entire clip?

Is the text in its own layer?

Which approach is easiest depends on your source material. If your source consists of two layers; a text layer and a background, then you’d crop the background and reposition the text. If the text is “burnt” into the background, on the other hand, or if the area you’re trying to keep isn’t text at all, the best approach is to 1) crop the background as described above, then 2) create a duplicate copy of the background layer described in 1, place the new one above the old one in the layer stack (i.e., old on V1, new on V2), and then crop the upper layer more tightly than the lower one.

The source material is a single video file, no layers, no text. In that case, if I understood correctly, what you said is the way I know: to duplicate the video layer and use crop and transform.

Duplicate, crop and transform is the way to go if you only need to keep a simple, rectangular area, and it doesn’t need to move with the background. For more complex situations, look into the “patch replacement” effect, which is like photoshop’s clone stamp tool.


text:
Can I inject subtitles into a live stream with FFmpeg?
In my live streaming scenario I need to grab a video source and inject subtitles that I generate algorithmically during the stream (i.e. I do not know the subtitles upfront), and publish the streams together.
From what documentation and examples I found -f srt input is always from a file, not a stream, or the subtitles already arrive inside a container stream.
To test, a naive approach of mine was to send UDP packets like this one:
00:00:05,000 --> 00:00:06,999
Hello World

and consume them as follows
ffmpeg -f srt -i udp://localhost:1233 \
-c:s mov_text out.mp4

This does not work which may be obvious to all folks familiar with FFmpeg. I am having a hard time identifying why this does not work or how else to approach the problem, probably because this is not a usual use case?

You can transform the stream to hls, then you can add the subtitle to every fragment. Make sure that the subtitle and the stream are in sync. After adding the subtitles you can move the new m3u8 file and fragments to be served by nginx. This will add few seconds of latency to your stream ( depending on the fragment duration and fragment count )


text:
Tips for making choppy video less jarring
I produce a podcast that I also publish to YouTube. It's just two talking heads having an interview.
The recording of my most recent guest came through very badly.  The audio sounds fine, but the video averages about 2-3 fps.
I'm looking for tips to make this less noticeable for those watching on YouTube. Most important, I don't want viewers to think they're having connectivity problems while watching the video.
I'm not trying to "improve the frame rate"... I'm sure that data is simply lost, and perhaps short of some AI magic, there's nothing to be done.  That's fine.
I'm toying with two ideas:

Put the talking heads in a frame, and add a subtle animated background. This way the video is constantly moving, and it will be clear to the viewer that the choppiness is "intentional"
Add an animated watermark to accomplish the same goal.

The third, more extreme idea I've had is to just ditch the video entirely, and use a publicity photo of the guest in place, as I've done when I was unable to record video entirely.
Is there anything like a common approach to this sort of problem? Anything else I should consider?

Only not very helpful suggestion is get them to record locally next time.  It always looks better (assuming you can get them to press record), and then sync it all up afterwards.

It was recorded locally, with Riverside.fm.  I expect the problem was due to overloaded CPU or something like that.

Oh no... Separate iPhone next time, just for recording the interview... Laptop for the zoom call...


text:
I have a Samsung Galaxy S10e and I record videos in UHD 30 fps. How come there are "Extra" frames?
When I am in post, for example Mocha, doing motion tracking - it really makes linear planar tracking more difficult with these random "extra" still frames once in a while. It happens without much of a pattern as far as I can tell. It'll be frame 20, 300, or whathave you. Once in a while, there will be two side to side identical frames.
Any way I can eliminate these simply? Is it a mismatch of settings?

Welcome! Is your phone recording with a variable frame rate or variable bit rate? A lot of software that isn't designed for consumers/phones has trouble dealing with either of those. You can use MediaInfo to check your source files and try transcoding to constant bit rate/constant framerate.

I figured that out Michael. My S10e apparently only records variable frame rates. I am using Handbrake to convert to constant FPS. But I am still finding duplicate frames.


text:
DaVinci Resolve Fairlight advanced Noise Reduction
thank you for helping me! My problem is that I'm working with a very noisy microphone, so just enabling noice reduction in the fairlight options doesn't do the trick. I'm switching from audacity, where I just applied noise reduction two times. Now, my question is if the same is possible in Fairlight without completely destroying the audio quality? I'm using DaVinci Resolve 17

If Resolve’s built-in  plug-ins don’t do the trick, you can always add your own.  They recently added support for VST3.  For $300, you can’t expect miracles from every built-in feature, especially since color correction, editing, and compositing are also included in that price.

Thank you very much!


text:
How to batch trim 100 videos?
So I have 100 videos in a folder, I need to extract (ex.) 1:00 to 2:00. HB can do this but you have to set times for every video. Any software / Premiere script or other methods to do this?

If you're comfortable with command line apps, you could script it using FFMPEG, based on this answer: https://video.stackexchange.com/questions/34363/how-do-you-trim-videos-in-ffmpeg


text:
Copy timecode from SEI Picture Timing to MXF Timecode Stream with FFmpeg
I am receiving an HEVC encoded live stream that contains SMPTE 12-1 timecode in the SEI picture timing, as it is recommended in  ITU-T Rec-H.265-202108 Annex D.3.3 Picture timing SEI message semantics. I want to copy this timecode to a new timecode stream in an MXF Container, according to EBU – Recommendation R 122.
I can use the command ffprobe -i input.ts -show_frames to see the timecode information of each frame in a recording of such a stream:
TAG:timecode=09:06:19:01
[SIDE_DATA]
side_data_type=SMPTE 12-1 timecode
[TIMECODE]
value=09:06:19:01
[/TIMECODE]
[/SIDE_DATA]

But I have not found any way to access the SEI messages with FFmpeg. I already did a lot of research and tried playing around with things like:
-copytb 1, -timecode 00:00:00:00 or -map_metadata 0:s:0 without any luck. The only thing about SEI that I could find in the FFmpeg docs is the sei_user_data, which is only used for insertion.
Is there any way to achieve this with FFmpeg and without writing C/C++ (or any other) code around libav*?


text:
After Effects: How do I hide the wire mesh for puppet tool?
I have a composition that has a puppet pin tool added for a simple head movement. The head animation works fine but when I move the frame, there seems to be a wire mesh left behind. I have created a Null Object as a controller and attached all of the layers to transition them out of the frame. Attached is a screenshot of the wire mesh.

Do you have the Collapse Transformations (the sun) icon  ticked on your puppet layer?  That seems to break the puppet pin tool for me.

Yes, I have it ticked on since these are vector files

See this reply: https://community.adobe.com/t5/after-effects-discussions/continuous-rasterization-and-the-puppet-pin-tool-possible-questions-and-problems/m-p/10205413


text:
How To Create A Throbbing Effect In After Effects
I've searched here and elsewhere for an answer but I can't find exactly what I am looking for. I am working on a video ad in After Affects and I have an image that I want to make throb, kind of like a heartbeat. Not necessarily looking for a double throb like a heart, just a throb in general. Would appreciate some advice if anyone has created this effect before. Thanks!

Can you post an example of the kind of effect you mean - even if you don't know how to make it?

I just figured out how to do this. NVM.


text:
Fast and Easy way to mask ground of CGI element?
This shot has parallax as the camera is booming from high to low. I have a cloudpoint camera track in Blender but I'm trying to figure out how I can mask the ground of the tunnel so that it doesn't look like it is on the edge of the cliff but actually driving into the wall behind that edge. (obviously dealing with blur, light wrap and everything else after). I would basically need to duplicate the live action plate, mask the portion I want to use to hide about a quarter of the tunnel and bring the layer up but that would mean having to camera track irregular lines and I don't know how good it would come out. Any suggestions?

Tracking and rotoscoping are really your only option, but asking on the Blender SE might at least get you app-specific advice on that.  Here, I’d have to point you towards Mocha or Silhouette, which might be overkill, depending on the shot.


text:
Is there any disadvantage to using NTSC video system on a Canon EOS R6?
A setting on the Canon EOS R6 allows you to choose between NTSC and PAL for the video system. I am somewhat aware that NTSC and PAL were analog video standards used by (roughly) North America and Europe respectively. However, I am not expecting to ever play back my videos on analog TVs, so it looks to me like the main distinction is that the NTSC option allows access to higher frame rate movie recording (59.94p vs 50p for PAL).
To me, the higher frame rate is better, and so I see no reason not to use NTSC, even though I live in a former-PAL region. Am I missing any disadvantage of doing this? Will it impact any still photography functionality?

Using NTSC won’t impact functionality, but if you live in an area powered by an AC 50 Hz electricity network (like most of Europe), be prepared to see flickering in your videos whenever you film subjects that are lit up with LED lights.

I think the main consideration has to be - what frame rate are you planning to deliver your finished videos at, and will you be doing any frame rate conversion to get there?  If your delivery fps will be a multiple of 25, then 59.94 fps won't divide evenly, and any frame rate conversion would have to interpolate or drop frames at an uneven rate to compensate. If you're delivering a finished video at 30fps, or 60fps, then the NTSC rate may make more sense for your project.
The specs for the camera also suggest the video modes target a data bitrate for a given frame rate:
eg 4K (59.94p/50.00p): IPB Approx. 230 Mbps
So I guess it's possible you might get slightly higher quality per frame if you're running at 50fps vs 59.94 fps. Whether you could see this in practice is unlikely I reckon.


text:
Why can't I enable motion blur on certain pre-comps in After Effects?
I'm working on a fairly simple After Effects project where I can enable motion blur for most layers, but I can't turn it on for two pre-comps and I'm not sure why. The pre-comps contain only a few shape layers and the only effects applied are some fills. Why can't I enable motion blur?

It's because you have the collapse transformations button selected on those comps - the little sun icon on each layer.

This changes the order in which after effects renders video.  There's a good explanation of it here, but it doesn't go into motion blur.
Essentially, you either need to turn collapse transformations off, then apply motion blur to the one layer in your main comp, or go into your inner comp, and switch motion blur on for each layer inside it.


text:
How to play Video TS folder in VLC or convert it to MP4
I am trying to play a DVD by copying the contents (a Video TS and a Jacket_P folder) to my computer. I copied the Video_TS and Jacket_P folders from a DVD to my computer. The Video_TS folder has the VOB, IFO and BUP files and the Jacket_P folder has 3 .MP2 files. I opened the Video TS folder in VLC but the video does not play. I have also tried using software like Winx DVD Ripper but I get an error message with error code 1 saying that it is unable to convert the files. Does anyone know how to fix this issue, either by converting the DVD to MP4 or playing it in VLC?

Video data should be in *.vob files. You need to copy almost all existing *.vob files into one (almost all because VTS_01_0.VOB has DVD menu data so you can skip it). Here is an example for five existing *.vod files:
copy /b VTS_01_1.VOB + VTS_01_2.VOB + VTS_01_3.VOB + VTS_01_4.VOB + VTS_01_5.VOB output.vob

Now you can convert output.vob file to mp4 format with FFmpeg:
ffmpeg -i output.vob -c:v libx264 -c:a copy output.mp4

Play a VIDEO_TS folder in VLC

"Media"
"Open folder..."

Select the "VIDEO_TS" folder

Note that you'll likely get some menu and you'll have to click "Play" (or some such button).
Convert a VIDEO_TS folder to MP4 (or any other video format) in VLC

"Media"
"Convert / Save..."
"Disc" tab > "Browse..." (you can probably leave "Disc Selection" as "DVD" but if the steps here don't work, try another option)

Select your desired input VIDEO_TS folder
"Convert / Save"
Choose your desired Profile (e.g. "Video - H.265 + MP3 (MP4)")
"Browse" (enter your desired output file name)

"Start"


text:
Zoom Distance vs Focal Distance in AE Camera - what is the difference?
The Camera feature in AE has 2 properties: .  What is the difference between then?
I believe the Zoom Distance, is the place where the camera is actually looking at (which is why it makes sense that when you change the Zoom Distance, the focal length also changes). But the focus distance? What is this? Also ignore the values I have set for these fields - I am just testing and trying to understand them that's all.

The Zoom adjustment is just like a zoom control on a traditional camera - it magnifies the image and zooms in as you increase it.
The focus distance is the distance from the camera at which everything will be in focus.  If you have a low F-number (like 1 to 3), you should see a shallow depth of field, where only objects around the focus distance from the camera are in focus.  If you have a higher F-number (eg 22), you'll have a wider depth of field where more objects will be in focus.
Shallow depth of field photo f=1.4 (from Wikipedia)

Wide depth of field photo f=22 (from Wikipedia)

The aperture control corresponds to the F number, so adjusting either one changes the other. Aperture set to 500px is usually a good starting point if you want some depth of field, then adjust to taste.
Unlike on a real camera, these adjustments don't affect the exposure of the camera's image.
There's a good explanation on the After Effects camera here:
https://www.schoolofmotion.com/blog/cameras-after-effects


text:
How to edit my Playstation 5 4K gameplay?
Members. I'm facing a few issues while trying to edit 4K gameplay footage from my PS5. PS5 has two options to capture gameplay:

1080P (.mp4)
4K (.webm)

First, the captured 4K footage extension is .webm, and neither Premier Pro nor DaVinci Resolve natively support the mentioned extension. Even after using a third party plugin called WebM at https://www.fnordware.com/WebM/ for Premier Pro to support the .webm file,  the preview is laggy, and the colour Contrast and Brightness are messed up (Footage looks whitish). Is there a way to edit captured gameplay in Premier Pro without losing video quality?
I have read about using FFMPEG to convert .webm to .mp4 without losing quality (or minimal quality loss). I didn't try converting as I was confused with the parameters. I'm a beginner, and I don't know how to get going with editing in this case. All your guidance and support is highly appreciated.
Thank you.

Adobe themselves recommend the fnord webm plugin, so you may just have installed with incorrect options.

Thank you for your reply @DrMayhem. Can you please guide me on how to use and properly install the Fnord's Webm plugin?

I would follow the guidance that Adobe provide on their Premiere help pages.


text:
Cutting a video by specific time
I want to cut a video using ffmpeg.
This is the command I used.
ffmpeg -ss 1:40 -t 0:40 -i "1.ts" -c copy 100sts.ts
Duration of the result file is 1m 43s.
I guessed there is no keyframe in that section, but I was wrong.
Below is the list of the command I typed, and duration of them respectively.
ffmpeg -ss 1:40 -t 0:30 -i "1.ts" -c copy 100sts_2.ts
ffmpeg -ss 1:40 -t 0:10 -i "1.ts" -c copy 100sts_3.ts
ffmpeg -ss 1:40 -to 2:20 -i "1.ts" -c copy 100sts_4.ts
ffmpeg -ss 1:40 -to 1:50 -i "1.ts" -c copy 100sts_5.ts
ffmpeg -ss 1:40 -to 1:41 -i "1.ts" -c copy 100sts_6.ts

1min 30s
1min 13s
1min 43s
1min 13s
1min 4s

I want to cut this video so that its duration would be around 30~40s.
But ffmpeg is cutting it 1 min more than specified time.
What have i done wrong?

Please include the output of the command ffprobe -hide_banner 1.ts.

Idk know why you are having this issue, but a basic thing to try in your code line it's switch the position of time parameters to input, like this:
ffmpeg -i input.ts -c copy -ss 1:40 -t 0:40 40s_ts.ts

For FFmpeg really matter the order, so try do in this order, other thing which you can do it's try trimming use the -vf filter
ffmpeg -i input.ts -c copy -vf "trim=50:150" 50s_ts.ts

In this case the defaults are all the input is kept. So it is possible to set just the end values to keep everything before the specified time. So you are telling to ffmpeg "give me the final 50 seconds from 150 seconds of the input" if this don't work, maybe you'll need write in a verbose way: -vf "trim=start=100:duration=50"

Also try putting -i flag last

@qwr, -i introduced an input file, so it must not be the last.

-vf "trim=50:150" is the same as -vf "trim=start=50:end=150", i.e., the result will be NOT 50-seconds, but 100-seconds long output.

that's why i wrote -vf ' "trim=start=100,duration=50" ', but it's just another way to do the same thing... I wanna improve this type of techniqué, you had any clue @MarianD how to rewrite the same trim with -filter_complex? I'll appreciate that :)

trim=start=100,duration=50 is incorrect, the correct form is trim=start=100:duration=50 (: instead of ,), and it is the same as trim=100:150 (instead of yours trim=50:150). It would be nice from you to edit your answer and correct both of them. The trim is the only one filter in your answer, so there is no need to use -filter_complex (which is the same as -lavfi), but you may do it: -filter_complex trim=100:150  or -lavfi trim=100:150.


text:
changing timebase of mkv file
I'm trying to change the tbn of a mkv file.
Here is the command I typed.

ffmpeg -i a.mkv -video_track_timescale 90000 -c copy a_9ktbn.mkv

But timebase didn't change
Input #0, matroska,webm, from 'a.mkv':
  Metadata:
    ENCODER         : Lavf58.29.100
  Duration: 00:00:41.64, start: 0.000000, bitrate: 4647 kb/s
    Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 60 fps, 60 tbr, 1k tbn, 120 tbc (default)
    Metadata:
      DURATION        : 00:00:41.640000000
    Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp (default)
    Metadata:
      DURATION        : 00:00:41.600000000
Output #0, matroska, to 'a_9ktbn.mkv':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #0:0: Video: h264 (High) (H264 / 0x34363248), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 60 fps, 60 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      DURATION        : 00:00:41.640000000
    Stream #0:1: Audio: aac (LC) ([255][0][0][0] / 0x00FF), 48000 Hz, stereo, fltp (default)
    Metadata:
      DURATION        : 00:00:41.600000000
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)

Below is the result of ffprobe
Input #0, matroska,webm, from 'a_9ktbn.mkv':
  Metadata:
    ENCODER         : Lavf58.29.100
  Duration: 00:00:41.64, start: 0.000000, bitrate: 4647 kb/s
    Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 60 fps, 60 tbr, 1k tbn, 120 tbc (default)
    Metadata:
      DURATION        : 00:00:41.639000000
    Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp (default)
    Metadata:
      DURATION        : 00:00:41.600000000

tbn didn't change.
Also I found it weird that log of the ffmpeg command says tbc of output file is 1k, Whereas ffprobe say it is 120.
I tried same thing on a ts file, It didn't worked too.
Is it impossible to change the tbn of a mkv(+ts) file?

Although the Matroska format supports up to nanosecond precision timestamps, currently ffmpeg only seems to support milisecond timestamps, which is the default value. (There is a patch to fix this, but it doesn't appear to be merged)
Instead of ffmpeg, you can use the mkvmerge parameter --timestamp-scale to change the time base as nanoseconds. For example, for a tbn of 90000, use --timestamp-scale 11111, since 1000000ns / 90000 = 11111.111111ns. Note however that it's impossible to get exact precision timestamps with the mkv format when you have a timebase that is a multiple of 3 since you will have repeating decimals, but all timestamps are rounded to nanoseconds.
See https://mkvtoolnix.download/doc/mkvmerge.html for details about mkvmerge usage
See also TimestampScale in https://www.matroska.org/technical/notes.html about the format


text:
Encode still image video effectively in FFMPEG
FFMPEG can make video from MP3 file and still image:
ffmpeg.exe -loop 1 -i "img.png" -i "%1" -c:v libx264 -tune stillimage -shortest "%1.mp4"

But it honestly encodes the still image during the whole encoding process instead of encoding only a small piece, from key frame to key frame, and then just repeating it. Is there any way to optimize this?

Copy your audio stream with -c:a copy

There are different ways of optimizing and I am not sure which one you are looking for.
You could optimize for reducing file size, reducing video encoding time, etc
So, you might be aiming to reduce frame rate, as your way to optimize this, since it is for a still image video, with some mp3 audio. To have 1 frame after each 10 s time, you could do it like this:
ffmpeg -loop 1 -framerate 1/10 -i "img.png" -i "<your_sound>.mp3" -c:v libx264 -c:a copy -tune stillimage -shortest "<your_video_output_ex1>.mp4"
For that, -framerate refers to the "input stream", so encoding is very fast. In case you decided to use -r, you would get the same result, but really slower encoding time, because it refers to the output frame rate. ffmpeg would create lots of frames and then internally discard them to produce the same result.
However, I am not sure if this is what you asked for. Even though you get constant frame rate, the encoder will still encode key frames and lots of I- and B-frames between them.
--
In case you want your video to have only key-frames, which is not much clear but somehow seems to be your request, here is a method. This consists on creating a video "building block" with only its initial key frame and then concatenating that video many times.
1 - Create a clip of video with the duration that you want to have between key frames, and having only 1 single frame, as key frame. I will assume 10 s:
ffmpeg -loop 1 -framerate 1/10 -i "img.png" -i "<your_sound>.mp3" -c:v libx264 -ss 00:00:00.000 -t 00:00:10.000 -c:a copy -tune stillimage -shortest "building_block.mp4"
Be warned that the number "10" appeared 2x in this command, one for the frame rate and the other for the duration of the video.
You can check that there is only 1 frame in the video, with the following command, that shows you how many frames there are:
ffprobe -v error -select_streams v:0 -count_frames -show_entries stream=nb_read_frames "building_block.mp4"
Being only 1 frame, it is obviously a key frame, as I think you intend.
2 - Concatenate that building block many times to reach the intended duration of the final video.
To create successive copies of the video stream without any reencoding, you need to create a text file, for example "sequence.txt" listing the sequence of clips that will be concatenated, using the following format inside the text file:
file 'building_block.mp4'
file 'building_block.mp4'
file 'building_block.mp4'
...

One line per clip. You could also decide to use different files in the sequence, if you want. Here I am just concatenating always the same building block along time.
Then ask ffmpeg to concatenate all the sequence into a single video:
ffmpeg -f concat -safe 0 -i sequence.txt -c copy concatenated_building_blocks.mp4
This video contains a sequence of only key frames with your image. For now, sound is also a repetition of the contents of the building_block.mp4-
3 - Finally, replace the audio by the one you want to have there:
ffmpeg -i concatenated_building_blocks.mp4 -i "<your_sound>.mp3" -map 0:v:0 -map 1:a:0 -c:v copy -c:a copy -shortest "<your_final_video_ex2>.mp4"
Maybe this is what you asked for.
File size is greater that that of "<your_video_output_ex1>.mp4", from the first command I shared but, while ex1 has I-, P- and B-frames in it, ex2 only has I-frames, or exact copies of the same single one.
--
Final note1: I think video players were not intended for very low frame rates. If you experience difficulties playing this kind of video, you may wish to increase the frame rate. I think mpv and firefox browser are among the ones that best support variable frame rate and low frame rates.
Final note2: If you decide to compress "<your_final_video_ex2>.mp4" using 7-zip or some other compressor with large enough dictionary you will see that it compresses really a lot, because of the copies inside. (.zip does not work because its 32KiB or 64KiB dictionary is not enough most probably.)


text:
Mimicking persistence of vision for fast-moving objects
A common issue I see with videos of poi spinning is that as the poi spin faster, the video ends up with disjointed arcs of light, rather than a smooth motion as one would see in real life. Here is a frame from a video demonstrating the issue:

Notice the hard edges showing the light collected in a single frame, which to me doesn't look good. In video, it produces this jarring effect:
Example using LED poi heads
Example using fire poi heads
I want the video instead to mimic human persistence of vision, wherein each frame is blurred into the next in a way that the spinning poi will draw a smooth path.
I do know that long exposure can be used in photography to mimic the effect, but I want the effect in video. My searching online for a solution hasn't been fruitful. How can I achieve this, either using camera settings or in post processing?

There are two ways to fundamentally solve this, neither necessarily feasible: 1) Acquiring and playing video at high frame rates. 2) acquiring at high frame rate but using eye-tracking dependent rendering to render appropriately. The reason why is that the eye is not stationary on the scene (well, if it is, the artifacts disappear and the motion looks smoothly blurred) but rather tracks the moving lights. In this case, the lights have low speed on the retina but had high speed on the image sensor. So the image sensor had a lot of blur during the exposure although the exposure suddenly ends so there is a sharp edge to the blurred arc. If the duty cycle of the exposures in subsequent frames is close to 100%, this may not much matter because the next frame will continue the blurred arc from the edge. However, if you are tracking the movement with your eyes, you will see these sharp edges. Playing high frame rate footage at the same at a very fast frame rate (which will require a high refresh rate display) will mimic the original situation in which blurring is created due to the slow visual response in the retina being distributed over space by movement and eye tracking will allow the tracked feature to remain sharp whereas non-tracked features will be blurred.
You might be able to "cheat" by averaging frames together (e.g. a 3 frame rolling average), potentially with a non-uniform weighting. The idea would be to blur the sharp edges. If the source material is high frame rate, the blurred version could still maintain high temporal detail and not appear "too slow". This may minimize the visual appearance of the artifacts by reducing the hard edges but it won't fundamentally solve the issues created by the eye moving around the scene.
This is why action sports videographers keep the camera locked on the action - to minimize motion blur at the place where you are looking anyway.


text:
How to set-up mic for voice-over audio and minimize residual mouth noises
I have a ATR2100x-USB mic from audio-technica. I've been recording some tutorial videos and overall like the sound quality.
But the inherent sensitivity of the mic picks up a lot of residual mouth noises. Like inhaling, exhaling, smacking, swallowing etc.
Is this a problem of mic placement? Audio settings? Lack of dampening equipment of some kind?
Not sure how to begin trouble shooting this problem.

Do you need this on camera? What distance are you speaking from? How close to on-axis are you?

Not on camera. I'd say I'm about 4-6 inches from the mic and I'm not sure what "on-axis" means I'm afraid.

There is some good advice here : https://training.npr.org/2017/01/31/the-ear-training-guide-for-audio-producers/#recording

How to avoid mouth noise:
Changing mic placement can often help, especially if you are using a
shotgun mic.
Sipping apple juice is known to work well, as are eating Granny Smith
apples. Remember that water can make this problem worse, as can coffee
and milk-based products. Not everyone can keep apple juice on hand
with them in the studio or out in the field, so you may want to advise
your guests to avoid coffee and milk products prior to the interview.
How to fix mouth noise:
If you have a recording with egregious mouth noise, the de-crackle
plugin included in Izotope RX can reduce the problem. Sometimes
spectral repair tools can also work (you can find those in Izotope or
Adobe Audition). That said, it may be helpful to seek the assistance
of an audio expert.

I use scotch ;) More helpfully, Waves do a useful De-Breath plugin. Izotope also has De-plosive, Mouth De-click & Voice De-noise plugins.


text:
How to convert asynchronous stream of JPEG images to video stream
I have an HTTP server that streams images from a camera in a series of HTTP responses to a single request. The frame rate of this direct stream fluctuates, ie. some frames take longer to produce, some take shorter. The average framerate is around 2.1 FPS.
I can open the stream directly from the server with gstreamer this way:
gst-launch-1.0 -v souphttpsrc location=http://192.168.1.225:81/stream ! queue ! jpegdec ! videoconvert ! autovideosink

I want to augment this pipeline to convert the image stream to a MPEG TS. I guess a part of my problem is to convert the asynchronous images from the original source to a constant frame rate for the resulting MPEG TS. But as soon as I add the mpeg2enc plugin to the pipeline I get this error:
ERROR: from element /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
ERROR: from element /GstPipeline:pipeline0/GstQueue:queue0: Internal data stream error.
Additional debug info:
../plugins/elements/gstqueue.c(990): gst_queue_handle_sink_event (): /GstPipeline:pipeline0/GstQueue:queue0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

Any ideas how to address this? I guess I need a "sample-and-hold" plugin that just feeds the most recent image to the mpeg2enc plugin at the rate it requires, and maybe other stuff as well.


text:
Notify when export completes in Premiere - like After Effects
Is there a way to receive a notification by mobile phone when an export completes in Premiere 2022, like there is now in After Effects 2022? (After Effects links to the iOS  Creative Cloud app, and sends a notification).


text:
FFmpeg - Loss of video quality when using vf setpts
I created a screen recorder for iOS using FFmpeg. I concat the images into a video which is fine and the quality doesn't change much from the screenshots but when I use setpts to match the video to the audio, the quality drops a fair bit. How can I avoid this?
The command for concatenating the images
 "-f concat -i \(textFile) -c copy -b:v 20M -pattern_type sequence -r 25 concatVideo.mov"

The command to match video to audio length.
 "-i concatVideo.mov -vf setpts=\(audioDuration/videoDuration)*PTS -b:v 20M  -q:v 1 -qmin 1 -qmax 1 videoWithAdjustedLength.mov"

The command to combine the video with adjusted length and the audio file
 "-i videoWithAdjustedLength.mov -i audioInput.m4a -c:v copy -c:a aac -shortest finalOutput.mov"

I am using Mobile FFmpeg Cocoapod so I can use FFmpeg in XCode.
Thanks for your help


text:
Trying to mask smoke from partical system but feathering doesn't work
This is such an straight forward problem, but I just can't seem to figure it out. This is what I have:

As you can see I need to mask the part where the smoke is overlapping with the body to hide it.
This is what I get from using pen tool, or shape tool to create the mask.

As you can see the smoke is still overlapping the body, and I get these hard edges which doesn't follow the pen tool path at all.I also try to adjust the feathering setting under the mask, it only moves the bounding box outward, and doesn't smooth the edges at all.
I am not that familiar with AE, so if someone can help me that would be great.

Pre-comp the smoke layer first, then apply the mask in your main outer comp.


text:
How to accomplish this animated piano visual effect in a Livestream?
I would like to know how to produce this effect, for example on 1. YouTube Livestream, 2. Zoom, or 3. Omegle meetings. Thank you for your thoughtful answers/comments in advance!
See this video:

One is the spot with the piano in his own room:

Another is like Synthesiagame https://synthesiagame.com/ on the screen during the Omegle meeting:

This is simply produce with a synthesia like software. (For example: https://www.piano-vfx.com/   ) Just record a MIDI-File and put some effects on it with this software.

For the first one: I can imagine that he makes a video like in 2., but rotates the whole video for a specific angle. Then he puts his piano right next to the camera so it is the same angle as the already rotated video. After, he puts everything together into one video. That means, the particles doesn't even exist in real life but only on screen.

thanks for this! +1

Both are incorrect. For live capturing you can use something like this:

Use any audio visualizer (with a solid background) and add some
visual effects;
Chroma key/mask the background of the visualiser output, similar to how they do with greenscreen;
Set up your camera at a fixed position;
Overlay and skew the footage to the correct (fixed) camera angle on
top of the live feed with a virtual camera feed (through OBSe.g.)
Go to Omegle or any other site and select your virtual feed as the
camera input instead of the actual camera feed. Voila!

It's a little hard to see but you can see he has a thin layer of fog/vapor hovering above the edge of his piano, so I believe he has a lighting setup hooked up to a midi software to display and project the midi notes in the air

Except it does happen in real-time due to people reacting about the lights and asking how the lights are levitating.
Possibly using a green screen hanging above the piano. If he can animate the lights on his synthesia videos, pretty sure he can just put it on a green screen at that point lol


text:
How to convert the DVD .VOB collection to MPEG without re-encoding (and quality loss)?
How to convert the DVD .VOB collection to MPEG without re-encoding (and quality loss)? The .MPEG files are what DVD format is built upon, the singular files are easy to handle, and overall, can be manipulated and played more easily.

I found one way, and you'll need the following software,

BadgerIT VOB2MPG (with custom installation instructions for Windows 10)
IfoEdit (v0.971 Public, see checksums) - For "Advanced" guide only.

Depending on what you have/want, you may need one of the following sets of instructions,
Basic - Convert the full DVD to .MPEG
With this method, you'll get the full DVD copy as a .MPEG file

Get to the DVD files

If you have a physical DVD, insert it in the drive. (optional) To increase future performance, copy all files to the local hard-drive
If you have a DVD image, either extract it or mount it.
If you have a raw DVD rip, just proceed with it

Open BadgerIT VOB2MPG, navigate to the DVD files directory, and select the VIDEO_TS.IFO file.
Note: If you have the .VOB files but not VIDEO_TS.IFO, you'll need to follow the second (Advanced) guide below.
In BadgerIT VOB2MPG, ensure

All necessary titles (if multiple) are selected
Correct audio-stream is selected (if you want multiple, you can re-extract multiple times)
The output folder is correct
and click "Start Extraction" (the large "DVD" icon in the top-right corner)

Note 1: You cannot edit the output filename in the software, and that's fine, you can change it later.
Note 2: If you want to select individual chapters, you'll need to follow the "Advanced" guide below.

Advanced - Remove ads, select chapters, or extract a few chapters only.
This method is useful if you only want to convert without re-encoding one, few, or most (but not all) .VOB files,

Get to the DVD files (like in the basic instructions)

Identify the list of the .VOB files you want/need, and copy it to another (empty) folder. For example,

If you only want to extract one .VOB file, this is what you'll need to copy.
If you only want to extract some of the .VOB files, these are what you'll need to copy
If you want to remove ads, you'll need all .VOB files except the .VOB files containing the ads

Important note: You are identifying the list of the .VOB files that will be converted to a single MPEG file. If you want to convert multiple .VOB files into the single MPEG files, you'll need to redo this set of instructions multiple times.

Now make sure you copy the identified files in another folder. I.e. that the copying process is complete.
Note 1: You only need to copy the .VOB files, nothing else.
Note 2: Unless you know what you are going (changing order of video), do NOT rename any files, before or after the copying.

Open IfoEdit, click the button at the bottom, titled "Create IFOs"
I. In "Output Stream > 1st VOB of Title-Set", select the first .VOB file.
II. In "Output Stream", ensure "Same as Source" is Checked

Finally, check "OK" and wait. .VOB files will be read, but not edited. If you feel paranoid, you can always verify hash, for example with HashMyFiles

Now proceed with the steps from the "Basic" guide (specifically from step 2), by selecting the newly made folder in VOB2MPG

Extras - But I need to cut my MPG even further!
Luckily, frame-perfect cutting .MPG files without re-encoding and quality loss is also possible

I hope this guide helps someone in the future.


text:
Davinci Resolve Fusion equivalent to color-page 3D key qualifiers?
Davinci Resolve 17's Color page has a "Qualifier" tab; while the default mode is HSL, the most powerful is the 3D keyer, which has the ability to build a matte with subsets of the possible chroma and luma values (selected by drawing over regions of a frame that contains the desired color, by default working in YUV).
Is any equivalent available for use in the Fusion tab?
There are certainly tools available in the Fusion tab for RGB regions; but the 3D qualifier is considerably more powerful.


text:
OBS: cropping without black bars
OBS is awesome because of its many many versatile features. Sadly, at the same time it seems very rough around the edges, making it hard to get even basic things working.
I want to capture a portion of the screen. This seems very difficult, and never works out quite right. By comparison, when using QuickTime (on MAC), I don't get many other features, but at least I can just use the mouse to select a portion of the screen and start recording.
In OBS (on Windows), I try to do the following:

Add a Window Capture source to the scene.
Add a Crop/Pad filter.
Guess and adjust the numbers needed for the Crop/Pad filter to work. (Why can you not just select the area with the mouse? Why does it want numbers? It has that "mouse selection" feature in other places...)
Start Recording

Results

Now it comes out with black bars because, for some reason, the input does not match the output resolution or something?
I have to manually adjust the output resolution width and height, for this to work.
Also, when making certain changes, the originally nicely configured Crop filter suddenly moved everything ever so slightly, and the recorded area needs more manual adjustments.
The most fun part: the next time I do it again, I have to do all these steps again.

Can this be just ever so slightly less involved?
Maybe I'm just doing something completely wrong?

I guess, OBS is just a bit buggy, but with some gentle nudges, it forgets being buggy for a little while.
I found that this works:

Add a Window Capture source to the scene.
Add a Crop/Pad filter.
Adjust the filter numbers.

Now, whenever recording (or after changing any numbers), the following "life-hacks" help fix all the size and misalignment issues:

Right-click the Preview -> Resize output (source size)

This fixes the preview and crop misalignment.

Press Stuio Mode twice, and voila! Fixed!

This fixes Program on the right-hand side having those extra black bars.


text:
How can I auto-fill a subtitle file with the known text I was reading?
Suppose I subtitle a video of myself reading a story. I can use software like gaupol to insert subtitles into a .srt file at particular times. But I shouldn't have to retype the whole story, given I was reading it off the screen when I made the video!
Is there a way to auto-fill the .srt with the text I already have?

Does gaupol have an option to grab text from a file?

No— should it? It's easy enough to do the timings with gaupol, but idk how to get the text there.


text:
DaVinci Resolve FilmGrain effect staying static after 51 frames
I'm trying to create film grain effect using DaVinci Resolve's built in Film Grain effect in Fusion (ignore the brightness and ellipse nodes, it's irrelevant):

The film grain effects animates the grain as expected for the first few seconds (exactly 51 frames) perfectly. Then the grain animation stops and the whole video is overlaid with a static film grain "image" overlaid. As a result the first 51 frames of the video has the grain effect that I want, and for some reason, after 52nd frame it just stays static. I've also tried changing the random seed and time lock to see if it helps, but no avail.
What should I do? (I'm on Resolve 17.4.3 build 10)

I have this problem as well! Did you ever figure out the problem?

@iangilman IIRC I gave up. Probably a bug in Resolve.

OK, thanks for letting me know! I ended up switching to the node called just "grain" and that one worked fine.

@iangilman thank you! Next time I need that I will go with that.


text:
ffmpeg - duplicated frames
I'm converting a couple of videos that I have using the following command:
ffmpeg -i input.mp4 -c:v hevc_amf -c:a copy input_h265.mp4

It works, but on some videos I get this warning message:
More than 1000 frames duplicated    4608kB time=00:00:19.07 bitrate=1979.3kbits/s dup=914 drop=0 speed=3.68x
More than 10000 frames duplicated  53760kB time=00:03:28.34 bitrate=2113.8kbits/s dup=9934 drop=0 speed=3.44x
More than 100000 frames duplicated 560128kB time=00:35:52.64 bitrate=2131.6kbits/s dup=99919 drop=0 speed=3.69x

Does that mean that the input video already had those duplicate frames, or it is a problem that the converted one will have? Is it an issue at all? If so, how can I fix or prevent it from happening?

From my personal experience: if you can not see anything unusual in the input video at specified times then most of the time it's not worth fixing as it's not broken.
It can happen when input video has some static images (like some schematics) displayed over some periods of time.
It can also happen when input video is a converted version of lower fps video to higher fps video. For example: the input video has 50 fps but its original in the past had 25 fps so the current input video has every second frame duplicated to reach the needed 50 fps.


text:
After Effects: How to use Depth Matte if you have color and depth in different files?
I want to use the Depth Matte effect: https://helpx.adobe.com/ca/after-effects/using/3d-channel-effects.html
but it seems these assume the sequence was loaded from a file that contains both color and depth in the same file.
I have a color pass as exr file as well as a depth pass as exr file. How can I combine these two in After Effects so that I can use the Depth Matte effect (basically I want the opposite of what the "3D Channel Extract" effect does - instead of extracting a 3D channel, I want to inject one)?


text:
Between outgoing and incoming clip how do I keep the audio track cutting point as-is but only move the cutting point of the video track?

What is the name of this operation(s) in general non-linear video editing?
How to do it in Apple Final Cut Pro?

Note:

I'm aware that the outcome is a J-cut or an L-cut.
But when considering the clip boundary on the timeline as the starting point ("before") and keeping the audio cutting point fixed on that reference line and instead moving the video cutting point, the outcome of the part I grabbed is a "┐" shape or "┌" shape.
Indirectly of course for a "┐" shape you achieved an L-shape to the left and for a "┌" shape a J-shape to the right.
But seeing it from the video track you grab you achieve an "┐" shape or "┌" shape.

Help appreciated!

Roll Edit is the operation to move the edit point between two clips on the timeline.
In Final Cut Pro by default this operation affects both the video and the audio portion of a clip.
In order to perform a roll edit only on the video portion of a clip you:

Select both clips on the timeline.
Expand audio — ctrl-S — or in the context menu
Now video and audio portion are shown separately on the main timeline
Switch to the Trim tool — T — or click on the dropdown menu top left above the timeline.
Now move the edit point between the video clips or audio clips freely.

Long video with more explanation and explicitly shown tool menu and context menu:
▶ Final Cut Pro - Roll edit between two clips for audio and video portion together or separately


text:
Concatenate H.264 raw but basic streams without reencoding or quality loss
How does one go about concatenating several H.264 raw streams into one without reencoding or quality loss?
The streams lacked any advanced features and represented contuous recording. There is no random seek/random access feature, either.

I found the following way, when trying to concatenate videostreams from the dashcam. Note: the streams had no random seek/random access
On Windows, perform the following,
copy /b file1.264 + file2.264 + file3.264 result.264

The command would byte-merge the raw streams, which works out well. If no random seek/random access feature existed, then it won't appear; but upon the uploading to YouTube, the random seek/random access feature was re-added.
Inspired by this source

YT encodes, so the random seek wasn't "added" per se. The uploaded video was encoded into a new file with the feature. But that the file successfully uploads to YT is great!


text:
AfterEffects: How to animate amount of video stabilization
I would like to stabilize a video, but animate the amount of stabilization.
I tried using the Warp Stabilizer VFX effect, but while I can controll the strength of stabilization using the 'smoothness' slider, I cannot animate this property.
Is there another way to change the amount of stabilization during a video?

If you are just stabilising the position of an object, it could be accomplished like this:

Track the footage using the tracker. Window -> Tracker
Set it to 'Track Motion' not 'Stabilize Motion'.
Make sure 'Position' is checked.
Run the tracker.
Once it is complete, hit 'U' with the layer selected to expose the tracked keyframes.
Create a new Null layer. Layer -> New -> Null Object
Add a 'Slider Control' effect to the Null layer. Rename it to 'Amount'.
Press 'P' to expose the position property.
Alt + click the stopwatch to create an expression.
Paste in the expression below:

// The original position
var origX = 646; // Change this
var origY = 330; // Change this

// Your tracked footage
var track = thisComp.layer("Tracked Layer").motionTracker("Tracker 1")("Track Point 1").featureCenter;

// The difference between this frame and the first frame
var dx = origX - track[0];
var dy = origY - track[1];

// Add the difference back to the original
// Multiply this by the amount you want to achieve
var newX = origX + dx * effect("Amount")("Slider").value;
var newY = origY + dy * effect("Amount")("Slider").value;

[ newX, newY ]

The origX and origY values should be set to be the same x and y value of that of the very first keyframe of the 'featureCenter' property on your tracked layer.
You will also need to rename the layer referenced in the 'track' variable from 'Tracked Layer' to the name of you tracked footage layer.
You can now keyframe the Amount slider values, keeping it between 0 and 1. Where 1 would be fully stabilised and 0 would be no stabilisation.
I hope this is close to what you were hoping to achieve!


text:
Volume Problems After Render (DaVinci Resolve)
In Resolve, my audio is mixed exactly how I want it. However, when I render the video out and play it back on other devices, certain pieces of audio are bizarrely off in terms of volume.
Example image:

Both faders in this image are the Main, final decibel level for the entire project. In example A, you can see it peaking about -2 to -5dBFS. In example B, it is somewhere around -12dBFS. HOWEVER, after rendering the video and listening back, the -12dBFS is audibly much louder than the -5dBFS. How can this be? I thought the decibel levels were pretty cut and dry. How can something be so off?
Thanks for your help.
P.S. Both pieces of audio come from the same source, only altered for volume.

A complete guess from someone who’s unqualified in the audio department, but I think having your monitoring volume at anything less than 100% might cause this.  I’d have to test to be sure, but because the control to change it is relatively hidden, it’d be my first guess.  I think you alt/option click the mute icon to expose the volume slider if I remember correctly off the top of my head.

Thanks for the reply. The problem was actual a sneaky setting hidden deep in my audio settings called "Loudness Equalisation." It was unnecessarily making quieter audio much louder, and vice versa.

I'd run your mix through a LUFS meter - your original looks a bit hot for the regular streaming services, the auto-levelled version actually looks better.

@nevermind_me_ You should either "answer" (not "comment") your question (now that you "know the answer", or delete it (if you think it won't help others).


text:
How can I add SDR clips into an HDR project / timeline?
I created a project with rec2020 HLG and imported my iPhone footage. I also want to include my footage from my drone but it's not in HDR. When I import it, it looks extremely dull. How can I use SDR clips in my HDR project / timeline in Final Cut Pro?

I figured it out.

Goto effects panel and add HDR Tools Effect.
Change mode to PQ to HLG, then lower nits to 100. That fixes it.

While you can try to use the HDR Tools Effect, depending on the input video it might not work very well - e.g. shadows might be a bit crushed, or the result otherwise too contrasty.  You can try higher nits values, as one option.
I almost always get better results by simply using a Colour Board and raising shadows, midtones, and highlights by e.g. 5%, 35%, 60%.  You need to tweak to taste and based on the source camera, but once you dial it in you can copy that Colour Board onto all clips from that camera.
Alas, to my knowledge, Final Cut Pro has no way to set any such corrections for all clips from a given camera; you have to manually apply them to every clip as you add it to your project's timeline.

As for the gamut shift you can use the inverse LUT by pointecc


text:
MP4 Playback Compatibility Issues on files with Chapters
I'm trying to distribute an MP4 file with Chapters included, I'm fine if devices not supporting the chapters just ignore them, so long as the video still plays. I recently discovered some devices won't play the MP4 once it has chapters in it. Further investigation has given some odd results.
The desired output file is 1080p50 (1920x1080, 50fps). If I encode to that from Adobe Premiere, and copy the file to USB, I can play the video fine on my old Samsung TV (10+ years old). If I add the chapter list with Subler, the Samsung will no longer play the file "Unsupported Video Data".
If I rip a DVD of the same content with Handbrake, which also puts the DVD Chapters in the MP4, it plays fine on the Samsung. The video in this MP4 is DVD resolution/frame rate, I assumed that's why this file with chapters worked.
On running further tests to get to the bottom of it, I discovered that if I re-encode the 1080p file in Handbrake, and put the chapters into that file with Subler, the TV also plays that file fine. So the MP4 Adobe Premiere makes does not work once it has chapters, but the MP4 that Handbrake makes (from the Adobe MP4 file) works fine with chapters added?
On comparing the files with MediaInfo, I find some subtle differences. I tweaked the Handbrake encoding to get the file info as close as possible, Adobe is still different in a couple of spots, and I don't know how to influence either program from here to get one or the other to match.
Under "General" the files show a different Codec ID (I'm thinking this alone might be the issue, but don't know how to change it in either encoder):
    (Adobe)Codec ID                                 : mp42 (mp42/mp41)
    (Handbrake)Codec ID                                 : mp42 (isom/iso2/avc1/mp41)

    Also these fields only in the Adobe file:
    TIM                                      : 00:00:00:00
    TSC                                      : 50
    TSZ                                      : 1

Under "Video"
    (Adobe)Format settings, GOP                     : M=1, N=30
    (Handbrake)Format settings, GOP                     : M=3, N=50

    In Adobe info, not in Handbrake
    Language                                 : English

    In Handbrake info, not in Adobe
    Color range                              : Limited
    Color primaries                          : BT.709
    Transfer characteristics                 : BT.709
    Matrix coefficients                      : BT.709

"Audio" info is almost identical (I set Handbrake to passthru), just subtle differences:
    (Adobe Only)Source duration                          : 43 min 10 s
    (Adobe Only)Source stream size                       : 98.0 MiB (3%)
    (Handbrake Only)Title                                    : Stereo

Any advice on where to go from here? If there is a way to get Adobe to output to an identical codec configuration, that would be ideal to test next. Alternately, if I can make Handbrake encode the way Adobe does, I could at least see if that causes a fail. Either way, if I can alter either output file to closer match the other, it might reveal why the Handbrake file works, and the Adobe file doesn't.
I can obviously resolve my issue be encoding in Adobe, and then re-encoding the file in Handbrake so I have one that will work when chapters are added, but I'd prefer to avoid the double encode if I can.
I've put the mediainfo files in Dropbox if anyone wishes to browse them in full:
https://www.dropbox.com/sh/dontq1jdc4ipfez/AACb8jH1Q7Qrn9sghLo9Ir-ca?dl=0

In Subler > Preferences > General try disabling Chapters: Create preview images at position: and then add Chapters and save a file and see if that resolves the issue?

@sfxedit Thanks for the suggestion, I've already got this disabled in Preferences. I seem to remember turning that off earlier on while investigating this. I toggled on/off again and created another file just to be sure, but still not working once chapters are added to the Premiere MainConcept encoded file.

After a bunch of further testing and investigation, I've come to the following conclusions:

The file format Adobe Premiere uses is a function of their MainConcept codec/encoder. It's the file format they use, you can't change it, it's coupled to the encoding process. I had previously assumed the codec just encoded the streams, and Premiere packaged the file, but this appears to be an incorrect assumption.
If you install a different codec into Adobe Premiere (Voukoder, TMPGEnc), you will get a different format file, more similar to handbrake/ffmpeg.
If you take the Adobe MainConcept file, and do a stream copy with ffmpeg, you can get a repackaging of the file without changing the encoded data. i.e. ffmpeg -i "adobe.mp4" -c copy "ffmpeg.mp4" - exact same video/audio data, but packaged more like the handbrake format (which I believe handbrake uses ffmpeg, so no surprise there)

So I've figured out how to get the file how I want it, which is to either change the codec Premiere is using, or to repackage the Adobe Premiere file with ffmpeg. Either  way gives me a file that once the chapters are added, it still works on the problematic devices.
I would still be interested as to why these various methods package the same encoded data streams into slightly different formats, i.e. why have different formats been implemented in the various different pieces of software, but that info doesn't seem to be readily available. It would be useful to know if MainConcept have a particular reason for selecting their file format - perhaps using the other formats, which work better with chapters embedded, have drawbacks in other areas. Someone also pointed out that there might not be an issue with the MainConcept file at all, Subler might simply not understand that one properly, and be causing an issue with it, where it doesn't on the other formats. Without further info, and time to start digging into files with a hex editor, that's not really possibly to know either.


text:
How do you make consistent effects on different clips in premier?
I've got a method for making subtitles for videos. They need to grow onto the screen from small to big, then shrink again before the next line pops up. My way of doing this is setting keyframes in the effect controls, first small, then big, then big, then small. This achieves the effect nicely. The problem, however, is when I try to apply that effect to the rest of the subtitles (there are too many to do by hand). I copy it and paste attributes to the others, so they get the same keyframes. That mostly works, but it appears to calculate keyframe positions based on clip length so that the longer clips have slower effects. This is subtle, but noticable.
How do I make the words grow at a consistent rate? So all the subtitles would grow from 30% scale to 100% scale in a set number of frames, like 4?


text:
Scrolling Titles are cut off in vertical video
I'm editing a video in vertical/portrait orientation and I'm trying to have scrolling credits. The credits don't scroll in at the bottom of the video and the don't scroll out at the top. It looks like they're bounded by a horizontal/landscape box.
What do I need to change to have them scroll from the bottom of the video to the top of the video?

Double tapping on the bounding box revealed anchors that I used to stretch to the top and bottom.


text:
How to add a few seconds of gap between looped audio in FFMPEG
I am trying to loop a voice.mp3 in FFmpeg. And it is looping successfully with the stram_loop X command.
But the problem is it's looping breathless. How can I add a few seconds of silence between loops?

You'll have to create a padded version and loop that.
ffmpeg -i voice.mp3 -af apad=pad_dur=2.0 padded.mp3

and then
ffmpeg -stream_loop X -i padded.mp3 ...


text:
How to setup Sony A58 for clear movie recording?
I have a Sony A58 camera and 18-55mm lens. I did some recordings with AF (Auto-Focus). The frames are a bit blurry. They are actually clear, but it seems to me like the camera is taking two shots and then overlaying these to images to form a frame.
When playing the video this comes off as the video is blurred but when I pause the video, you can clearly see the two images in one frame.
I tried different different shutter speeds with MF with no change in the output.

The solution is to change the video file format in the Menu:

From AVCHD to MP4.


text:
Possible reasons of choppy video
I have a very specific goal: there is a device which is advertised to be able to playback my own media files from USB-pendrive, and I'm intended to do so.
Further details are not disclosed about supported codecs, containers, fps, etc, so I did the easiest way first and tried with a h264 video in MP4 container:
Format                                   : MPEG-4
Format profile                           : Base Media / Version 2
Codec identifier                         : mp42 (isom/mp42)
File size                                : 23,0 MiB
Duration                                 : 6 perc 22 mp
Bitrate                                  : VBR 505 kb/s
gsst                                     : 0
gstd                                     : 382688

Image
Streams                                  : 1
Format                                   : AVC
Format profile                           : Main@L3.1
Format settings                          : CABAC / 3 Ref Frames
Codec identifier                         : avc1
Duration                                 : 6 min 22 sec
Bitrate                                  : 373 kb/s
Width                                    : 1280 px
Height                                   : 720 px
Ratio                                    : 16:9
Frame per second                         : fixed, 23,976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bit
Data size                                : 17,0 MiB (74%)
Color range                              : Limited
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709
Codec configuration box                  : avcC

Sound
Streams                                  : 2
Format                                   : AAC LC
Codec identifier                         : mp4a-40-2
Duration                                 : 6 perc 22 mp
Bitrate                                  : VBR, 128 kb/s
Channels                                 : 2
Channel layout                           : L R
Sampling rate                            : 44,1 kHz
Frame per second                         : 43,066 FPS (1024 SPF)
Compression mode                         : Lossy
Data size                                : 5,84 MiB (25%)
Language                                 : English

Video playback started, but it was choppy, here is a sample (audio is also chopping, in-sync with video):

This is an in-flight entertainment, so I don't really have too much trials, and I have to prepare before getting onto the plane.
What could be the reason this video is that choppy, and what would you recommend me to try?
Resolution seems reasonable, bitrate is not high, duration not too much, codec is a well-known one.
I would be interested in which parameters might worth changing. I'd put various versions onto a thumbdrive, and give them a test.

There could be many reasons, for example: that device can have very low level hardware decoder or low quality USB port (especially if the device does not come from some widely known and good brand). The first thing I would try is to use the Base codec profile instead of the Main one, the second thing is to downscale the resolution.


text:
Displaying a clip in a transparent rectangle
So I have Downloaded the dynamic, zoom out-in youtube subscribe thingy and now Im just wondering how can I set my clip into the transparent rectangle, which is changing it's with and height in time (with some ease timing)
Is there a way in Davinci resolve to merge a clip into a transparent rectangle with automatic 'scaling'?

You want the final output to contain transparency?  Because that’s possible as long as you use a codec which supports it, but it’s not very entertaining.  It does make sense if you’re building a graphic for future re-use, which is why I’m asking for clarification.

In the final output, I want to 'insert' my video into the transparent part which you see in the screenshot.
The tricky part is that the transparent part is changing its measurements (width/height), so I can't just crop/reside my video into that, as it will not follow the dynamic width/height change.
So I was wondering whether there is an option to just 'put' my video into that transparent rectangle so that it will automatically adjust itself it its measurements

so you want to track the corners to correct translations (scale, rotation, location, perspective) but you just want to use scale and location?

@desperrrr yes, thats the goal

@Jakub have you tried using the planar tracker node in the fusion tab? there are plenty of good tutorials out there on how to use it (cant give any links at the moment)


text:
AE composition with MOV footage not rendering in Media Encoder
I am relatively new to After Effects and Media Encoder.
I have an application that is monitoring a folder for media delivered by a 3rd party. When that media arrives, I move the media to a watch folder setup in Media Encoder together with an AE project file - the intention being that Media Encoder will render out an MP4 file that I can then use elsewhere.
The AE project file contains a composition that renders (among other things) some MOV footage. The application, AE and Media Encoder are all installed on a Windows 10 virtual machine. AE is configured as a render-only node. I also have the HEVC and HEIF extensions installed.
This is largely working as expected - except the MOV footage is rendered as a test pattern. All other parts of the composition are rendered correctly.
If I drop the MOV footage directly into Media Encoder, the footage is rendered correctly.
If I configure AE so that it is not a render-only node, the MOV footage is rendered correctly.
If I try the same setup, but with aerender.exe, the same thing happens - where the MOV footage is expected, there is just a black screen.
The same happens even if I drop the files into the watch folder manually. I've even tried collecting the files to the same location - still no joy.
Has anyone experienced anything like this and able to offer some advice please? Or perhaps how best to include MOV footage in a composition? If necessary I could pre-convert the MOV footage to MP4 (or other format) to be used in the composition instead. I have spoken to Adobe about this, but unfortunately they were unable to help as this is the first time they've seen this issue...


text:
stabilizing a sequence shot that moves along a path
which is the best method for stabilizing a Ronin hand held sequence shot that moves along a path? I'm using DaVinci Resolve and Blender.

just to clarify as its not 100% clear. you want to stabilize a shot made on a drone? if that's not what you're trying to do then please provide more details :)

It's an hand held sequence, walking between two walls, with nobody in front of it, so I don't have any  clear target to follow, everything is passing, I imagine I should search for averaging many different stabilization paths.

in the inspector tab of DaVinci Resolve in the edit page, if you scroll down you should see a stabilization tab, under it, there are a bunch of options you can use to stabilize your clip. play around with the settings or you could watch some YouTube tutorials about it. I would link some good ones but I'm unable to access YouTube at the moment. if that doesn't work you can try blender and ask on the blender stack exchange website for better answers. hope that helps.


text:
After Effects: Moving Protected Areas from a parent compositions in time
I recently learned about the neat responsive design feature in after effects called "protected areas". While understanding the need and basic functionality of that feature, I am still wondering if there is a way to change the position of a protected area from a parent composition.
Example: I have a composition A with 3 protected areas. One at the start of the comp (intro animation), one at the end (outro animation) and one right in the middle of the comp (animation to visualize a state change). Now once I put comp A into another comp B, I can see my protected areas being higlighted in blue. If I drag and drop the end of my placed comp A, the comp's duration will stretch while remaining the duration of each protected area. However, the space between each protected area is always equal obviously. What I am trying to achieve is to shift the position of the centered protected area to the left or right. This way I would be able to place my state change animation whereever I need within my parent comp.
I hope my problem/wish gets clear and one of you has a solution in mind to tackle it.


text:
ffmpeg atrim not working with shorter video - results in same duration as wav file
I have a 16 second video that contains an audio stream and a 4:18 audio file (music). I want to fade the audio and trim it to end at 16 seconds. Here's what I'm trying:
ffmpeg -i test.wav -i test.mp4 -y -filter_complex "[0:a]afade=t=out:st=12:d=4:curve=qua[faded];[faded]atrim=0:16,asetpts=PTS-STARTPTS[aout]" -map 1:v -map "[aout]" -ac 2 test-render.mp4

The video renders with no errors and watching the time I see it end at 15.99
frame=  480 fps=115 q=-1.0 Lsize=    3992kB time=00:00:15.99 bitrate=2043.9kbits/s speed=3.84x

BUT, the resulting video is the duration of the audio file - 4:18.
The audio fades and the video stops right where it is supposed to but freezes at 16 seconds. Here's ffprobe for the resulting video:

No matter what I've tried I can't seem to figure out how to resolve this.
I'm using ffmpeg 4.4.1
Any help would be greatly appreciated. I'm stumped.

Add -report and rerun. Share link to report.

It looks like there's an issue with the audio file itself. I tried with a different audio file and it rendered a 16 second video as it should have. I rendered an m4a that shows to be 16 seconds in any player, such as the one in Finder. But when I run ffprobe on it I see the duration showing to be 4:18...
Duration: 00:04:18.35, start: 0.000000, bitrate: 7 kb/s
Also see that Stream #0:1 contains useless metadata.
 Stream #0:1(eng): Data: bin_data (text / 0x74786574)
Metadata:
handler_name    : SubtitleHandler`


text:
How to stretch multiple images in Davinci Resolve to fill a blank space in a video
I am using Davinci Resolve. I would like to stretch a few images over an audio to fill the empty space. I was wondering if there is a systematic and quick approach to achieve this.
One easy solution would be to simply drag each photo or using some math, I can use a formula like:
the length of audio/the number of images
to find the appropriate length for each picture. But if there are too many images, then this would be cumbersome. I was hoping there is a nicer way to achieve this. I have included a screenshot.

What OS? You can do this in seconds in Apple Photos, or minutes in iMovie [with better control].

not able to test this theory at the moment but you could try selecting all the clips and pressing Ctrl + D or right click > change duration and change the duration accordingly. as i said, this might not work as im not able to test it at the moment


text:
Using a video as alpha mask for another on Davinci Resolve
Sorry I'm new, i can't find a tutorial to do this: i have a normal video and another one that i would like to use as an alpha mask to 'smooth borders' in davinci resolve, here is an example of my mask

Can i do it on DaVinci Resolve? I suppose i should do it in Fusion, but can't figure out how.
Thanks

You can simply add it to Fusion, and then pipe the alpha video into a MatteControl node. Alternatively, if your image does not have an alpha, but is just black to white gradients, you have to first go into a bitmap node like this:

Now configure the bitmap node to use Luminance instead of Alpha as the channel:

Now you can use the output of that bitmap as a mask in the blue inputs of nodes, or as mentioned in the MatteControl.
Or if you're using a Merge, you could also pipe it into the mask input of the merge node.
You could in theory also pipe it into the blue mask input of the source footage, but that makes it so every instance of that footage will have the mask applied, so it's not reusable, which we generally try to avoid.
So you can see the full setup here: (Note that Garbage mask of the MatteControl has to be set to invert)

Both MatteControl and Merge have multiple inputs and a ton of settings. I have tried both and couldn't get them to do this dead simple masking. Davinci nodes are quite frustrating :(

Hi @mik01aj I added an explanation that shows how to do it with an image that doesn't have an alpha channel (Which I assume is your issue). Nodes can be a bit difficult to learn at first, but make things much easier once you understood them :) Don't get discouraged! If you're still confused, you could join the Blackmagic Discord: https://discord.gg/blackmagic-design-community-479297254528647188 where people are happy to help and it's easier than on Stack Overflow :)

Thanks for the details! The thing that confused me is that I need a bitmap node to convert an image to a mask (I'm guessing this is what it does). I'm coming from Blender where nodes are generally much simpler and they convert the datatypes automatically.

The issue is that Fusion wouldn't know what your mask should be. Every image node has basically 4 channels: Red, Green, Blue and Alpha.
You can use the image as a mask input, but then always the Alpha is used as such.
So now to tell the program, that you want to use the RGB channels as mask, you put them through the bitmap which selects which channel (In this case luminance - the mix of RGB) should be used as a mask.

Had a similar need and didn't find a ready answer.  Also very new using fusion.  I ended up doing most of what @TimothyLukasH. described except I piped the bitmap straight into the clip that needed to be masked.  Worked perfectly

@MichaelH Late reply, but yes that works. However it's often unfavourable, since you "irrevertably" destruct the original video and cannot get it back without the mask applied. (You can of course just remove the mask, but then you gotta rebuild your tree). So generally, at least when making bigger comps, it's recommended to not directly mask your mediaIns.


text:
Compressing video to specific size accurately
I'm using guide provided at this page to compress videos to specific size with ffmpeg. The sizes I'm aiming are relatively small (8mb wanted compared to 50mb original) and when I'm trying to compress video by inputting the calculated bitrate according to the guide into ffmpeg the result sometimes overshoots the target size and it's not fine for me. One solution could probably be to target sizes smaller (-0.5mb from wanted), but that's not really what I want it to be.
I assume that some bit of file is dedicated to store some metadata which is not important for me. My strategy is to guess what the size of that metadata will be and target the wanted size minus the size of metadata.
Of course, there could be something else that may increase filesize. So, the question is, how to compress video with ffmpeg to target size with more precision?

Encoding to a specific size is hard, sometimes, data is just not more compressabale than it is already. Try to aim below the bitrate that you want. If it doesn't at all want to go lower, you'll have to lower resolution, bitdepth or framerate

@TimothyLukasH. It does go lower when I aim for lower sizes, so it's definitely compressable.

Then you'll have to just set a lower target. There's no way to foce VBR to a specific size. Otherwise you'll have to use CBR (Constant Bitrate) but that may be negative on image quality.

Quality is not that much of a deal, honestly. I'm fine with that.


text:
Ignore region of video for vidstabdetect
I am using ffmpeg with vidstabdetect and vidstabstransform to (try to) stabilise some rather shaky footage.
The input file has a time stamp at the top of the video.
In the transformed video you can see this timestamp moves around a lot but it never rotates, while the video is still all over the place in terms of rotation.
I strongly suspect this is because the timestamp is confusing vidstabdetect (not unreasonably)
I want to keep the timestamp on the final video.
So far I didn't pass any parameters to vidstabdetect and vidstabtransform as the defaults appear to be reasonable (e.g. I think rotation is enabled by default)
Is there a way I can ignore a specific region of the input video while vidstabdetect does it's thing, while keeping that region in the final video (despite any rotations that may be present)
Or, if this can't be done with vidstabdetect, is there an alternative filter I can use with ffmpeg

You can use a crop filter in the detect phase. I do this to ignore the date/timestamp in the bottom of my old videos. E.g. for my 1440x1080p 60fps video I use
-vf "crop=1440:750:1:1 , vidstabdetect=shakiness=1:stepsize=2:mincontrast=0.6"


text:
How can I set the colours in libass subtitles?
ffmpeg allows you to pass parameters through to the subtitling library, libass. For example:
# this is wrong
# 0057b8=blue, ffd700=gold
ffmpeg -i original.mp4 -vf "subtitles=russian.srt:force_style='Fontname=Gill\ Sans\ MT,Fontsize=20,borderstyle=3,outline=3,OutlineColour=0057b8,PrimaryColour=ffd700'" -y rc1.mp4

If you try to set the colours, you will probably get them wrong on the first attempt:

The colour format used by libass is really weird: &HAABBGGRR (alpha, blue, green, red). This is backwards from the standard web ordering, &HRRGGBBAA (red, blue, green).

The alpha is inverted: 00 is fully opaque, and FF is fully transparent.

You have to spell it the British way. PrimaryColor and OutlineColor will fail without an error.

The correct form of the command line above is
ffmpeg -i original.mp4 -vf "subtitles=russian.srt:force_style='Fontname=Gill\ Sans\ MT,Fontsize=20,borderstyle=3,outline=3,OutlineColour=&H00b85700,PrimaryColour=&H0000d7ff'" -y rc1.mp4


text:
MOV file contains data from "Apple Elementary video MPEG-2 Media Handler" codec. How do I access it in current MacOS?
I am helping a director access an archive file of a documentary. The file is presented as a 3GB MOV.
FFmpeg indicates the following:
  Metadata:
    major_brand     : qt
    minor_version   : 537199360
    compatible_brands: qt
    creation_time   : 2011-02-06T03:17:28.000000Z
    com.apple.quicktime.player.movie.audio.gain: 1.000000
    com.apple.quicktime.player.movie.audio.treble: 0.000000
    com.apple.quicktime.player.movie.audio.bass: 0.000000
    com.apple.quicktime.player.movie.audio.balance: 0.000000
    com.apple.quicktime.player.movie.audio.pitchshift: 0.000000
    com.apple.quicktime.player.movie.audio.mute:
    com.apple.quicktime.player.movie.visual.brightness: 0.000000
    com.apple.quicktime.player.movie.visual.color: 1.000000
    com.apple.quicktime.player.movie.visual.tint: 0.000000
    com.apple.quicktime.player.movie.visual.contrast: 1.000000
    com.apple.quicktime.player.version: 7.6.9 (7.6.9)
    com.apple.quicktime.version: 7.6.9 (1680.9) 0x7698000 (Mac OS X, 10.5.8, 9L31a)
  Duration: 00:50:17.15, start: 0.000000, bitrate: 8539 kb/s
  Stream #0:0(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, 2 channels, s16, 1536 kb/s (default)
    Metadata:
      creation_time   : 2011-02-06T03:17:28.000000Z
      handler_name    : Apple Sound Media Handler
      vendor_id       : [0][0][0][0]
  Stream #0:1(eng): Data: none (m2v  / 0x2076326D) (default)
    Metadata:
      creation_time   : 2011-02-06T03:17:28.000000Z
      handler_name    : Apple elementary video MPEG-2 Media Handler

The bitrate and duration of the file indicates there is definitely data in the video stream, although it can't be accessed.
From research, it appears that the "Apple elementary video MPEG-2 Media Handler" was the (very) old quicktime MPEG-2 component that was active in early versions of quicktime, but is now no longer supported in current versions of MacOS.
So, how do I get access to the vision in this file?

Pure guesswork.. Maybe QT7 - https://support.apple.com/kb/dl923?locale=en_GB or for Windows - https://support.apple.com/kb/dl837?locale=en_GB Or even QT6, no idea how safe this link is - https://www.macintoshrepository.org/2473-quicktime-6-0-3 nor do I know what these will run on. You might end up needing a VM to get them running.

Have you tried viewing it in VLC?  https://www.videolan.org/vlc/  sometimes it can play codecs that other players can't?  Also Blender has a built in video editor that sometimes can render files QuickTime / Adobe products won't in my experience. https://docs.blender.org/manual/en/latest/compositing/introduction.html


text:
How can I extract all the speech sections (as an audio file) from a videos?
I have several videos from movies,  which contain sections where the characters are talking with other types of sections (background music only, sound effects,  etc.). I'd like to extract the speech sections only. I'd like avoid finding the sections myself manually.
How can I extract all the speech sections (as an audio file, not a transcription using speech-to-text) from a video?


text:
AE: Character Offset to Randomize Specific Pairs of Letters
I'd like the bottom left text to do the same as the top right, but the randomized text should be limited to "ATCG" in pairs (e.g. "AATTCCGG), instead of numbers. Is there a way to do this with expressions? Preserve Case &  Digits seems to keep the random text to pairs, but I'm not sure how to make an expression so that the pairs are limited to As, Ts, Cs, and Gs. Thanks!

Here's my updated way of doing it.
A couple of points:

This method will only work with fixed width fonts
Make sure you have an even number of characters in your plain text layer.  Add a space on the end if you don't.

Make two identical text layers. In my example, they are labelled "AGCT text" and "plain text".
In the "ACGT text" layer, put the following expression into the Source Text control:
n = 4; // how many pairs of characters (starting from zero, so 0 to 4 is 5 pairs, so 10 characters).
letters = ["A","T","C","G"]; // array of possible characters to use
str = ""; // string we will print

for (i = 0; i <= n; i++){  // start a loop, repeat it n times

    var m = Math.round(random(3)); // pick a number between 0 and 3
    j = letters[m]; // make a variable using one of the characters
    str += (i > 0 ? "" : "") + j + j; // append that character to the string twice
}

str // print the string

Add a text animator to both layers.
Set the opacity on both text animators to 0%.
In the Advanced settings of the text animator, set the Shape to Square.
Animate the "plain text" animator so that the "Range Selector 1" Start control is 0% at the beginning of the animation, and 100% at the end.  Make sure the "Range Selector 1" End control is set to 100% throughout.
Now animate the "ATCG text" layer:
Set the "Range Selector 1" Start and End controls to 0% at the beginning of the animation.  Set the End control to 100% at the end of the animation. Make sure the Start control is 0% throughout.

Thank you! I have to use Source Sans Pro Bold for the font, but it seems to work even though I'm not sure if it's fixed width. Sorry for the confusion, I've been told it should actually not be pairs, but instead just a random assortment of As, Cs, Gs, and Ts. I thought maybe getting rid of the "n=4" might do the trick, but that breaks the expression. Is there a way to do this?

Change the “j+j” bit to only one j

Thanks @tomh! That did the trick. Like you said, the font needs to be fixed width so that the ATCG layer takes up the same amount of width as the plain layer. It's not completely clean the way I have it, but I think it will work. I'm curious, how did you get so good at expressions?

I'm not!  Googling around and trying out snippets of other people's code!  http://motionscript.com/ and  https://creativecow.net/forums/forum/adobe-after-effects-expressions/ are both v useful (and this site obvs)

This is super helpful. I'll definitely be using these resources going forward. Thanks!


text:
Best robotic camera mount for 'high speed' panning?
I see all of these robot panning mounts, but all of them are for time lapses and are very slow. I simply need to replace the human hand with something more exact.
I need a camera mount that can turn 90 degrees at a constant speed in a short amount of time (1-2 seconds) and with good precision. It would preferably have options to adjust the speed and tell me the angle the camera is currently facing.
Any recommendations?

Welcome! What is your budget? What is the weight of the camera you want to mount? Do you need to integrate with an existing control system?

Budget is $1000 or so, camera weight is a couple pounds (cannon eos 70d) and I dont need to integrate it with a existing control system


text:
FFmpeg parameters for Fisheye image correction
I am trying to achieve two things:

Fisheye video to equirectangular
Fisheye video to Flat (if I understood correctly, it is a non 360 interactive image. For this I need just the fisheye image but without distortions).

Camera specs: https://documentation.meraki.com/MV/Viewing_Video/Understanding_Image_Quality_on_the_MV32
For test purposes I am using an image as input
For 1), I am using ffmpeg -i input_file -vf v360=fisheye:e:ih_fov=180:iv_fov=180:pitch=90 output_file This command gives me a rectangular image where the half upper is blank/white, and when testing in https://renderstuff.com/tools/360-panorama-web-viewer/ the user can navigate through this white space (not what I want). If I crop and remove the white part, the image in renderstuff becomes distorted.
For 2), I tried ffmpeg -i input_file -vf v360=fisheye:flat:ih_fov=180:iv_fov=180 output_file but it doesn't seem to correct properly.
FYI this video will be published in AntMedia server to be used as an iframe in web applications.

Related: https://video.stackexchange.com/questions/14772/correct-lens-distortion-with-ffmpeg


text:
DaVinci Resolve 16 - Can you embed markers as chapters into the rendered metadata?
In DaVinci Resolve 16, I see that you can edit the Metadata and that will get embedded into the mp4 container.  I also noticed that if an mp4 has embedded Chapters that Resolve doesn't recognize those as markers in the timeline.. In VLC, the chapters show up just fine however.
Is there something I'm missing in Resolve that enables that functionality? The ability to embed markers as chapters in the files container as well as recognizing said embedded chapters?
Thanks


text:
Searching an Adjustable Distortion ' filter ' for video
Playing a 720p movie file  by VLC-mediaplayer (working normally with all other videofiles), gave a peculiar distortion, intermittently showing rather interesting visually pleasing patternings. Tried to find a video distortion filter by diverse terms in google but came up empty, only visual effect tips using adobe and the like that don't get to too interesting  results. Could anyone please let me know of a way to get an adjustable/modifiable video distortion mechanism or "filter"? Something that messes the videostream image up in several ways and in a fine-grained manner.

I  sampled some more worthwhile images to show what i mean: a bunch of jpegs meant to be quite  small in size, since it was made from a 720p video.                                                                            https://jmp.sh/N1wIWP4                link to uploaded jpegs

The jpegs lost lots of detail in transitioning through pinnacle rendering and mediaplayer single frame screen capture, yet still provide a vague argument that a willfull mind can understand.


text:
Extend video by exactly one frame using ffmpeg
I'm trying to use the Low Resolution Video files created by a GoPro camera as proxy videos to the HVEC clips for video editing. I'm running into a slight issue in which the camera seems to cut the last frame from these low resolution videos. I'm attempting to fix this issue by grabbing the last frame and then attempting to concatenate it to the proxy video while also preserving the start timecode.
So far I was able to run the following to grab a screenshot of the last frame:
ffmpeg -sseof -1 -i VIDEO_PROXY.MP4 -update 1 -q:v 1 last.jpg

Everything else I've found is to create a video of the image for N seconds and then concatenate it to this proxy video, but this is adding more than one frame and messing up the time codes.
I'm thinking there is probably a straightway of doing what I need using ffmpeg?