text:
Use ffmpeg to create a video from a few images
I trying to create a video using FFmpeg from a few images. I tried several ffmpeg commands but I can't repeat each image for several frames, instead, each image is one frame size and the video result is too short.
The idea, in general, is to obtain a video like:
Firs_image during X seconds, Second_image during X seconds, Third_image during x seconds...
There is any command to accomplish this?

Use
ffmpeg -framerate 1/X -i img%d.png -r 25 -pix_fmt yuv420p out.mp4

e.g. for each image to show for 2.5 seconds,
ffmpeg -framerate 1/2.5 -i img%d.png -r 25 -pix_fmt yuv420p out.mp4

To get each image to have a different time shown, instead of all images having the same time, you'll have to use the concat demuxer and a text file.
Create a text file like the following, ordering the images as you'd want them.
file img_001.jpg
outpoint 5
file img_002.jpg
outpoint 3
file img_003.jpg
outpoint 9
.... [keep going until you've included all the images]

Then you run the following command:
ffmpeg -f concat -i [name you gave above text file] [your commands] output.mp4

Explanation

The command uses -f concat demuxer to add all the files listed in the text file to a single output.
The text file lists the file name, then lists the amount of time to show it in seconds.
If just the three files in the example are run, you will get a 17 second video that shows 3 images; the first for 5 seconds, the second for 3 seconds, and the third for 9 seconds.
The framerate will be whatever you specify under [your commands] (the correct flag here would be -r) or default to 30 fps (I think) if you do not specify anything.
You can give partial seconds with a decimal.
You can put full file paths with the file name, but will also have to include -safe 0 after concat for it to work. This is not necessary if they are relative paths.

Differences when working with video files instead of images:
In the text file, the format is usually like what is found in this similar question/answer, where you specify an "inpoint" as well as an "outpoint". The inpoint is where in the video input timeline you want to start, and the outpoint is for how many seconds you want to go. However, when the input file is an image (instead of a video) the inpoint creates an error, so you have to leave it out.
A Caveat
The concat demuxer requires all input files to have the same streams. This means basically everything like framerate and codec must be the same, but the container can be different. I've never tried this method with different image types, but I assume something like a mix of jpeg and png inputs would throw an error.
If you want to concatenate files of different types, you will have to use the concat filter. It's not as intuitive, but you have full control and won't need a text file. The above demuxer solution in the filter form looks like this (line breaks added for readability):
ffmpeg -loop 1 -t 5 -i img_001.jpg
               -t 3 -i img_002.jpg
               -t 9 -i img_003.jpg
       filter_complex "[0:v]
                       [1:v]
                       [2:v]
                      concat=n=3:v=1:a=0
                      [outv]"
                      -map "[outv]"
       [your commands] output.mp4

Basically, you name all the inputs at the beginning of the command. -loop 1 lets ffmpeg treat the images like looping video, so you don't have an inpoint. A video file can specify an inpoint with -ss before the -t, and will take 0 seconds as the default if not specified. filter_complex does all the work. The items like [0:v] are calling the inputs, specifying which input (the full syntax is 1 [0:v:0], where the first number is the input file and the second number is the stream, but you don't have to specific the stream if there is only 1 in the file). concat=n=3:v=1:a=0 tells how many files the filter should expect (n=3) and how many video and audio streams to output (v=1:a=0). [outv] Is kind of like a user created variable and this same principle is used on far more complex filter chains. You would either send this variable to additional filters, or map it to the output (-map "[outv]").
To add an audio stream to the output file, the command changes only slightly:
ffmpeg -loop 1 -t 5 -i img_001.jpg
               -t 3 -i img_002.jpg
               -t 9 -i img_003.jpg
               -t 17 -i audio.wav
       filter_complex "[0:v]
                       [1:v]
                       [2:v]
                      concat=n=3:v=1:a=0
                      [outv]"
                      -map "[outv]" -map "[3:a]"
       [your commands] output.mp4

We added a fourth input, a wav audio file and specified with -t 17 that will only take the first 17 seconds of it. Again, you could write -ss 10 -t 17 which would get you 17 seconds starting at the 10 second mark. 17 was chosen here because that is the sum of the other input lengths. If you do not specify matching input lengths for your audio and video you will get unexpected results and possibly errors. ffmpeg doesn't automatically close off the output to the shortest input, but the flag -shortest literally does this for you, so you could have used that option instead. The filter doesn't change, because the filter is only working on the video output, but we do need to map the audio input using the same syntax -map "[3:a]".
Like I said, the filter is not very intuitive, and using it requires yet more unintuitive use of flags outside of the filter to get your desired result. If you need further help writing your filtergraph or even the whole command, ask another question or follow the links I've already given.


text:
FFMPEG, Extract first frame and hold for 5 seconds
I'm trying to overlay a 15 second video transition on the beginning of an image sequence (png sequence with an alpha to reveal the image below), which I can do fine with the overlay filter.  But I want to hold the first frame of the image sequence for 5 seconds before playing the animation.  I've tried trim/select but I can't seem to get it be a duration of 5 seconds, I also can't seem to concat it back with the other video to do the transition. So my questions are:

How do I get the first frame and hold it for 5 seconds, the method below works but doesn't seem like the best method?

-start_number 501 -framerate 30 -t 60.0 -i input1.%04d.jpg -framerate 30 -t 15.0 -i transition1_%03d.png -filter_complex "color=c=red:d=5:s=480x270:r=30[bg]; [bg][1:v]overlay[transhold]; [0:v][transhold]overlay=repeatlast=0[out]"

Can I then easily concat that with the original or is it better to do two overlays with the start of the actual transition offset by the length of the hold?

Thanks
Nick

For the 2nd question my code would look like this: -start_number 501 -framerate 30 -t 60.0 -i input1.%04d.jpg -framerate 30 -t 15.0 -i transition1_%03d.png -filter_complex "color=c=red:d=5:s=480x270:r=30[bg]; [1:v]split[trans][transhold]; [trans]setpts=PTS+5/TB[trans];[transhold]select=eq(n\0)[transhold];[bg][transhold]overlay[transhold]; [0:v][transhold]overlay=repeatlast=0[tmp1]; [tmp1][trans]overlay[out]"

Use
ffmpeg -start_number 501 -framerate 30 -t 60.0 -i input1.%04d.jpg
       -framerate 30 -t 15.0 -i transition1_%03d.png
       -filter_complex "[0]loop=149:1:0[bgheld5];
                        [1]loop=149:1:0[fgheld5];
                        [bgheld5][fgheld5]overlay=eof_action=pass"  out.mp4

The first frames of both sequences are repeated 149 times, so that there are 150 instances (30 fps x 5s). The 0 at the end of loop is the starting index of the frame(s) to loop. The middle 1 is the number of frames to loop starting at the index in the 3rd argument.

Great, that's pretty much exactly what I was looking for.  The only difference is I don't need to loop the first input so my filter is "[1]loop=149:1:0[trans];[0][trans]overlay=eof_action=pass"

source: Stack Exchange

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

sort: votes


text:
Finding frames in video that match an image
I'm trying to find frames in a video that match a certain input image.  I'm currently using this command:
ffmpeg.exe -i video.mp4 -loop 1 -i image.jpg -an -filter_complex "blend=difference,blackframe=99:32" -f null -

This spits out the frames whose difference between the input image is less than 32 for 99% of the pixels.  The problem is the process doesn't appear to stop.
Sample output (exited manually - video is only 8mins long):

[Parsed_blackframe_1 @ 0000000003421660] frame:6498 pblack:100 pts:3326976 t:216.600000 type:P last_keyframe:6496
[Parsed_blackframe_1 @ 0000000003421660] frame:6499 pblack:99 pts:3327488 t:216.633333 type:P last_keyframe:6496
[Parsed_blackframe_1 @ 0000000003421660] frame:9839 pblack:99 pts:5037568 t:327.966667 type:P last_keyframe:9832
[Parsed_blackframe_1 @ 0000000003421660] frame:9840 pblack:99 pts:5038080 t:328.000000 type:P last_keyframe:9832
frame=18321 fps=495 q=-0.0 Lsize=N/A time=00:10:25.26 bitrate=N/A speed=16.9x
video:8731kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Exiting normally, received signal 2.

Is there a way to tell ffmpeg to stop once it reaches the end of the file, or is there maybe a different way to achieve what I'm trying to do?
I'm using version ffmpeg version n3.2.9-1-g519a54c

is there any command with "ffmpeg.exe" or it should be only "ffmpeg"

The blend filter can be told to terminate with the shortest input, which in your command, will be the video.
-filter_complex "blend=difference:shortest=1,blackf...

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

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


text:
Vector image from AI to AE
I've ben watching tons of videos and read a lot of forums about this problem, but still cant find the solution...
The thing is that everybody says to put every object on different layers and then import the file like Footage... merged layers... then convert to layerd comp or create shapes from layers and so on... but my images are still blurry, even though i klick the button to continuosly rasterize.
this makes me crazy
please for any help.

Remember that After Effects is a raster (meaning a grid of pixels, as opposed to vector, and as opposed to Haile Selassie, Lion of Judah) application, like Photoshop. It can use vectors, but the output will always be a raster. So the ultimate resolution of your text depends on the resolution of your comp. So while clicking the continuous rasterisation will give you the smoothest results, the results will be limited to the pixel grid of your comp.

So you have to design with the resolution of your finished product in mind, which sets a lower limit on the size of elements like text. Think that's bad? Try designing for standard definition interlaced video designed to be distributed on VHS. You kids don't know how good you gots it.

It looks like you're zoomed in 2400%. If you view at 100% it should look smooth. I think the "blur" is just anti-aliasing.

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


text:
Encoding Problems in 2019 Premiere, AfterEffects and Media Encoder
I know this question was asked before, and I've read pretty much all of them and I have no solution to this. Until recently, I could render everything just fine but when I am rendering a 2 minute 1080p video, it is taking ridiculously long (see the image for details). Last time I checked, it was showing around 8 hours or so and it keeps increasing. I've tried encoding in Adobe Media Encoder 2019, Premiere and After Effects and the result is all the same. Normally it would take me only a couple of minutes to render such short video on my system.

Ryzen 5 2600X 6 core CPU
32GB 3200mhz DDR4 memory
RTX 2060 GPU
All of the project files are on Samsung 970 evo plus M.2 drives
I've tried encoding with CUDA supported and software only encoder
I've tried different presets as well as my desired export settings and it's all the same
All of my drivers are up to date (including GPU).

I'm about to lose my head because I have to deliver this within 3 days and now this is happening. Anyone experienced this before? Please help if you know anything about this, I'm desperate.

I have had lots of weirdness with Dynamic Link recently with the latest versions of creative cloud 2019.
Sometimes it goes really slowly when you have projects that include linked AE comps in Premiere.
I would try exporting any comps from AE as proRes files, into premiere. Then exporting your videos directly in Premiere without using Media Encoder, and see if that makes it any quicker.


text:
Simulating 1080p pan shot by cropping stationary 4K fisheye footage?
I want to achieve a panning shot, but I can't move my camera. The camera is stationary for reasons outside of the scope of this question.
Can I throw on a fisheye lense, film in 4K, and then process it to appear as if I'm panning the camera from 1 corner of the frame in the original footage to the other side of the frame? I don't think this is the same as 4K live cropping, as I imagine I would need to do some processing to invert the barrel effect.
Does this make sense mathematically? Will the result look any good, or will it be "obviously wrong"? What is the best way to get a good result?

Panning means rotating the camera on a tripod. The fake panning you want to do will look more like trucking. The look is different as you won't get the angular movement.

Without adjusting for perspective distortion, the panning doesn't look real.
The solution is a reframing algorithm that takes perspective distortions= calculations into account in addition to panning and/or scaling the shot. Here is one such solution:
https://revisionfx.com/products/relens/premiere-pro/

Yes, you can do this successfully. I did it with an overhead 4K action camera with a fixed fisheye lens (YouTube video here).
You'll want to remove the distortion in software to "square it up". Then you have some room to zoom in and pan. However, you effectively lose some resolution with the lens correction. You can only zoom in so far before it's noticeable.  Obviously it's not as crisp as nice 1080 video, but it may be perfectly fine depending on your requirements.

Thanks for the share (great video btw!) and quick response. Helpful, but this is only part what I need, however. Whereas your video is a slow pan as if it were on a dolly, the result I'm looking for will be a fast pan as if handheld. I'm worried that the perspective will look off and this will be obvious on a faster pan. Thoughts?

This one pans farther and faster: https://www.youtube.com/watch?v=-QKJ7xHPkYY. You can add some camera shake to make it look handheld.


text:
ffplay won't play internal(embedded) subtitle?
I want to play videos with their embedded subtitles, which is possible using VLC or even my smart TV. Both recognize the subtitle and play(show) it.
Since ffplay is my favorite player, I want to do the same thing via ffplay, but I didn't make it. I can play external subtitles using -vf "subtitles=filename.srt", but no chance to play internal subtitle. It looks like not detected by ffplay, but ffprobe shows the subtitle stream information.
Anyone knows how it's done?
Thank you guys

I don't believe ffplay has support for 608/708 captions.

You can use subtitles filter like your example in your question but point to the same input file:
ffplay -vf subtitles=input.mkv input.mkv

If you want to choose a different subtitle stream then use the stream_index option. This example will choose the third subtitle stream:
ffplay -vf subtitles=input.mkv:stream_index=2 input.mkv

Or use mpv player and press j or use --sub=1 option.

This works, but something is wrong.  The video window opens late(about 5~6 seconds), and it kills the disk I/O and CPU!  In fact, The problem is with every seek of video(arrow keys), ffplay copy the entire video file somewhere and causes lag in playing(5 seconds).

@mohammads Maybe a bug. I don't know. Consider making a bug report. But I don't know of a better method at the moment. Or use mpv instead. It's a lot like ffplay and supports FFmpeg filters.


text:
Can't apply transition effect between clips in Premiere Pro
This is really annoying me a lot. I have two clips with the exact same properties next to each other. I usually add a 'dip to white' transition between clips, but somehow I can't apply it between those two.

How is this possible?

First, add your desired transition to your timeline, allowing it to be applied to only one of your clips for now:

Select the transition and open the Effect Controls panel:

Finally, from the Alignment dropdown, simply select the "Center at Cut" option:

The transition will now be applied to both clips!

When you apply a transition between two clips, Premiere needs to use the frames of footage for each clip that go to the start and end of the transition. If there's no footage past that point, it won't allow you to apply the transition.
Consider my illustration below.
You may need to have some footage remaining after the end of your clip to allow for this. Re-import or trim your clips to allow some footage to 'show' underneath the dip to white.

I struggled with this for hours before finding this answer. It works great!

Here is the solution:

It's really simple when you know it :)

Welcome! Can you summarize the contents of the video in case it becomes unavailable to people who find this in the future?

This is the best! Thanks


text:
ffmpeg video generation process optimization
I am generating video using ffmpeg by combining images, audio, logo and some text sliding from right to left. Currently I am using four different ffmpeg commands to complete my video generation process.
Command 1: Below command combines the images and output a video with desired animation
ffmpeg \
-t 5 -i 1.jpg \
-t 5 -i 2.jpg \
-t 5 -i 3.jpg \
-t 5 -i 4.jpg \
-filter_complex \
"[0:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=out:st=4:d=1[v0]; \
 [1:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v1]; \
 [2:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v2]; \
 [3:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v3]; \
 [v0][v1][v2][v3]concat=n=4:v=1:a=0,format=yuv420p[v]" -map "[v]" -s "800x450" ./out_fade.mp4

Command number 2: Then I use this 2nd command to add audio to my video.
ffmpeg -i 'input_video.mp4' -i 'audio.mp3' -codec copy -shortest video_out.mp4

Command number 3: This is used to add logo to my video on top left location.
ffmpeg -i 'input_video.mp4' -i 'logo.png' -filter_complex "[0:v][1:v] overlay=25:25" -pix_fmt yuv420p -c:a copy 'video_out.mp4'

Command number 4: This is used to add the sliding text in a red box at the bottom of the video screen.
ffmpeg -i video_input.mp4 -vf "drawbox=y=ih-80:color=#ef2626@0.8:width=iw:height=80:t=fill,drawtext=text='This is a testing text example.':expansion=normal:y=h-line_h-20:x='if(eq(t\,0)\,w\,if(lt(x\,(0-tw))\,w\,x-4))':fontfile='Lora/Lora-Regular.ttf':fontcolor=white: fontsize=40" video_final.mp4

This process is slow I think and I am thinking is it possible I can combine these 4 processes into one or at least reduce it to two commands?

Here's the combined command,
ffmpeg \
-i 1.jpg \
-i 2.jpg \
-i 3.jpg \
-i 4.jpg \
-i 'audio.mp3' \
-i 'logo.png' \
-filter_complex \
"[0:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=out:st=4:d=1[v0]; \
 [1:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v1]; \
 [2:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v2]; \
 [3:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v3]; \
 [v0][v1][v2][v3]concat=n=4:v=1:a=0,format=yuv420p,scale=800:450,setsar=1[v]; \
 [v][5]overlay=25:25,drawbox=y=ih-80:color=#ef2626@0.8:width=iw:height=80:t=fill,drawtext=text='This is a testing text example.':expansion=normal:y=h-line_h-20:x='if(eq(t\,0)\,w\,if(lt(x\,(0-tw))\,w\,x-4))':fontfile='Lora/Lora-Regular.ttf':fontcolor=white: fontsize=40" \
-c:a copy -shortest ./out_fade.mp4

Thanks this worked like a charm.


text:
Is there any way to record external audio from a Canon Rebel R6?
I am looking at buying a Canon Rebel T6 to record video, but would like to have better audio than the built in microphone. Is there any way, with an adapter or otherwise, that I can use this camera to record video with externally supplied audio?

Welcome to Video Production Stack Exchange!
Bad news first-
Unfortunately, you are stuck with the in-camera mic with the T6. The T6i has a microphone jack for mounting an external microphone. If you want to mount an external mic to a Canon Rebel T6 body and record that audio stream to the same SD card, that's really your only option.
However
Can you elaborate a little on what your uses for the video are and what your workflow is?
I have shot on a T6 and T6i extensively and I eventually determined the workflow that was best for me was to use a Zoom H4N as my primary sound recorder (placed somewhere out of sight in the shot) and synced the audio streams together in Adobe Premiere during post production.

That's more or less what I've decided to do. Will record audio with a dedicated recorder, which actually will be kind of nice as I can set up the camera wherever will best work and not have to connect them together. Not what I expected, but will work. I currently use Adobe Premiere, and will do a test tonight to merge the two together, and a better test in a few days.

As you probably know, using a slate or having someone involved clap on-screen at the beginning will help sync the sources in post.

That's exactly what I'm doing. The first video I tried this with I just synced the source as heard by the camera as the one from the recording, and things seem to have worked out just fine. Still working on the focus, but... I'm getting this! https://www.youtube.com/watch?v=eYQxzStuxzM


text:
Restore Video from Audio in Premiere
Say I add a bunch of Audio/Video clips to a sequence, then replace the video with an After Effects composition, that was currupted. Premiere was closed and re-opened. The audio is still there but the video is missing.
Is there any way to restore the video to the audio clip that was deleted?
I tried this solution for deleted audio, but it didn't work for deleted video.

If the audio track was from a video clip in premiere, and was not replaced by the after effects comp, it should still be present in your project, and you should just be able to use the Match Frame command to find and resync the video to your audio.
Even with thirty clips, it shouldn't take that long if you use keyboard shortcuts.
Something like:
Select the first piece of audio in your timeline.
Set your in point on your timeline "i"
Press "f" to match frame
Press "." to replace the video at the correct point
(and repeat)


text:
Would 2 lights solve my DSLR green screen noises?
I would like to make a presentation at the background and the human which is "green screened".
I tried with my DSLR Nikon D5200.
So for now the result is like in this short video: https://streamable.com/nf5tk.
The result is quite bad, because of noises. I tried to use small lamps to fix it but I could not. I read a lot and ask a question here already and it seems that fix can be made only by adding more professional light.
So I would like to ask if 2 softboxes with 4 bulbs each, 35W, 5500K would fix it? Is it enough? Would it fix noises at the human body in the video I have posted? I think to put them 45 degree in on both sides pointed at the human and green screen which is behind the human.

Eventually I can buy the third lamp like below and point it in front of the human. But I would prefer to save this money, since recording video is not my hobby.

The result of your key depends on many things. It would have been really nice to see a still of your footage before you keyed it. I believe you are working in after effects, which has a pretty solid keyer built-in called "keylight". Using the clip white and clip black settings under the matte-section will help you clean noise from foreground and background. You might want to throw a "roughen edges" onto your keyed footage and set everything to 0 before raising the amount gradually, which will give you a bit of a softer edge.
Other than that, proper lighting will be your only hope. Look for wrinkles in the screen, or shadows you or anything else throws onto it. Try standing as far away from the greenscreen as you can to minimize spill (the bounces green light thrown back at your body) and to avoid shadows of yourself on the screen. If the color of the greenscreen differs from the foreground at every place and has no shadows or wrinkles on it, you should be good to go.
If you want to you can send me a short clip of your unkeyed footage so I can try to key it as best as I can, so we can see how far you can push your current setup. Have a blessed day :)

Thanks a lot for the reply. I have uploaded the video before I keyed it: https://streamable.com/xwdkm. I work with Da Vinci Resolve, sorry for not claryfing this before. There are no wrinkles, but there could be the shadows. ISO was around 1200. Also the pitty is I can stand around 60-80 centimeters from the green screen. Thanks a lot for advices and the offer of keying my sample video. I would not like to use your time too much. Just, if you, please let me know - should I go with 2 LED lamps or go with 2 softboxes (4x35W) or 1 LED in front and 2 softboxes is the must? Bless day for you! :)

Thank you for uploading the original file. I would not recommend keying in Resolve, it's not the worst tool for it but certainly not the best. I tried two methods from within After Effects, one with denoising (using neat video) and one without, then keying the footage with keylight. Here is the project file if you are interested:
https://drive.google.com/file/d/1hC7ml0QC9wNWwMKEe-c2W0COzomFGHRV/view?usp=sharing
You do have some shadows on your screen but they're not really a big problem. I would try to get less noisy footage by lowering the iso, so getting some lights might actually help :)

Hi Florian, I am very thankful for your answers. I am ordering 2 softboxes for sides. If that doesn't help I would order the fron LED light too.
For now I need to just cut myself and put on my slides. So I prefer easy and free software. Plus I would prefer that it works on Linux (but this is not a priority). But video editing looks kind of fun for me (I have different proffesion). So if I get into this I would definitely consider After Effects as your recommendation. I wish you good luck in video editing and life at all. Best Regards Florian!

Some thoughts about this question.

it seems that fix can be made only by adding more professional light.

Where to start?
The problem you have is noise. Period.
Noise is a product of low light, yes, but where does this low light is originated is the real question.
What aperture are you using and why? what shutter speed and why? and after these considerations you are probably compensating with high iso.
The answer to noise is simply more light. Open a window, put a brighter light bulb or put the lights closer to the subject.
"Professional light" does not say much. You need to understand the characteristics of light.

Power
Color
Color rendition
Quality (size)
Direction
Distance (falloff)
Quantity

if 2 softboxes with 4 bulbs each, 35W, 5500K would fix it? Is it enough?

This answer is probably a bit late and you have already solved your question. But the answer is yes if they are at the proper distance considering other factors like the aperture of the lens.
The led light does not provide a real advantage to the problem, it has a different quality compared to the softbox but has other advantages like portability, but all those are different issues.


text:
How to correct tbn for files with ffmpeg?
I have the following files (all .mp4). Whenever I want to concatenate them, the timestamps apparently get broken. Is there a way to correct those files with transcoding?

No need to transcode, it can be done via remuxing.
ffmpeg -i in.mp4 -map 0 -c copy -video_track_timescale 30 out.mp4

where 30 is the new tbn value.


text:
Lowering preview resolution for better on-the-fly timeline rendering in Davinci Resolve
I used to work with Vegas a lot, but my organization is now using resolve. One feature I’ve been missing and trying to find an adequate replacement for is the ability to have the little video preview you see while editing be at a lower resolution than the actual video, so that it can render faster and be smoother while you’re editing. As it is, resolve is trying to run that preview at full resolution and with my PC specs it’s just not going to happen. I’m pulling about 5-10 FPS which is very disruptive to my editing flow. In Vegas there was a simple drop down menu next to the preview pane where you could select the resolution to preview in (full, half, quarter, or auto); it doesn’t seem to be that simple in resolve but is there anything that would have the same effect?

I believe Proxy Mode is what you are looking for. You can find it in the Playback Menu.
Playback > Proxy Mode >


text:
Smallest Possible Video File in H.264 Format
I am writing some unit-tests for a software that does some work with videos.  To do so, I need a programmatically generated video file that is both small and legitimate in that it is actually a sensible video from the point of view of a codec.
An idea that came to mind was to produce a video of a single frame of a solid color. I have tried that in Apple Motion. However, the file still ended up being about 8KBs. That is not so big, but I am wondering if one can do better.
Do you have any advice on how? I would be happy with MP4 container.
To give you an example of what I may be after, here is a list of HEX codes that produces a small but valid .PNG image:
png_hex = ['\x89', 'P', 'N', 'G', '\r', '\n', '\x1a', '\n', '\x00',
           '\x00', '\x00', '\r', 'I', 'H', 'D', 'R', '\x00',
           '\x00', '\x00', '\x01', '\x00', '\x00', '\x00', '\x01',
           '\x08', '\x02', '\x00', '\x00', '\x00', '\x90',
           'w', 'S', '\xde', '\x00', '\x00', '\x00', '\x06', 'b', 'K',
           'G', 'D', '\x00', '\x00', '\x00', '\x00',
           '\x00', '\x00', '\xf9', 'C', '\xbb', '\x7f', '\x00', '\x00',
           '\x00', '\t', 'p', 'H', 'Y', 's', '\x00',
           '\x00', '\x0e', '\xc3', '\x00', '\x00', '\x0e', '\xc3',
           '\x01', '\xc7', 'o', '\xa8', 'd', '\x00', '\x00',
           '\x00', '\x07', 't', 'I', 'M', 'E', '\x07', '\xe0', '\x05',
           '\r', '\x08', '%', '/', '\xad', '+', 'Z',
           '\x89', '\x00', '\x00', '\x00', '\x0c', 'I', 'D', 'A', 'T',
           '\x08', '\xd7', 'c', '\xf8', '\xff', '\xff',
           '?', '\x00', '\x05', '\xfe', '\x02', '\xfe', '\xdc', '\xcc',
           'Y', '\xe7', '\x00', '\x00', '\x00', '\x00',
           'I', 'E', 'N', 'D', '\xae', 'B', '`', '\x82']

This almost sounds like a job for code golf. https://codegolf.stackexchange.com/

I am familiar with code golf and even played some. How do you reckon this is a good fit? :-)

Well if you consider writing a h.264 file could be considered writing code—it's a piece of code that gets rendered to produce an image, juts like a piece of html gets rendered to produce a web page. Maybe a stretch, and I don't know how many golfers would be familiar with the intricacies of h.264, but it's trying to produce the smallest valid piece of code.

A one frame H264 stream would have to consist of an intra-coded frame, so there is a size floor in effect.
This ffmpeg command produces a 1.7 kiB file
ffmpeg -f lavfi -i color=blue:s=1280x720 -vframes 1 out.mp4

You can save ~200 bytes by lowering the resolution.

Out of interest, why blue?

No reason in particular.

I tested it and found that if you use white instead you save 6 bytes.

There's a lot of plain text in the header, e.g. there's a copyright notice and a URL H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - http://www.videolan.org/x264.html. I tried just yeeting it out with a text editor but the resultant file wouldn't play. I'd say you could optimise it a bit more by studying the mp4 file format more than I have time to do: http://xhelmboyx.tripod.com/formats/mp4-layout.txt

That's not MP4 data, but SEI unit inserted by the x264 encoder. Yeah, that could be filtered out. I wasn't trying to absolutely optimize the size.


text:
get the position of a specific vertex in an After Effects shape
Is it possible to get the position of a specific vertex of an After Effect shape ?
something like
var shape = parent.content("Shape 1").content("Path 1").path.value;
var vertexes = shape.vertices;
var startVertex = vertexes[0];

...

[x,y]

But this code does not work...
Thanks.

As of 2019 you can access a path of a shape or a mask like so:
myShape = thisComp.layer("Shape Layer 1").content("Shape 1").content("Path 1").path;

The path property is an object containing collections of points, inTangents and outTangents. It has three methods for obtaining the vertex details, points() returns the vertices, and inTangents() and outTangents() return the tangent handle positions if they have any. Each method optionally takes a time parameter to specify what time the data is retrieved. e.g.:
myPoints = myShape.points(); //you can optionally specify the time, e.g. .point(t=123)
myPoints[0]

myInTangents = myShape.inTangents();
myInTangents[0]

In addition there are other methods for getting an arbitrary point on a path not at a vertex, and for finding out if the path is closed. It's a world of fun! Read the docs here

that is wonderful ! thanks.


text:
Why two focus controls on Canon KT14X44KRS?
Apologies if this is a video camera question rather than a video question.
My JVC GY-HM700 camera lens, Canon KT14x44KRS has both a focus control, that goes from relatively close to infinity, and a macro control that shifts the entire focal range closer, starting somewhere inside the lens hood.
This means that if I'm filming something moving towards the lens, at some point I have to take my hand off the focus control and quickly adjust the macro control, then go back to the focus control.
Is this so that you have finer control of the focus when focusing on something that doesn't move too far toward or away from the lens? I guess I just find it a confusing control scheme, as I would have expected one focus control to cover the entire range. Is it because it's implemented with multiple Independent lenses?


text:
Display one decimal point after a whole number after divided by 10
I have a slider-controlled source text which I try to sync with the corresponding graph bar. What I need is, to display one decimal point after the value of the slider is divided by 10. That is, if the slider's value is 80, I want to display the value, 8.0 on the source text. Of course I need the zero, after the 8, which is a whole number.

For recent versions of AE (AE 2019+)
you can use the javascript Intl.NumberFormat object, which does all the formatting for you without any tedious string munging and regex and all that carry-on.
var sliderVal = thisComp.layer("controller).effect("206")("Slider");
Intl.NumberFormat('en-AU', {minimumFractionDigits: 1, maximumFractionDigits: 1}).format(sliderVal/10)

the en-EN part is the locale string, and is your preferred locale, in other words, your culturally specific way of displaying numbers (en-AU is for Australia, and uses . for the decimal separator and , for the thousands separator). This makes it super easy to format, because it handles things like thousands separators, currency symbols and even what characters you want. You want it in Chinese decimals? Sure use 'zh-Hans-CN-u-nu-hanidec' and it will look like
一,六二九.二
The second parameter is the options, and here we get to specify things like minimumFractionDigits and maximumFractionDigits. You can also zero-pad the number with minimumIntegerDigits, so a zero-padded number with 5 digits and one decimal place would be specified thus:
Intl.NumberFormat('en-AU', {minimumIntegerDigits: 5, minimumFractionDigits: 1, maximumFractionDigits: 1}).format(theNumberToFormat);

Read the docs here
It's worth noting that the usual suspect for number formatting someNumber.toLocaleString(), which is much simpler, doesn't work for what you want. For some reason in AE's implementation of JS it always returns two digits and adding maximumFractionDigits as an option doesn't work.
For earlier versions of AE
Here's how to get the 1 decimal place after the number:
var n = Math.round(theNumberToFormat *10)/10;
(n % 1 === 0)? '' + n + ".0": n

The first line rounds off any digits after the first decimal, the second is for when the number is an integer (when n % 1 is 0, % being the modulus operator which returns the remainder of the first number divided by the second), which would normally display with no decimal. If it is, it treats the resulting number as a string and adds '.0' to the end of it. If you want thousands separators you need to do some further trickery, that's a common JS question on SO, e.g. here.
var n = Math.round(theNumberToFormat *10)/10;
n = (n % 1 === 0)? '' + n + ".0": n
n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");

The last line is fancy regex voodo, I don't know exactly how it works, it's got something to do with lookaheads and whatnot. But it works.

I'm using Ae 2015 version

Have you tried it? There were a lot of undocumented goodies in earlier versions, you never know…

Sorry I'm very new to slider expressions, could you please tell me, that how I use that second line with that thisComp.layer things?

Ps. Ah I got the result...!! thank you dude!!

Replace theNumberToFormat with the number you want to format. So if you use the first line of the other expression, it would be n

PS, don't thank me, mash that tick button. It helps others find the answer too

Done, and thank you agian :-p


text:
How to use chroma key to replace design of complex object?
For an upcoming shoot I need to create a classroom set, but I don't have access to the school tables I need to create the desired effect; instead, I was thinking about filming with simply IKEA tables painted in blue/with tracking markers and replacing with a 3D model. I've never tried anything like this before, nor do I have PP/AE (I mostly use Hitfilm basic and Blender, + Fusion 360 for 3D modelling (my only paid software)), but I need the actors to interact with the table, placing objects on it, etc. so I can't just superimpose the model over a blank plate.
I'm mostly trying to find the most fail-safe way over necessarily the easiest, although I don't exactly want to spend much money, hence why the chroma key solution looks appealing. The end goal is to map the model onto the real table (which is of the same shape), not to use chroma key necessarily.
I was wondering if anyone has any experience with this sort of thing, and if so, I'd like to hear any potential pitfalls or advice about full-scale object replacement of this form (maybe chroma key is not the simplest method?). Advice on lighting the complex shape sufficiently, or placement of tracking markers, is also appreciated.

Do not paint the tables, wrap them in green fabric. It is cheaper and you will not mess the tables.

What you are thinking about is a very great way to save production costs and is used in many cases on many sets. Here is what your pipeline would look like:

Shoot the footage with green tables
Track the movement of the camera (using pfTrack preferably, but after effects can do the trick too)
Importing the tracked movement into any 3D-software such as blender
modeling the table so it fits the dimensions
moving the 3D-camera using the tracked data, so the 3d-camera matches the real camera.
rendering the sequence (preferably as an image sequence, such as .exr or .tiff)
importing the 3D-asset into the compositing-program (such as After Effects)
Keying out the green table and "replacing" it with the cgi table.

These steps are requiered only if you have a moving camera. If you don't, you can scrap points 2, 3 and 5. So if you want to save effort in the post-production, you can try to lock down your camera and put some artificial movement on your footage once it's composited.
Now, the tricky part is getting the shadows and the perspective right. Make sure to pack something like a grey-ball, or something matte and something shiny, so you can hold them in the frame to have a reference for later. You might need to fake the contact-shadows of the arms and hands when they are placed on the table. All of this is manageable from inside After-Effects though, no need to fire up heavy artillery like Nuke.

Thanks for your answer! It seems very detailed. Just one question: could you please expand a little on how the shadows could be mapped? I understand the part about getting the correct colour/angle using reference objects, but I don't really know how to know where the arm is in 3D space to tell AE/Blender how to render the shadows.

I wouldn't take the approach of trying to render the shadows in 3D. In most cases, it is convincing enough to draw a translucent shape inside a compositing program such as After Effects which mixes with the original footage. If you want to be absolutely correct, you would most likely have to model the arms and hands in blender from scratch and put up a shadow-catcher which you will render in a separate pass, so that you have an image sequence of only your shadows. I would recommend the shapes inside After Effects though.

It might be false economy to try to do this in post. If you cost the time you will spend getting it to look halfway decent, it might work out a lot more expensive than going to your local furniture dealer or antiques shop and asking if you can borrow / rent a desk that looks like what you actually want.
A lot of smaller shop owners are happy for the publicity and will loan stock items for short periods in return for credits, or let you rent items, particularly things like antiques and second-hand goods. This is a pretty standard thing to do for indie film-makers, and I think will probably work out a lot more convincing than trying to do it with 3D.

Thanks for your answer. Out of interest, when you say that small shop owners usually lend or rent items, where is this? I live in the UK, so I was wondering if this was custom here, too.

This is from experience working on indie films in Australia. I never had any thing to do with the actual negotiations, the art department people did it all. The deal was that we had insurance for anything we borrowed, and the fee varied according to how receptive the shop owner was.


text:
Problem with Adobe Premier masks
I have added a text, created a mask and put mask on the text and when I want to move text, mask moves with it, how can I achieve a result, when mask remains and text moves

Nest the text layer, so that the animation works in within the composition and then mask the nested composition.


text:
How to avoid quality loss on yotube/fb when encoding images into video via FFMPEG
I created a video from a bunch of images off my camera using FFMPEG. I set it to 10fps. The output video looks fine. As soon as I upload it to Facebook or Youtube the quality is reduced significantly.
Here is the command I used to create the video:
ffmpeg -framerate 10 -pattern_type glob -i 'resized/*.JPG' -s:v 1280x720 -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p  out.mp4
Each image has been resized to 1000x1500 pixels.
Screenshot from video from ffmpeg: https://www.dropbox.com/s/r3v30lj15a5hl6a/local.png?dl=0
Screenshot from video from Youtube: https://www.dropbox.com/s/qrur54r7xsnnrxs/youtube.png?dl=0
If you look carefully you can see the Youtube one is missing a lot of sharpness and detail. It looks much worse when playing through the video.
FYI - I know nothing about video encoding, I just googled for the ffmpeg command so most likely I am doing something silly.
Thank you!

YouTube re-encodes whatever you give it. The process is lossy so there will be a quality reduction. All you can do is give it a very high quality:
ffmpeg -framerate 10 -pattern_type glob -i 'resized/*.JPG' -vf scale=1280:-2 -c:v libx264 -crf 17 out.mp4

Use -crf 17 or -crf 18 for higher quality.
Try without -pix_fmt yuv420p. I'm not sure what YouTube uses for pixel format conversion, but perhaps it will look better than the FFmpeg swscale if they are using something different.
No need for -profile:v high. Let the encoder choose. You usually only need to set a profile when your target device is limited in profile support.

Great, thanks I will give it a shot.

Wouldn't 4:2:2 be a better option?

@stib It is unknown if the OP additionally wanted to play the output in non-FFmpeg based players. Also, the JPG input pixel formats may be 4:4:4, so choosing 4:2:2 would not be ideal in that case if a user wanted to let ffmpeg automatically choose the "best" pixel format (yuvj444p in this case) and make YouTube do the conversion.

Of course. I realise I misread "try without" and thought you'd suggested "try with".


text:
Light wavelengths and color reproduction / grading
I have some typical LED desk lamps that I am using to light a human subject indoors.
The light hue from these lamps looks white to the naked eye.
The intensity of light is more than sufficient, but when it comes to grading the footage it looks almost colorless when I reduce the red component.
Could this be because the wavelengths of light emitted from these lights is not uniform across the spectrum?
Does this mean I need to get film lights that emit light right across the visible spectrum?
Will cheap LED photography light panels deliver wide spectrum light that will enable accurate color reproduction in post?

You are facing a low CRI index.
https://duckduckgo.com/?q=Color+Rendering+Index
CRI is the Color Rendering Index, and this means, effectively that you do not have enough light across the spectrum.
Some lights emit only portions of it, and our brains adjust the color to what they think the color should be, but as a mechanical/electronic device, a camera is more limited to what actually is receiving.
Look for higher CRI lights. The scale limit is 100, meaning that the light emission spectrum would be the same as the daylight. So the closer to this number the better color you will get. For practical purposes, a CRI above 85-90 could be decent enough. One above 95 can be considered a "Pro-level"
If you search a store, a lot of led lights mention the CRI value, use those terms on a search, for example on the Amazonian river store "LED LIGHT CRI".

lights is not uniform across the spectrum?

The spectrum does not need to be uniform, it just needs to be "uniform" enough compared to daylight spectrum (which is not uniform at all)

It looks almost colorless when I reduce the red component

You need to differentiate the CRI to the color temperature. You need additionally to check two factors.

The color temperature of the Light (Warm, cold)
And if you are setting your white balance correctly on camera.

It also could be corrected to some degree using a custom color profile or using some "pro-grading" program. Give Davinci Resolve a Try.


text:
Premiere Pro - How to paste effects? (namely opacity)
I am familiar with the copy and paste attributes method for pasting effects on multiple clips, however when I tried this method to paste my opacity keyframes from one clip to another, nothing happened.
All I'm after is some animated opacity levels (start from 50% reach 100% opacity in the middle of the clip then at the end of the clip bring the opacity down to 0%).
Question
Does paste-attributes not work for opacity? If not, what is a similar labor-saving solution I can try?

The method you describe should work.

If you need to copy opacity effect with keyframes, you should select keyframes and press CTRL+C, then select clip on timeline and move playhead to time where you want to put first keyframe, then select effect controls window and click CTRL+V to paste. That's all.

In such way you can copy keyframes from one clip to another.
If you want to copy keyframes from one clip to a lot of other clips, you can create preset in such way:


text:
How can I remove a crowd of people from a scene while keeping one person in the shot
I'm trying to film in a city with one person being the focus point, and the goal is to make the city look deserted.  If the city is always busy and full of people, is there a way for me to remove the people in After Effects or Premiere Pro?  I would think that one could just make a composite shot of only the parts of the image that stay constant, but I have no idea how to even approach that.  How can I do this?

Have you looked into the new Content-aware fill feature? It might be what you're looking for.
https://helpx.adobe.com/after-effects/using/content-aware-fill.html

@Joshjurg I've definitely used that a lot in photoshop, didn't know it was in ae.  Thanks!

Yeah, it was a new feature added this past spring. On the rare occasion I used it, it rocked for what I needed.
For this need though, the scene may be too busy for this approach.

Is the camera moving? If it's a still shot you could make a clean plate of the empty city in Photoshop and use a green screen for the actor. If you don't want the shot locked-off you can cheat add some movement to the frame in post, but big changes in perspective would require recreating the city in 3D.

Interestingly one of the earliest photographs of a human being was by accident — owing to the extremely long exposures required by the early emulsions, anything moving would blur out. In a photo by Louis Daguerre there was a guy standing having his shoes shined and he appears to be the only person in Paris. You could use the long exposure technique to get your background.

The frames are most likely going to be still, as I don't have a steadicam and would prefer the frame to not be shakey


text:
Any tips how to increase editing speed on Premiere Pro?
I'm using old notebook, which has a bit trouble with editing fottage highier than fullhd.
Is there any approach, how I can, for example work with small files first and than final export will process originals ?
I don't mind longer final render as long as I can do the edits, cuts, colors, effects smoothly without lagging.
Thank you!

I use Cinegy Daniel2 codec for editing in Premiere Pro. This codec take more space on disk, but work veeeeery fast compare to H264. Also it work more fast for me compare to ProRes.
Cinegy Daniel2 can be replaced with DNxHD MXF OP1a or MXF OP1a. Try these codecs. In Premiere it works very good.
You can convert all your raw files to one of this codecs before work, and then you will have more smooth workflow.
With this codec I could edit multicam 4K video with more than 3 cameras and it worked smoothly.
I have i7-4770K, 24gb RAM and GTX970 GPU. It's a PC from 2013 year (approx).
Also you can convert your videos to lower resolution and link them in Premiere Pro as Proxy files. Then you will edit files with proxy preview, but when you will render them, Premiere will use original full resolution files. When you need you can switch in one click between proxy and original resolution files.

For better understanding you can goole "Premiere work with Proxy files", "Premiere Cinegy Daniel 2", "Editing codecs for Adobe Premiere".
I can't google for you, because I will have most of materials in Russian.
Link to Cinegy Daniel 2 codec.

Wow, this looks epic! /// so, I've installed the codec. In Premiere Pro I already have Export option to Daniel2 codec.
However, how I can work with these files ? Are you first encode all your raw videos to Daniel2 and than work with it ? if so, what's the best approach ? Thank you

Hi. Yes, I put all my video files to Media Encoder and convert them to Cinegy Daniel 2. Then just add this converted files into the Premiere project and work with them.
Sometimes I add them as proxy files. Sometime if I have project with added files and some editing, I've just make offline all files and then relink new .mxf files.
Usually I need to do batch renaming of all Cinegy files, because Media Encoder add "_1" to the end of the files.
You can rename them before export or disable this option in Media Encoder, before adding files for converting.

Thank you! This is so useful! --- Could you explain me better why are you still using proxies ? I mean, if you just convert them all, isn't easier just to work with them directly ? --- I've also noticed that once I play .mxf file in Cinegy player, it has way more flat look than original file, once I do side by side comparasion. If I compare them in Premiere Pro, they look the same. Have you noticed that ? I'm asking because that could be the answer why you might still use .mxf proxies but exporting with originals. Thank you once more!

I use Cinegy Daniel as proxies, probably, because after editing video I need to leave all files on my PC. And in that way I can simply delete all converted material, but leave original files on my HDD. And in this case I don't need to do any relinking.
So, I use Cinegy Daniel only for editing period (it can be 1-2 days, week, month), then, after I've done final render, I delete all Cinegy files, but leave original, more small files for archive.
I didn't open videos in Cinegy Player for comparsion.You can try to change settings of converting and see on result.
You're welcome! :)


text:
What's the difference between Blackmagic Fusion and Resolve?
I'm a total noob to video production in general, but looking to get more into it.  I've become a bit confused looking at some software solutions, though.  I've seen great reviews for both of Blackmagic's products, DaVinci Resolve, and Fusion, which people say work great together, but I don't know enough to definitively tell the differences between them.
My question is this:  What are the specific domains covered by each product?  In other words, what video editing tasks are done in Fusion, vs. Resolve?  How do they complement each other?  Also, are these two pieces of software alone enough to create a full film?  (I'm wondering about audio and CGI in particular here...)

Firstly - Davinci Resolve (since v15) now includes Fusion as a sub-tool. Additionally some component features of Fusion are embedded within the Resolve interface and conversely some features of Resolve are accessible from within the Fusion tool.
So ... I will try and answer below - as if Resolve did not include any Fusion components:
Resolve has its well established roots in Color Grading, but both applications are ultimately editing and compositing tools which can generate, combine and manipulate source material to create desired visual & audio output. Resolve is targeted at Ease of Use, Media handling, Video Editing, Compositing, Color Grading, Audio Engineering,  Audio/Video Effects and Content Delivery. Whilst Fusion is targeted at advanced 2D & 3D Compositing, Visual effects and Motion Graphics.
Fusion is a more complicated tool and typically is slower to work with, but provides advanced functionality, precision, programming and control in the areas of VFX and MG. There are many end-to-end Audio/Video production scenarios where Fusion would not be required.
Typical Use Cases:
Resolve (minus Fusion):

Producing simple videos from source material
Editing complex video sequences
Color Grading / Color Correction (Simple -> Advanced)
Audio Engineering
Transcoding & Final Delivery
Applying Audio/Video effects to existing footage

Fusion (standalone):

Creating/Applying simple Computer-Generated Imagery (CGI)
Generating/Applying advanced 2D and 3D Video Effects (VFX)
Creating/Applying Motion Graphics (Animated Titles and Wurly Spinny things)

Fortunately - Resolve now includes Fusion - so you get the best of both worlds integrated in one hugely powerful application package.
And yes - you can complete an entire Film 'Movie/Short Film/Video' using just Davinci Resolve and Fusion tools.
** Fusion is also available as a standalone product, but the features & functionality of the standalone product are almost entirely available within Davinci Resolve.

I have been using BlackMagic Design Davinci Resolve for sometime and here's a small bit of information which I can share with you.
Davinci Resolve is a video editing software. You can do editing, transitions, world's best colorgrading, audio adjustments and exporting the video from this one software. Davinci Resolve is a complete video editing suite with every every feature that you would require to edit and complete a video. Basically, Davinci Resolve is equivalent to all of Video Editing software in Adobe Video Editing Suite.
Fusion is also offered by BlackMagic Design but in two ways. Fusion comes as a standalone software but also comes integrated in Davinci Resolve. Fusion is like AfterEffects in Adobe ecosystem. You can make effects, transitions, 2D and 3D animations and a lot more.
The stand alone Fusion have a bit more features at the moment but the fusion which comes integrated in Davinci Resolve is getting better with every update.


text:
Unknown stream found in container (likely a subfile): need help identifying/opening it
There's a video I need to view, foreign language film. I was checking it with ffmpeg, and it seemed legitimate except the third stream was something I've never seen before. I want to know what it is and how to view the stream's contents.
I tried dumping it with
ffmpeg -dump_attachment:t:0 subs.txt -i input.mp4

Yet the file that was dumped is invisible...but showed up a number in the file folder. I'm using windows 8.1 and hidden folders/files are set to visible. Maybe my command is wrong and this is a subfile... instead of a information file..(i tried s:0 instead but no difference)? Or I can't dump this? Should I change from .txt to some other extension or what do I need to do to dump and view it?
I just don't know what it is, and i want to know what it is. If we assume it's a subfile, I should be able to open it in a text editor right? So how can I do that...preferably a safe way of doing so.

The 3rd stream in your input is a regular stream. Attachments are basically extradata attached to streams.
You would use
ffmpeg -i input.mp4 -map 0:2 -c copy -f data subs.txt

That created a blank .txt file. I can't get any subtitles to showup in vlc player either, it recognizes the stream tho, so maybe its supposed to be a blank file. What does the "-f data" do? I thought -f had something to do with generating raw data, not sure what "data" does though.

data muxer is for any data (binary/text) to be dumped while avoiding all automatic processing that ffmpeg may perform for streams identified as a video or audio type.


text:
Premiere Pro - Animation - rotate question mark about its "dot"
I would like to create a simple animation effect in premiere pro where a question mark (text) is rotated about its dot. However, what I can only manage to accomplish is to rotate the question mark about its center.
Question
What is the least pain-staking method for rotating a question mark about it's dot? Or, equivalently, is there a way to configure the axis of rotation for an object (text or otherwise)?

The least pain-staking method? Open After Effects, press "y" to move the anchor point and drag it over the dot. If you rotate now, the rotation is happening from the anchor-point.

Cool, but there is no native adobe premiere method for this?


text:
Delta Keyer not working with Clean Plate
In DaVinci Resolve 16, in Fusion, I'm creating a Clean Plate and routing its output to a Delta Keyer to remove the background. While the Clean Plate works well, the Delta Keyer is not doing what I would expect (i.e. remove everything in the Clean Plate).
See screenshot below. What am I doing wrong?

With one exception (Garbage Matte), the Delta Keyer doesn't "remove" things.  What it does is create and/or apply masks and mattes so that keyed areas can be replaced by other things (either within the given Delta Keyer node or downstream in the Fusion composition).  Therefore, to get an effect you want, you need to provide the Delta Keyer with an image or a solid color that you want to use to replace the area of the key you have defined.


text:
Combine -vf yadif,format=yuv420p and -filter_complex for watermark
I have an ffmpeg command using -vf to deinterlace videos and produce pixel format with 4:2:0 chroma subsampling:
ffmpeg -i input.mp4 -vf yadif,format=yuv420p \
-force_key_frames expr:gte(t\,n_forced/2) \
-c:v libx264 -crf 23 output.mp4

Also I have another ffmpeg command to put on my watermark:
ffmpeg -i input.mp4 -i logo.png \
-filter_complex "[1][0]scale2ref=iw/5:ow*450/450[wm][vid];[vid][wm]overlay=W-w-W*3/100:H-h-H*1/100:enable='gt(t,30)'" \
-c:v libx264 -crf 23 output.mp4

I tried to put them together and got this error:
-vf/-af/-filter and -filter_complex cannot be used together for the same stream

I read that -filter_complex can be used for simple filters, and we can chain the filters together, separated by commas, so I created a new command without -vf:
ffmpeg -i input.mp4 -i logo.png \
filter_complex "[1][0]scale2ref=iw/5:ow*450/450[wm][vid];[vid][wm]overlay=W-w-W*3/100:H-h-H*1/100:enable='gt(t,30)',yadif,format=yuv420p" -force_key_frames expr:gte(t\,n_forced/2) -c:v libx264 -crf 23 output.mp4

Is this the right way to combine these two filters?
The console doesn't show the above error but a new error:
Missing ')' or too many args in 'gte(t\,n_forced/2)'
Invalid force_key_frames expression 'gte(t\,n_forced/2)'
Error initializing output stream 0:0 --
[aac @ 0000022fbe6eacc0] Qavg: 118.000
[aac @ 0000022fbe6eacc0] 2 frames left in the queue on closing
Conversion failed!

Please help!

The working answer has been posted below!

Use
ffmpeg -i input.mp4 -i logo.png \
-filter_complex "[0]yadif,format=yuv420p[main];[1][main]scale2ref=iw/5:ow*450/450[wm][vid];[vid][wm]overlay=W-w-W*3/100:H-h-H*1/100:enable='gt(t,30)'" \
-force_key_frames "expr:gte(t,n_forced/2)" -c:v libx264 -crf 23 -c:a copy output.mp4


text:
Video Exporting takes too long in Adobe Media Encoder
I'm using After Effects to create videos and export it via Adobe Media Encoder, but even a 2 min video takes a very long time to export.
I do use Motion Bro plugin, to get some effects, but that's just a transition effect to change from one screen to another.
How can I make it quicker?

Are you exporting to h.264? Try rendering to a master file in a intermediate codec like ProRes, Cineform or DNxHR. Rendering to h.264 involves referencing multiple frames to create the intermediate frames. When those frames have to be rendered first it adds an extra drain on resources, particularly memory.
Is the computer hitting the limits of available memory? This will exponentially slow things down. Check on the available RAM at render time, and if it's getting full you need to take steps to reduce your memory usage. One way is to pre-render sub-comps, another is to make sure images you use are appropriately sized for the output. Time-based effects like echo are big RAM hogs, you may have to pre-render layers with these applied.
Learn how to use the command line renderer aerender.exe (just plain aerender if you're still on a mac). This is between 10% and 4000% (no lie) faster in my experience than Media Encoder, particularly if you have enough memory to spin up multiple instances
since you're using the command line now, why not get MOAR COMPUTAHS on the job? Aerender can be used over the network, so if you have other machines that you can borrow you can create a render farm. You can also use the GUI network renderer if you're not ready to become a fully fledged command line ninja, but I will be silently judging you.
all of these steps assume that the workstation you have is a constant. The single best thing you can do is to get a better computer. Or several.

Awesome, thank you for the explanation. I will give the command line a try. I do get available memory warnings and need to restart to avoid that.
would really appreciate it if you can share some learning docs or videos.
Again, thank you very much.

If it's memory that is causing the problem then things like pre-rendering and project management will make the most difference.


text:
Using super resolution to improve video quality
Is there any publicly available code that uses deep learning to employ super-resolution techniques to improve the quality of video clips?
Or even any free online software?
Thanks.

Yes, there is a method using AI to upscale images:

if you convert your footage into an image sequence using ffmpeg, you could run every frame through such upscaling.


text:
Should I expect worse video quality with GoPro using lens protectors?
Will the video quality be noticeable worse with tempered glass lens protectors on GoPro ?
if so, is it better to use housing for protecting the lens and display?
Thank you

If you use lens-protection of any kind, same with autocue or eyedirect, the additional glass in front of your camera will have some effect, yes. The magnitude of which will vary depending on your uses. Autocue glass usually has a slightly murky / milky look to it and the image might seem a little but soft upon close inspection - I assume the same will go for GoPro lens-protectors, since they are made of similar transparent material. The absolute worst that could happen is to get your protector dirty. If you have splotches of water or dirt on that protector, they will be very visible and distracting.
tl;dr: If you keep the lens-protector clean, you should experience very little effect. If absolute sharpness is a must for you (when you're filming with green-screen for example), then I would not recommend using it.

Chromatic aberration will also be a factor particularly with the GoPro's wide lens. This will show up as purple and green fringes more pronounced towards the corners of the frame.

I don't think that a lens-protector will strengthen chromatic aberration though... (as far as i know)


text:
When using ffmpeg to encode an MP4 for general consumption, should I set the profile and IDC level? (-profile:v and -level:v)
Should I bother setting them at all? Basically, what is the guidance on setting these properties?
The specific ffmpeg flags I'm referring to are -level:v and -profile:v.
The video is intended for general consumption, direct download (not embedded in a web page). So most users will probably play the video however their device tells them to. I would like to know what's the best practice so that the highest number of users can view it without problems.
This question asks something similar, but it has no answer about these two settings.

Let the encoder set the level automatically. The encoder will have a default profile (High for x264) and higher the profile, better quality for a given bitrate or lower bitrate for a certain quality target. Unless you have compatibility concerns, default High is fine as well.


text:
RGB + alpha not working
I'm having this problem where when I try rendering my animation I keep having background color and I tried googling and youtube tutorials on how to make it transparent but whenever I render my composition (which ofcourse doesn't have solid background and when transparent grid is active I see transparency) I still get background color.
I set my render options to QuickTime and color to RGB+Alpha and still get background everytime.
Help me please.

I just finished exporting as a png sequence and I still got nothing, just a bunch of transparent pictures which when I add to AE and try render with transparent video settings, I still fail ...

I came to conclusion that the video I rendered is indeed in alpha mode , but vlc and revolution slider also seems to not support that mode, so I'm kinda fffffffffffffffffffffffffkkkkkkkkkkkkkkkkkkeeeeeeeeeeeeeeennnnnnnnnn

So are you looking for a better Video player that supports alpha? Look for djv, it's a pretty good one in my opinion. If your problem still isn't solved, please elaborate.

I think you might be getting confused. Have you tried re-importing the video back into AE and checking the alpha channel there? Otherwise use your player app's information function to check the pixel format, it should tell you if there's an alpha channel present. MPV (my fave) has this function, as does VLC (tried and tested fave).
Also Quicktime is not a codec, it's a container. Some quicktime-compatible codecs support alpha, some do not. Codecs you could use which do support alpha include prores 4444, DNxHR 444, Cineform, and Apple Animation. Generally these codecs are designed for intermediate use — sending a file to another part of the post production chain — because they're not really optimised for delivery (huge files).

Make sure to render partially transparent clips with a codec that supports alpha. Try using prores4444 and set the colors to rgb+alpha like you did. This filetype and codec should give you a file with a transparent background.

authors: Алекса Јевтић


text:
ffmpeg output file includes two video sequences but input file only one
I want to copy from the source mkv-file the video stream (only once) and the German audio stream and all subtitles if available.
The Problem is that sometimes is the video stream copied twice in the output-mkv-file. I have following:
ffmpeg -y -i input.mkv -map 0:v:0 -map 0:m:language:ger -map 0:s? -c copy output.mkv

What must I change?

Use
ffmpeg -y -i input.mkv -map 0:v:0 -map 0:a:m:language:ger -map 0:s? -c copy output.mkv
You'll need ffmpeg 4.2 or newer.


text:
Adobe premiere pro video overexposed after import
I'm importing Samsung Galaxy Note 10 plus recorded videos with following codec information to the premiere pro CC v13 (windows) and the imported video looks over-exposed with incorrect gamma.

Codec: MPEG-H Part2/HEVC (H.265) (hvc1),
  Video resolution: 1920x1080,
  Buffer dimensions: 1920x1088,
  Frame rate: 29.993225,
  Color primaries: ITU-R BT.2020,
  Color transfer function: SMPTE ST2084,
  Color space: ITU-R BT.2020 Range,
  Max. luminance: 1000.0000 cd/m²,
  Min. luminance: 0.0050 cd/m²,
  Primary R: x=0.1500 y=0.0600,
  Primary G: x=0.6800 y=0.3200,
  Primary B: x=0.2650 y=0.6900,
  White point: x=0.3127 y=0.3290

Video looks normally when playing on VLC media player or on the phone. I have installed kLite Mega codec pack 14.4.5 on my computer. Video become somewhat normal when exposure is reduced in between (-2)-(-3).
If you have any clue on this or a solution appreciates a lot. Thank you.

This happened due to the display's inability to handle HDR videos. Color space: ITU-R BT.2020 defines a HDR video. As a solution I used 'confirm SDR' effect in premiere pro which converts the video into HDR color range.

I suffered from the exact same problem. What you can do (what is a tedious process) is to convert all your hdr files to sdr files as shown in this video with vlc:

Welcome! Link only answers are discouraged in case the contents are no longer available in the future. Can you summarize the contents of the video?


text:
How to render videos with placeholders using API / command line interface?
I would like to be able to automate video creation and rendering.
I imagine the process as creating placeholders, which then can take my dynamic input (images/videos/text).
I would like to know the process of creating videos with placeholders as https://placeit.net/instagram-story-video-template here. Clearly, the video contains a placeholder for the text that we specify. How is this done on the low level?
None of the softwares for video rendering e.g. Final cut Pro etc. can be run on a server using CLI (command line interface).
Which backend / libraries can be used to create something like that?

To expand on Florian's answer: ffmpeg is designed to be used programmatically, and can be scripted to do all sorts of video processing, including adding text and graphics from the command line. If you're using it on a server, it's likely your best bet.
After Effects, a video compositing and animation package from Adobe is capable of a lot more, but is primarily designed to be used as a GUI ap. AE is fully scriptable, which means that you can run it without user intervention, but the complexity involved with scripting it is a lot higher. You'll need a developer who not only knows JavaScript, but also knows After Effects and its object model.
Blender is a 3D application that can also do 2D compositing, editing and animating, and again is scriptable, while primarily being used as a GUI ap. Blender would probably be the most complex one to script, though the development community is probably (?) larger.
Ffmpeg and Blender are free, AE requires a license.

You could write a simple shell script (either for mac or windows) which consists of basic if - then clauses to read the input of the user, then use ffmpeg by calling it from within the script. I believe that ffmpeg might be the most painless option, since scripting for Premiere and After Effects can be a bit tedious.


text:
Can AviSynth handle MTS files?
I want to process MTS (MPEG Transport Stream) files from an AVCHD camcorder in AviSynth. Displaying with AviSource() says that the file couldn't be opened, displaying with DirectShowSource() says that the format is not supported.
I found no information about MTS on the AviSynth wiki. The list of source filters has nothing on MTS or TS. I found a thread about MTS and VirtualDub but I would prefer dealing only with the source file instead of converting to another format.
Can AviSynth handle MTS files?

Use cross-platform wrapper library FFmpegSource (around FFmpeg) — particularly, its filter FFmpegSource2() (instead of built-in AviSource() or DirectShowSource()).
See AviSynth Wiki about it.

I think I was able to use the plugin (with LoadPlugin("/path/to/ffms2/x86/ffms2.dll")), and Media Player says Windows Media Player is unable to open the file. It's possible that Media Player does not support this type of file or that you need a codec that is not installed. [Close] [Help online]. A file 00009.MTS.ffindex appeared next to the source. With the x64 path, I get an error from AviSynth, error 0xc1. Shall I update my question or is it a separate question?

Why not give a separate question? It's better than have 2 question in one.

See this follow-up thread: https://video.stackexchange.com/questions/29137/errors-in-ffmpegsource2-plugin-source-filter-for-avisynth for installation and usage of FFmpegSource2 for MTS and MP4 files.


text:
How to burn timestamp in video with different date format using FFMPEG?
I am using below command to add timestamps to video:
ffmpeg -y -i input.mp4 -vf "drawtext=fontfile=roboto.ttf:fontsize=36:fontcolor=yellow:text='%{pts\:gmtime\:1456007118}'" -preset ultrafast output.mp4

command is working but i don't get desired output. it is adding timestamp like this:

I want to use different date format like this:

Simple Date Format
Date and Time Patterns

I get this date :
2016-02-20 22:25:20

but i want this :
Sat, 20 Feb 2016 22:25:20 -0700

i found my answer in this link:
strftime - format date and time
strftime(3) - Linux man page
ex: i use this command for demo and i made several other command for different date format
ffmpeg -y -i input.mp4 -vf "drawtext=fontfile=roboto.ttf:fontsize=36:fontcolor=yellow:text='%{pts\:gmtime\:1575526882\:%A, %d, %B %Y %I\\\:%M\\\:%S %p}'" -preset ultrafast -f mp4 output.mp4


text:
Where can I find helpfull reference for film making?
I'm looking for sites, books, of video's on how to build scenes, composition and lighting for either 3d animations or filming.
Sites like pinterest and google are not enough to quickly find reference of valueable information on the topics I mentioned above.
For example I'm making a 3d scene with a female character holding a gun in the nighttime. I'm struggling to find a good composition and how to properly light the scene where the character pops out from the background while not overlighting the whole scene.
Who can push me in the right direction?
Also where can I ask for feedback on these topics for my "art"

Sites like google are not enough to quickly find reference of valuable information on the topics I mentioned above

Oh, my...
You live in a privileged era, never, ever in the history of humankind was the information, examples, tutorials, were so easily available.
Where? the internet.
The problem I see without knowing you, but reading your question is that you are not focusing.

3d scene with a female character holding a gun in the nighttime

A torrent of questions:
Is the female a girl, a young woman, an old one; Is it a western, a cyberpunk or an android female; do you want to accentuate the female's curves, probably the hips next to the gun, is she defending herself in fear or she is a badass; is it a thriller or a cop story, a drama, a comedy. Is she facing the antagonist or chasing or running away, is it an interior scene, or is in the middle of a forest... etc, etc...

how to build scenes, composition, and lighting for either 3d animations or filming.

This is even more general... let us forget for now about set design, character design, and storytelling, drama, and rhythm of the scene (all that can be on how to build a scene) and just focus on composition and lighting...
So, look for tutorials on composition, planes, framing, depth of field. What a plane means, what does it say about a character and about the environment.
Now look for tutorials about lighting. Quality of light, the direction of light, the position of light, the color of light.
The keyword is FOCUS on what do you need. Separate the elements.

Focus on real-life tutorials. In a 3D environment is super easy to cheat and not really understanding what is happening.
There are free youtube tutorials of GREAT quality and there are event masterclasses websites with the people you see in the credits of your favorite movies.

Make a new account of youtube, and do not contaminate the search and view history watching memes.
Type a focused and specific search, and let the automatic feed give you recommendations.

One good place to start, for your specific scene is this video:

You also have a ton of websites where you can search for movies. Look for a scene that caught your attention, and again, focus on one topic. Framing? light? expression? color?

Focus.

An additional tip, with a bit more experience, you can simply find a reference image and analyze it a bit.
Again separate the elements and find out yourself what do you need, for example:
What...

Lens
Camera position
Camera distance
Light position in relation to the subject
Light position in relation to the camera

How

Many lights are there
Is the quality of the light

etc. Element by element.

Wow, thanks for this answer and sorry it took 3 months for me to see it.
3D can just be so overwhelming to learn because there is so much to learn. I'm really hoping from fence to fence learning different things to help improve my overall scenes.
I totally agree with you. Information has never been easier to access. I find it quite hard still trying to find the information I need when doing my research. But you're right I need to focus.
Thanks again!

Also, use this forum with specific questions. Some people answer pretty fast.

I know only method to look similar scenes from films, vimeo, youtube and searching needed reference. Then try to repeat. If something unclear, searching how to do it.
Also, if you found scene and you like it, you can find how to do lighting, effect from this scene or from this film, etc.
Or search backstage of video, how it was created.
And this for inspiration:
https://vimeo.com/channels/staffpicks


text:
How can I achieve this lo-fi laggy extreme camera shake effect in After Effects or Premiere?
There was recently a short film released by a music collective 'Jackboys' with a very lo-fi, noir look to it, and when transitioning verses, the video cuts to shots with intentional, extreme camera shake with lag, and for the short film I'm working on, this effect is perfect. A large part of this effect is going to be in the filming of the video, but I'm not sure what the best way to approach this is.  Should I just shake the camera a lot when filming, or should I lower the shutter speed first?  The laggy part looks like it's either a result of the camera used or was made artificially using After Effects or Premiere.  How would I go about getting the lag effect in one of those Adobe programs?
Thanks!
Examples:

OMG strobe! That's what the "laggy" effect is; it was very popular with "experimental" film school students back in the nineties. It went the way of lens flares and the posterisation effect; some would say it is better left in its tomb, but that's a matter of personal taste.

If you slow down the video you'll see what's going on, the apparent frame rate is slowed down to four or five frames a second, destroying the illusion of smooth motion. In the nineties, to achieve the long exposures that give the light trails and motion-blur you had to shoot on a film camera that could do variable frame rates; these days a lot of digital cameras can do it. You can lower the frame rate in post, but you won't get the trails and motion blur. Here's how to do it in After Effects.
You need to find a camera that can shoot at a frame rate to around 4-10fps, and that lets you adjust the shutter speed to give you as long an exposure as possible. Then, as you said, go nuts shaking the camera around. Your audience will thank you /s.

Do you by any chance have other examples (short films on youtube, etc...) of this particular style?  I've never seen strobe used to describe anything other than flashing lights before

You can see the strobe button about 1/3 of the way down this page. All of the examples I can think of are sitting on Umatic video tapes at the bottom of a filing cabinet. http://www.mvsvideo.com/equipment_visionmixer.htm


text:
Why a color grading suite needs high CRI lamps?
I'm building a color correction suite. Among the requirements, I read that it needs to be lit using 6500K lamps with CRI 90 or higher. Which are pretty hard to find in my location.
I totally understand the 6500K requirement but why do I need a high CRI lamp? How does seeing the walls and the other stuff in the room in it's "full glory" affects my perception of the stuff on the screen?

The truth is that you do not need them... unless you do of course.
You only need good CRI for the ambient lamps if you need to compare colors with real-life things, probably the skin tone of someone, or want to prepare the color for a tomato that looks healthy but not oversaturated.
Another reason is that you can not work totally isolated from ambient light, your eyes will stress a lot. So the ambient light will hit your hands, your keyboard, and things on your desk. Having a low-quality light illuminating this could alter your perception of colors and force you to make wrong adjustments.
If you need lights with good CRI get some on an online store.

Thank you for getting my point! Really, I asked this question on many forums and a lot of people started telling me why does a color suite needs special lighting at all:) which is quite a more general question

So, your point is that seeing, eg., the skin tone of my own hands badly illuminated will result in biased color correction decisions because I will (unconsciously, perhaps) reference that badly lit skin tone to the skin tone I'm grading, am I getting your point?

Yes. That is the idea. The ideal conditions of a studio for color grading and specially color calibration need to be neutral gray, but those everyday things like your own hands, a person sitting next to you will "uncalibrate" for a moment your eyes or, as you say, your mind.

Thank you! Finally got an answer for a question that bugged me so long:)

Your visual system has auto white-balance on by default. If you go outdoors after being indoors the light doesn't look blue, your brain almost instantly compensates for the colour temperature shift so that whites still look white.
This is a good thing for everyday life, but not so much in a colour grading suite. If your surroundings are some whacky shade of white because of the lights your brain will auto-calibrate so that the whacky shade looks white, meaning that your colour perception will be skewed.

Thank you! Yet to me this looks like an answer to a different, more general question "Why do I need to care about the lighting and the wall colors in my color suite at all". I understand the general idea of a color suite environment. My question was what role in all of this a high CRI lamp has.

If you look at the spectrum given off by most LED and fluorescent lights it's all over the place. They really don't provide balanced colour.


text:
Why I might get this high noise on Sony a7 III with Zeiss 24/70 f4 lens?
So I've tried to make a short New Year video and noticed, that I got noise at almost every level of ISO over 3000. And it is the kind of noise, that is impossible to work with.
Am I getting something wrong, or it has to be this way?
For example, this short video shows how high the noise is in both light and dark.
The params are: 1/200 f5.0 ISO:4000 120fps/60m 1920/1080
Can I reduce the noise, or is this something I can definitely expect with 4000 ISO and such lens? Do I have to light everything in a way, that I won't need to go over 500 ISO?
I'll be glad to any suggestion and answer.

You need to define what is acceptable to you.
Record a well illuminated scene and increase the ISO while decreasing the aperture and compare what noise level on your specific camera is acceptable for you, and you will know what are the limitations of your equipment.
In the case of the example video, the noise is "the same" because both moments, the dark zone and the white are filmed in the same settings, therefore we can assume that is the overall noise on your camera on that ISO setting.
There are some programs than can denoise video https://duckduckgo.com/?q=video+denoiser&t=h_&ia=web one that has a good reputation is Neat Video.

I see, thank you. I had to google a lot on this issue, and it seems, that 4k ISO is not really acceptable, especially at 120fps 1920x1080 for Sony a 7III.
Every single tutorial uses good lighting, compared to mine, and ISO is as low as possible.


text:
How to join these three FFmpeg instances into one command
I am transcoding one input into three different quality output, currently I am producing them by three separate commands, and I am looking to combine them in single one command using map function or something else.
here are the commands I run to produce dash content:
ffmpeg -y -i inputStream -row-mt 1 -s 1280x720 -b:v 1024k -minrate 512k -maxrate 1485k -tile-columns 2 -g 240 -threads 8 -quality good -crf 32 -c:v libvpx-vp9 -c:a libvorbis hd;

ffmpeg -y -i inputStream -row-mt 1 -s 640x480 -b:v 750k -minrate 375k -maxrate 1088k -tile-columns 1 -g 240 -threads 4 -quality good -crf 33 -c:v libvpx-vp9 -c:a libvorbis fsd

ffmpeg -y -i inputStream -row-mt 1 -s 640x480 -b:v 512k -minrate 256k -maxrate 742k -tile-columns 1 -g 240 -threads 4 -quality good -crf 34 -c:v libvpx-vp9 -c:a libvorbis sd

According to FFmpeg it supports multiple outputs created out of the same input(s) in the same process. The usual way to accomplish this is:
ffmpeg -i input1 -i input2 \
    -acodec … -vcodec … output1 \
    -acodec … -vcodec … output2 \
    -acodec … -vcodec … output3

This way ffmpeg can create several different outputs out of the same input(s).
For example, to encode your video in HD, VGA and QVGA resolution, at the same time, you would use something like this:
ffmpeg -i input \
    -s 1280x720 -acodec … -vcodec … output1 \
    -s 640x480  -acodec … -vcodec … output2 \
    -s 320x240  -acodec … -vcodec … output3

ffmpeg -y -i inputStream \
 -row-mt 1 -s 1280x720 -b:v 1024k -minrate 512k -maxrate 1485k
 -tile-columns 2 -g 240 -threads 8 -quality good -crf 32 -c:v libvpx-vp9 -c:a libvorbis hd \
 -row-mt 1 -s 640x480 -b:v 750k -minrate 375k -maxrate 1088k \
 -tile-columns 1 -g 240 -threads 4 -quality good -crf 33 -c:v libvpx-vp9 -c:a libvorbis fsd \
 -row-mt 1 -s 640x480 -b:v 512k -minrate 256k -maxrate 742k \
 -tile-columns 1 -g 240 -threads 4 -quality good -crf 34 -c:v libvpx-vp9 -c:a libvorbis sd

After specifying your input(s), all audio/video/subtitle options are designated for the next output, so you may write different options for different outputs.
From FFmpeg documentation, Chapter 2 Description:

Do not mix input and output files – first specify all input files, then all output files. Also do not mix options which belong to different files. All options apply ONLY to the next input or output file and are reset between files.


text:
Change default audio track in mp4 video
I often download mp4 videos with multiple audio tracks.
Is it any way or some tools with explanation to change default audio track ?

Use FFmpeg:
ffmpeg -i input.mp4 -map 0 -c copy -disposition:a:0 0 -disposition:a:1 default output.mp4

Audio tracks (streams) are numbered from 0.
Supposing the input video has 2 audio streams, and the default audio stream is 0, we need to

remove the “default” disposition from it (by setting it to 0: -disposition:a:0 0) and
set it to the audio stream 1 (by setting it to “default”: -disposition:a:1 default).

In general, remove the “default” disposition from all audio streams except one, and set it for it.

Note:
Not all media players honor default audio stream — for example Media Player Classic don't honor it (but you may set the preference by the language of audio streams), while VLC Media Player and FFplay do.

Proof (note the location of the “(default)” tag):
ffprobe -hide_banner input.mp4

gives (among others)
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 69 kb/s (default)
Metadata:
  handler_name    : SoundHandler
Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 74 kb/s
Metadata:
  handler_name    : SoundHandler

while
ffprobe -hide_banner output.mp4

gives
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 69 kb/s
Metadata:
  handler_name    : SoundHandler
Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 74 kb/s (default)
Metadata:
  handler_name    : SoundHandler

The numbering here numbers all tracks, so #0:0 (omitted from the FFprobe outputs) is the first (video) track, and #0:1 and #0:2 are audio tracks.

I tried it with different variants (from 1 to 4) but it does't work for me. Unfortunately. Default audio track stays the same.

I edited my answer — you also need to remove the “default” disposition from all other audio tracks.

Note that not all media players honor the “default” disposition — some of them simply start playing the first audio stream.

Thank you so much! I use VLC player. And the edited answer helped me!

combining this (changing default) and MarianD's answer (changing order) works great...now it'll probably work on any player

Some media players simply start playing the first audio stream (track). For them you may simply change the order of audio streams.
For example, suppose you have 1 video stream and 3 audio streams in your input file, and you want to move the 3rd audio stream to be the first of audio streams.
Use
ffmpeg -i input.mp4 -map 0:v -map 0:a:2 -map 0:a:0 -map 0:a:1 -c copy output.mp4

so -map 0:a:2 places the 3rd audio stream (stream numbers begin with 0, so 2 is the 3rd one) in front of all others audio streams (-map 0:a:0 -map 0:a:1).

Note:

0:v means all video streams in the input file 0 (input files are numbered from 0)
0:a:2 means: input file 0, audio stream number 2
0:a:0 means: input file 0, audio stream number 0
0:a:1 means: input file 0, audio stream number 1

Thank you for your explanation!

I found the following solution in Avidemux. (prveious answers are not always working)

Open video in Avidemux
In "Audio -> Select track" choose only one track you need
In "output format" select "mp4 muxer"
Save the file using "File -> Save as"

There is also a disadvantage in this method. It removes all other tracks but it's good enough for some cases.

authors: Артур Гудиев


text:
Is it possible to use ffmpeg to move part of the video to another position and crop the video at the same time?
I have a video file let's say it's the following one.

What I want is the following operations:

Copy the part in the red rectangle to the bottom-right corner for the whole video.
Remove the left red shadowed part of the whole video.

So the expected result looks like this:

Notice the part has been copied to the bottom-right corner and the left part has been removed.
Is is possible to do this with ffmpeg or I must use something like Adobe Premiere Pro?

Basic syntax is
ffmpeg -i in -vf "split=2[pip][full];[pip]crop=W:H:X:Y[pip];[full][pip]overlay=W-w:H-h,crop=iw-M:ih:M:0" -c:a copy out

where W,H,X,Y are as per your diagram. M is the margin from the left edge which needs to be cropped out. Select M so that iw-M results in an even number.


text:
How to tell ffmpeg to copy all streams except one audio stream (to encode)?
Input:
 * One Video
 * 4 audio streams
 * Many subtitles
 * Chapters

I want to re-encode one of the audio streams (the first one) and keep everything else as-of (copy).
Is it possible to do that in one command-line in ffmpeg?
So far my best 2 guesses don't work:
ffmpeg -i input.mkv -map_metadata 0 -map 0:v -c:v copy -map 0:s -c:s copy -map 0:a:0 -c:a ac3 -vbr 3 -map 0:a:1 -c:a copy -map 0:a:2 -c:a copy -map 0:a:3 -c:a copy output.mkv
Copies everything
ffmpeg -i input.mkv -map_metadata 0 -map 0:v -c:v copy -map 0:s -c:s copy -map 0:a -c:a copy -map 0:a:0 -c:a ac3 -vbr 3 output.mkv
Re-encodes all audio streams

Use
ffmpeg -i input.mkv -map_metadata 0 -map 0 -c copy -c:a:0 ac3 -vbr 3 output.mkv

See https://superuser.com/a/1219824 for an illustrated guide to how stream options are parsed.


text:
Interpreting pts_time in FFmpeg
I have been learning ffmepg for a couple of days.
I'm struggling to understand how pts or dts works.
This is the command I entered

ffprobe -show_entries packet -read_intervals 10%+#3 Input

   Stream #0:0: Video: h264 (High 10), yuv420p10le(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Metadata:
  DURATION        : 00:02:00.203000000
Stream #0:1: Audio: flac, 48000 Hz, stereo, s16 (default)
Metadata:
  DURATION        : 00:02:00.062000000
[PACKET]
codec_type=video
stream_index=0
pts=6506
pts_time=6.506000
dts=N/A
dts_time=N/A
duration=41
duration_time=0.041000
convergence_duration=N/A
convergence_duration_time=N/A
size=205369
pos=9510964
flags=K_
[/PACKET]

I guess duration_time 0.041000 means the frame last(show) for 0.041 second.
I don't know how to interpret this 'pts_time' as normal time like minutes and seconds( e.g 1 min 3 second )
I set the intervals 10%+=3, which means 3 packets after 10 seconds. I can't find the relation between 10 second and pts_time=6.506000

pts_time=6.506000 means an absolute presentation timestamp of 6.506 seconds. It's relative presentation time depends on the start_time of the file, for which use -show_entries format=start_time.
ffprobe seeks to keyframes, so it will seek to the nearest KF at or before the specified time and then print info for the stated number of packets.

IIRC, flags=k means key frame, right? I ran the command again with -read_intervals 10%+#6. There are key frames with pts_time=6.548, 6.571...Which is closer to 10 sec. or am I mistaken, flags=k doesn't mean key frame? I can upload the result of the command if you need.

Don't consider audio packets.

You're right, those are audio packets. so is it safe to guess that pts_time represents seconds, regardless of tbn value?

Yes. pts_time is always in seconds; pts always in multiples of time base.


text:
Opacity in an animation doesn't stick
I'm just getting started with Final Cut Pro X and I'm following this video for a slide out animation:

I have a background square for my text as the Text moves to the right. If I set the opacity to 80%, the background looks how I want when there is no animation. Once the transition is animating though, the background is opaque and not transparent. Is there a way to get around this?
Thanks!

What did you use for the background square?

I think I know what’s the problem is.
The compound clip isn’t working that way because you have probably a “Solids” generator in it.
Ignore the step of generating the compound clip and build the sliding box and text on top of the main timeline. That should work as you want.

Yes I used a blank solids behind the text so I wouldn't just have floating text. I'd like to use it as a compound clip bc then I can reuse it in other projects but just change the text. Is that not possible? Thanks!

The way the tutorial is doing it I don’t think it will work. The time and effort is better spend elsewhere. It’s such a quick build that it shouldn’t be too time consuming to make another when you need it. If you need a copy in another project you could make a copy of all layers.


text:
How can I recreate this overexposed effect from the last scene in 'The Lighthouse'?
Spoilers Warning
I just finished Robert Egger's film 'The Lighthouse', and one shot in the final scene really inspired me cinematically.  Winslow, face covered in blood, finally goes up to the top room in the lighthouse, and the light opens up.  The shot is from the POV of the light, with Winslow staring in at the camera.  The light continually gets brighter and brighter to the point of heavy overexposure in the eyes and mouth as he screams, making him look like a film negative.  This is an effect that I really want to recreate for a specific shot in my project, and I don't know how to achieve it.
Was it done by increasing the brightness of a light manually, with the overexposure being completely natural?  Or could I just increase the levels?  Which way do you think is best?

Based on the attention to vintage cinematography details, I'd guess this was probably a practical effect. It may have been enhanced by the spectral sensitivity of the film stock making some colors look brighter than others at the same light level.

You can tell by the shadows that light's illumination was increased. However, you can acheive a similar result (though not perfect) by just keyframing the 'Curves' effect in After Effects. (I had better results with 'Curves' as opposed to 'Levels') See below:

The curves were keyframed from default to:

The top point is to blow out the whites, the middle point lifts the greys slightly and the bottom point keeps the blacks from getting brighter.
Now, you'll notice that this has lifted the red values a little more than I'd like. This could then be fixed with a 'Tint' effect or by bumping the saturation way down with a 'Hue/Saturation' effect. Or even by messing with the individual RGB colours within the existing 'Curve' effect.