text:
FFMPEG filters missing after upgrade to 4.0
I built a statically linked binary of FFMPEG-3.4.4 from source. When I attempt to list the available filters in this binary, I get the following output.

% ffmpeg -filters
ffmpeg version 3.4.4 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 4.1.2 (GCC) 20070626 (Red Hat 4.1.2-14)
  configuration: --prefix=/local/workspace/src/FFmpeg/build/private/install --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libx264 --enable-libfdk-aac --enable-libvpx --enable-libspeex --enable-encoder=vorbis --enable-libvorbis --enable-libmp3lame --enable-static --disable-protocol=hls --disable-demuxer=hls --disable-decoder=prores --disable-decoder=prores_lgpl --disable-ffplay --disable-ffserver --disable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Filters:
  T.. = Timeline support
  .S. = Slice threading
  ..C = Command support
  A = Audio input/output
  V = Video input/output
  N = Dynamic number and/or type of input/output
  | = Source or sink filter
 ... abench            A->A       Benchmark part of a filtergraph.
 ... acompressor       A->A       Audio compressor.
 ... acopy             A->A       Copy the input audio unchanged to the output.
 ... acrossfade        AA->A      Cross fade two input audio streams.
 ... acrusher          A->A       Reduce audio bit resolution.
 T.. adelay            A->A       Delay one or more audio channels.
 ... aecho             A->A       Add echoing to the audio.
 ... aemphasis         A->A       Audio emphasis.
 ... aeval             A->A       Filter audio signal according to a specified expression.
 T.. afade             A->A       Fade in/out input audio.
 ... afftfilt          A->A       Apply arbitrary expressions to samples in frequency domain.
 .S. afir              AA->A      Apply Finite Impulse Response filter with supplied coefficients in 2nd stream.
 ... aformat           A->A       Convert the input audio to one of the specified formats.
 ... agate             A->A       Audio gate.
 ... ainterleave       N->A       Temporally interleave audio inputs.
 ... alimiter          A->A       Audio lookahead limiter.
 ... allpass           A->A       Apply a two-pole all-pass filter.
 ... aloop             A->A       Loop audio samples.
 ... amerge            N->A       Merge two or more audio streams into a single multi-channel stream.
 T.. ametadata         A->A       Manipulate audio frame metadata.
 ... amix              N->A       Audio mixing.
 ..C anequalizer       A->N       Apply high-order audio parametric multi band equalizer.
 ... anull             A->A       Pass the source unchanged to the output.
 T.. apad              A->A       Pad audio with silence.
 ... aperms            A->A       Set permissions for the output audio frame.
 ... aphaser           A->A       Add a phasing effect to the audio.
 ... apulsator         A->A       Audio pulsator.
 ... arealtime         A->A       Slow down filtering to match realtime.
 ... aresample         A->A       Resample audio data.
 ... areverse          A->A       Reverse an audio clip.
 ... aselect           A->N       Select audio frames to pass in output.
 ... asendcmd          A->A       Send commands to filters.
 ... asetnsamples      A->A       Set the number of samples for each output audio frames.
 ...........

I recently tried doing the same with the source code for FFMPEG-4.0.2, but it doesn't show me any of the above filters. I've used the same configure options as the ones used with FFMPEG-3.4.4.

% ffmpeg -filters
ffmpeg version 4.0.2 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 4.1.2 (GCC) 20070626 (Red Hat 4.1.2-14)
  configuration: --prefix=/local/workspace/src/FFmpeg/build/private/install --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libx264 --enable-libfdk-aac --enable-libvpx --enable-libspeex --enable-encoder=vorbis --enable-libvorbis --enable-libmp3lame --enable-static --disable-protocol=hls --disable-demuxer=hls --disable-decoder=prores --disable-decoder=prores_lgpl --disable-ffplay --disable-shared
  libavutil      56. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
  libpostproc    55.  1.100 / 55.  1.100
Filters:
  T.. = Timeline support
  .S. = Slice threading
  ..C = Command support
  A = Audio input/output
  V = Video input/output
  N = Dynamic number and/or type of input/output
  | = Source or sink filter
 ... abuffer           |->A       Buffer audio frames, and make them accessible to the filterchain.
 ... buffer            |->V       Buffer video frames, and make them accessible to the filterchain.
 ... abuffersink       A->|       Buffer audio frames, and make them available to the end of the filter graph.
 ... buffersink        V->|       Buffer video frames, and make them available to the end of the filter graph.

Am I missing a configure option to have these filters available in 4.0?

Share the output of configure.

So after about spending nearly a day on this I realized that the problem was with a sed command change introduced in the configure script in version 4.0. I was building the source on a machine that has a non-GNU version of sed installed and didn't support the '-E' option. I ended up replacing it with '-r'. The specific line where I made the change is this: https://github.com/FFmpeg/FFmpeg/blob/master/configure#L3723

See http://trac.ffmpeg.org/ticket/7310. Add a comment with your OS / tool details.


text:
ffmpeg creating a boomerrang video
I'm trying to use ffmpeg to create a "boomerrang" video. Where it would take in one video, play that video forward, then play it backward, and once more forward all at 1.5x speed. I'm been able to do the forward/backwards process with this command:
ffmpeg -y -i input.mp4 -filter_complex [0]reverse[r];[0][r]concat,setpts=0.5*PTS output/boomerrang.mp4
But I've been unable to get that final 3rd play with the video playing forward. I'm assuming I would just need to concat the video on the end but I'm not really sure how to do that.

You just need to add the original input to the concat.
ffmpeg -y -i input.mp4 -filter_complex [0]reverse[r];[0][r][0]concat=n=3,setpts=0.5*PTS output/boomerrang.mp4

source: Stack Exchange

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

sort: votes


text:
What is the difference between SRT and RTP?
I am trying to understand the benefits of SRT over other protocols like RTP. Haivision has a decent introductory explanation for SRT as well as a white paper, but I am unclear how it compares to RTP. There is even a github issue about using RTP with SRT. Don't RTP and SRT address the same problem? Why would you use one over the other (or both together)?
I found a white paper discussing RTP vs MPEG-TS, it'd be helpful if there were a similar comparison made with SRT.

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


text:
Tool to find Duplicate Video files ignoring tags
I am looking for an automated method to identify duplicated video files from my large collection of videos.
I have used fslint to do this in the past, but I started fixing the EXIF tags on my videos, which makes fslint identify them as different files.  The only difference between the original file and the modified files are the EXIF tags, which in most cases have simply been time-shifted to correct for timezone or camera offset.  The videos have not had any encoding or conversion of any type.
Is there a tool something that I can use to identify duplicate videos based only on the AV streams, i.e. ignoring the tags?  I'm essentially looking to duplicate fslint-like functionality, but ignoring the EXIF tags.  Does such a tool exist?
I have a suspicion that ffmpeg can be used to do this, but all I've been able to find so far is this answer, which shows how to blend two video streams together and display the difference.  Doing so "works" in the sense that I get a solid green screen with my duplicate files (indicating no pixel differences), but I can't use that in a script to handle hundreds of comparisons because I still have to visually inspect the result.
Is there a way to get ffmpeg to give a yes/no answer?
I've seen this answer, but found the answer to be entirely too manual.  I need an automated process that can go through large filesets in one run.

It might be overkill in your situation since the videos aren't actually different resolutions, frame rates and or codecs, but still :
As with another answer https://video.stackexchange.com/a/33521/32436 :

You could check out https://theophanemayaud.github.io/video-simili-duplicate-cleaner/ (macOS and Windows binaries available) It's open source, based on vidupe and QT and relies on ffmpeg.
The idea is to extract a few (eg 2, the first and the last) frames, and compare them. If the duration is close, and the frames look similar : you've got a duplicate.
It uses opencv for frame comparison, and ffmpeg for frame extraction (ffmpeg is also for video metadata which is very useful when trying to tell which video to keep !). Since it's open source, you can improve it to fit your needs !

Because it looks at the video data, you shouldn't have problems of tags or other metadata that has changed !

I had the same question and I managed to answer it by creating an open source program around ffmpeg and findimagedupes. Feel free to try it :
https://github.com/PierreCrette/VideoDedup/blob/master/README.md


text:
How to show multiple camera angles together in a Multicam clip in FCPX?
So I've been able to combine two different clips shot by two different cameras at different angles at the same time by creating Multicam clip and choose to sync by sound.
However, when I try to edit this multicam clip, it seems that I could only choose to show one camera clip at a time. I want my two clips to show side by side, like

I know to do that in a normally created project, we can just put two clips together in the timeline and edit transformations for both clips from "Transform" in here

But how can I do the similar thing to a multicam clip?
Maybe from here? (Seems that in here I can only choose to switch between angles at different timeline but not show both angels at the same time)

Thanks guys!

What you need to do is mark the edit points for the clip where you want the effect to appear. Then highlight the edited clip so that it is highlighted in yellow.
Now copy that clip by pressing Command+C.
Now menu over the clip and select “Lift from storyline”.
You will now have an empty grey clip on the Storyline.
Click on that Grey clip and paste the copy of the original clip on to it.
Go back to the start of the clip and then change the angle of the clip on the storyline.
Finally, change the size of the two clips to give the side by side effect.
Dependent on you snap options you may need to drag the clips back together to the right places, when you paste the duplicated clip onto the stroryline.

Thank you so much for this solution! I just wanted to clarify that you have to blade the multicam clip at the start and end (not just a range selection) where you want to do PiP or show angles side by side. Then copy it, lift it from the storyline, and then you can paste and rearrange angles.

That’s not what Multicam clips are for, quite the opposite. Multicam clips are designed for showing only one angle out of multiple source angles.
Did you try an synchronized clip instead? When the synchronization is done you can double click the clip and transform the individual clips to fit your screen.

Synchronized clips are great for when you want to do this for a longer period, but I have a case where I have three camera angles, and for a long video I normally just switch between them (which is super easy using the Angles display to switch angles). There's just one spot in the middle I want to display them PiP, so @Paul Middleton's answer was helpful to let me do just that.


text:
FFMPEG gives improper "duration" in metadata
Scenario: I have 5 minutes of gameplay footage. I wanted a 10 second clip in the middle of it as a webm to share.
ffmpeg -ss 3:36 -i gameplay.mp4 -copyts -to 3:46 -c:v libvpx -an -b:v 2500 -threads 7 -f webm clip.webm

This generates a clip that's 10 seconds long, but the timestamp starts at 3:36, not 0. To fix this, I ran:
ffmpeg -i clip.webm -c:v copy -f webm clip-tsfix.webm

This fixed the timestamps, but now my video still has a metadata tag claiming the total duration is 5 minutes, not 10 seconds. How do I fix this? Is there a way to do all of this in one go? I did try this, which seems to fix the timestamps but still has the duration metadata problem:
ffmpeg -ss 3:36 -i gameplay.mp4 -copyts -to 3:46 -c:v libvpx -an -b:v 2500 -filter_complex [v]scale=-1:720[vs] -map [vs] -threads 7 -f webm clip.webm

I think everything starts getting messed up once I use the -copyts flag, but without it, it doesn't process "-to" properly.

Share full log of ffmpeg -i clip.webm -c:v copy -f webm clip-tsfix.webm


text:
Best FFmpeg codec for Final Cut import
Is there an ideal FFmpeg codec to use when the video file is designated to be imported into Final Cut Pro X?

If FCP X accepts ffmpeg-encoded ProRes MOVs then that, but someone with access to FCP X should confirm.

I have I will check!

It works like a charm! Thank you for the tips. You can post your comment as an answer I'll accept it!


text:
how to move these bottom line under scooter in after effects

I have this lines in illustrator and imported whole art as layers and i want to animate these lines like above animation.is there any other way to make things easy
i had imported ai file as layers and then animated everything. i had tried converting it into shape layers and use trim path but the problem is bottom line has several small lines.


text:
Does it make sense to say a computer needs core 5 to display video from a camera (Cannon SX720HS) correctly?
The video on our computer stutters or flickers. Cannon help and a computer tech told my wife that it is because our computer is 3 cores  and you need 5 cores really core i5 which is quite different of course- most core i5 are 4 cores and low ends are 3 or 2 cores. Does that make sense- why isn't it just you need more computer power or graphics power? What is requirements to show directly from the camera- wife is so cryptic?

No. That really doesn't make sense.

Faster is better, yes, but often the bottleneck is disk io.
More cores should also be better as well, to prevent other applications causing stuttering.
Faster core speed is better too.

But running video from a camera can be done on much older machines so the tech is talking nonsense.

"But running video from a camera can be done on much older machines..." not to mention the camera itself, which probably doesn't have a multicore processor.


text:
How to handle credit
How do you organise and remember all the people that helped in the project?
Do you simply have an excel sheet with the names and what the person did?
Thanks!

It sounds a lot like you've answered your own question. I's suggest a cloud based spreadsheet to allow people to collaborate on it, so if say, your props person wanted to thank people for lending stuff they could add them to the list.

Thanks. That's a good idea to make it cloud based!

Paperwork is important.  Beyond a simple Excel spreadsheet, you should have appropriate releases from everyone involved in your project.  Depending on your jurisdiction, it is likely that you can't make commercial use of someone's likeness without their consent, and if they decide they don't like your project for some reason they could force it to be taken down until you can edit them out of it without a release.
Similarly, for crew, by default, copyright sits with the person producing the work in most jurisdictions, unless there is an agreement otherwise or there is an employee relationship.  You need agreements with everyone from the project and you need to keep these organized so you can present them if necessary.
Yes, having a master list somewhere like Excel or in a text file is helpful for being able to more quickly add them to the credits, but you need far more than just a simple list of names to properly document a project.

Thank you. For me, this question was only about how you keep so many people in mind without reading all 200 contracts to figure it out again :)

Fair enough.  The answer will still probably help others as a lot of people go in naive to the need for releases.  Glad you knew about that already.

@Timothy Lukas H. If you have a 200 people crew... Some of them should be lawyers and administrative personnel... Take a look at the end credits of a movie and you will see them.


text:
How to split video output signal from 1 PC to 40 projectors?
I am thinking of implementing this by daisy-chaining multiple splitters but I am not sure if it will work.
Does anyone know of a cost-effective solution to this?
Thanks.

Daisy chaining that many splitters is likely to cause issues. Have you looked at the solutions large venues use?

What's the equipment used?
If you have projectors with LAN it would be much easyer. Daisy chaining so often is probablly going to cause a lot of problems.

This answer would be better as a comment, as it's not really doing much to answer the question. You could add some more detail about how a LAN would work, and specify why daisy-chaining will cause problems.

You can't use a passive splitter for this as the signal level would drop far too low, however it should be trivial to accomplish with some simple active distribution amplifiers.
There are two real solutions for this and the best bet really depends on the details of where the projectors are.  More than just splitting the signal, the amount of distance to the projectors may also be an issue as most video signals degrade over long distance cable runs.
If all the runs are fairly short or you are able to use either fiber or signal boosters, you can use a large distribution amplifier or matrix switch to feed one signal to all 40 outputs at one location.
Alternately, you could use a series of smaller distribution amplifiers to spider out from the middle.  As each DA will also act as a repeater, it should help you cover a longer distance and you only need a chain of about 3 to cover all 40 projectors if you are using 4 way DAs.  You'd start with the signal in the middle, run it in to a distribution amplifier and run each of the 4 outputs in to another distribution amplifier heading off towards your other projectors.  Those 4 DAs would give you 16 total outputs.  Each one of those would run in to another 4 way DA and give you a total of up to 64 outputs, which easily covers your 40 projectors.
Another option if exact timing doesn't matter and you already have a solid Ethernet network in place would be to stream the video over the network and have each projector play back the stream independently.
A final option would be to setup a short range broadcast using wireless gear, however this is probably the most costly and potentially most error prone of the options though it can also be the easiest to setup if the environment supports it as it doesn't require multiple splitters or any complicated wiring, however transmitters tend to not be cheap as the range gets longer and beyond a certain range, you start needing licenses.


text:
Is there a way to upscale without re-encoding?
Basically I need to take a h.264 8 bit 1080p render and  upscale it to 4k without re-encode. Is it possible? And if it is, does the container matter? Cause ideally it needs to be mp4 container, otherwise avi, otherwise mkv.
Reason:
I made a video project in a 1080p space. But now I need the final output as a 4k. So the problem is if I change the resolution of the space it offsets and shrinks all the effects in the video editor. So I could render everything as a high format like png 16 bit (or something better...?) but that's alot of rendering and data for a 30 minute project. The other problem is the footage in the video editor is h.264 already, so I need to vehemently avoid double renders.

Not possible. If you're changing the resolution, you have to encode.

Just play it back on a bigger television. Done.

Who are all these people who are going to die if their video gets re-encoded? It's not like losing a generation on a VHS machine, you just won't notice.

To get from 1080p to 4K you're going to need to re-encode, but container won't matter (much), so 16bit png is overkill just for the sake of 4K.  H.264 works fine.
But before you spend the time to upsample, you should double-check to make sure that you actually need to.  Most modern 4K televisions upsample 1080p on the fly.  Most mobile devices aren't high enough resolution to display 4K.  If you can leave your project in 1080p and let the display device do the work, then you're already done!
But if you're sure that's what you need, remember that normal, traditional methods of upsampling such as bicubic or bilinear interpolation don't really increase the actual resolution of the image.  Sure, the output pixel dimensions will change from 1920x1080 to 3840x2160, but the new image size just comes from (to over-simplify) doubling each pixel's width and height.  In other words, the basic scaling algorithms don't add any information to the image, they just make the 1080p "bigger."
There are newer, fancier upsampling algorithms which use sophisticated methods to scale images.  Photoshop calles theirs "Preserve details 2.0." DaVinci Resolve calls it "Super Scale."  After effects calls it a "Detail Preserving Upscale" effect, but they're all very similar methods of upscaling an image while preserving sharpness.  Bear in mind that none of these methods actually add information to the image, either.  They're just a tad better than ordinary, re-scaled 1080p.  They're also fairly computationally expensive.
In a perfect world, the best thing to do is to shoot in a resolution that's at least as high as your deliverable, but preferably higher, and then downsample.  When that doesn't happen, you'll have to evaluate the importance of having a higher resolution and weigh that against the extra time and effort it takes to generate such an image.
4K is still pretty difficult to work with under many circumstances, in terms of bandwidth requirements, latency, storage, etc.  There's a lot of overhead that goes into those extra pixels, and it's not exactly a 1:1 relationship.  Quadrupling the number of a pixels means you can expect MORE than four times the effort to complete a project, especially if you're working with long timelines, multiple streams, multicam, effects, etc.

A.I. is going to change this https://techxplore.com/news/2017-10-small-pixel-perfect-large.html

Everything old is new again.  https://www.ams.org/journals/notices/199606/barnsley.pdf . Notice barnsley's AOL email address.  I know A.I. will improve these algorithms, but at some point you can't create something from nothing.

That's the difference between AI approaches and signal processing approaches. AI will indeed create extra content. The weirdly distorted puppies in the images on this page are examples of created content, rather than interpolated content. https://www.fastcompany.com/90244767/see-the-shockingly-realistic-images-made-by-googles-new-ai

Right, but once you start enlarging pixels, it doesn't matter if you fill in the missing bits with similarly colored pixels, fractals, wavelets, or Google's creepy fever dream of eyeballs and spiders, no real visual information from the original scene is recovered.  You're right that they'll eventually be able to to present a convincing illusion of continuity, but as it stands, they use 128-512 TPU cores to create a single, completely generative image. Upscaling a user-specified original is a different problem, and one that's multiplied by a factor of 24 at least for video.

True, you'll never restore information that isn't there ("computer - zoom in and enhance"), but an illusion is going to be good enough in most non-forensic cases. And yeah, the processing power involved is stupendous. To train Google's BigGan model took enough electricity to power an average American house for 6 months.

I love living in the future :)

I am just logged in to say that you DO need upscale sometimes. For example if you want to see your 1080p video on youtube same quality as source video on your PC. I uploaded mine and its some cubism art, so I have to upscale it so people can actually see what I actually produced

@POMATu Why didn't you just upload the source video directly to YouTube? Or at least in a container that YouTube supports at the original resolution instead of downscaling to 1080p?


text:
Calculate Average Color for Whole Video with ffmeg
I would like to calculate the average/median color of a whole video clip (not single frames). Is there a straight forward way to calculate such statistics with ffmpeg or any similar open source tool? I use R for scripting, but a python (or even bash?) solution would also be welcome


text:
How do I adjust things in 3d in after effects
I have multiple layers I now wish edit them in 3 dimensions. So I check the 3d layer attribute, but I still cant move the elements in that layer. In a youtube video (7:45) i have been following, when the user clicks on the 3d layer option, an axis appears on the the element, and it can be enlarged and moved.
See picture:

However no such axis appears when I check the 3d layer option. Do I need to enable it somewhere in the options?

My after effects is acting really weird, I can't select things using the selection tool anymore, or i can, but there is no visible marker telling me i have selected it, i cant see where my anchor point is either.

I pressed CTRL + SHIFT + H and my controls were back

Maybe your toggle mask / path visibility was off?


text:
Best way to add subtitles to videos
I currently have ~200 short 30 second teaser youtube video that link to articles.
I am looking for the best way to add captions to these videos. These will eventually go out on social media. Because the videos are short and clear, the youtube default captions are actually quite good.
However, I want the captions to be part of the mp4 file so that when I share it on social networks (uploading the video directly) then the captions appear.
What is the best way to do this? This is the ideas I have so far:
1) I could manually download the captions for each video, then use some service (which one) to merge the captions with the videos, and then post it.
2) I could download the captions for each video, then use the social networks service to add the caption as an add-on, you can do this with fb at least. The downside of this is that it would have to be done again and again for each social network.
This is for a volunteer run non-profit so there is no money to get this stuff done with super expensive software (though we have the adobe suite including premiere).
Any thoughts would be greatly appreciated!

1) Is probablly the easyest. You can download it from YouTube and merge it in Premiere Pro. Easyest way is to burn it in, so you wont have any struggles with other social media plattforms.
If you have basic programming knowledge, ypu could write a script whoch automatocally downloads and adds the sub titles from YT.

+1 vote for going the programmatic route.  You probably don't even need to know how to script, though.  Pretty sure you could get it done with a one line ffmpeg command.  https://trac.ffmpeg.org/wiki/HowToBurnSubtitlesIntoVideo

If you upload the videos to youtube then you can download the transcriptions as srt files. You can then "burn them in" fairly easily with ffmpeg, and just a leeetle bit of shell script. The basic ffmpeg command you need to burn in subtitles to a video file is:
ffmpeg -i input.mp4 -vf subtitles=subs.srt out.mp4

where input.mp4 is your source video, subs.srt is your subtitles and out.mp4 is your output video.
If you have a lot of videos it makes sense to use some sort of scripting to speed up the process. If you're on windows then powershell is a good option (actually it's cross-platform so you can also do this on a mac). Run powershell by hitting Windows-R and typing in powershell.
Say you have a folder of videos and srt files, and each video has an srt file with the same name. You could do this to join them all:
cd "c:\the\path\to\your folder with\the movies"
mkdir "processed"
get-childItem *.mp4|%{
    ffmpeg -i $_ -vf subtitles=($_.name.replace("mp4", "srt")) (".\processed\" + $_.name.replace(".mp4", "_subs.mp4"))
}

the first line changes directory to c:\the\path\to\your folder with\the movies. Obviously you replace this with the actuall path to your movie folder (you can drag the folder into the powershell console to have it auto-filled for you)
the next line makes a directory called "processed". If we dump the output movies in the same folder as the originals it might confuse the script.
then we start a loop. get-childItem (aka ls) means list the contents of the current directory. In this case we only want the items that match something.mp4 so we use *.mp4 where the * is a wildcard. The output of this command is piped to a foreach-object loop. The pipe is represented by the | character, it sends the output of one command to another command. I've used % which is the shorthand for foreach-object.
What this does is repeat everything inside the {curly braces}, for each member of the list. Inside the curly braces, the current list member that we're working on is represented by the weird looking variable $_. So if the folder contains file1.mp4, file2.mp4, file3.mp4… then $_ will stand for file1.mp4 the first time, file2.mp4 the second and so on.
then comes the real hoo-hah. ffmpeg is called, and the -i input is whatever file we're working on this time round.
The subtitles file has the same name as the video but with a .srt extension. So for the subtitles filter we replace the .mp4 part of the name with .srt. It's in brackets so that powershell knows to do the text replacement before calling the ffmpeg command.
Same deal for the output file. The relative path to the new processed directory is added to the start, and the text "_subs" is added to the end of the name. So what ffmpeg sees when the input is file1.mp4 is:
ffmpeg -i file1.mp4 -vf subtitles=file1.srt .\processed\file1_subs.mp4


text:
FFmpeg keep different sar and dar in multiple videos
I have two video that I'm working through filter_complex.
First video is 1280x720 [SAR 1:1 DAR 16:9] and the second video is 1280x720 [SAR 203:640 DAR 203:360]
I would like to merge the files with filter_complex keeping original sar and dar both each on final output. Please notice I'm using inputs dynamically, so I need a command that keeps sar and dar regardless of the source files.
I tried using the command

setsar=1,setdar=1

But nothing, second video not preserve original aspect (1280x720 [SAR 203:640 DAR 203:360]) and the output is like first video (1280x720 [SAR 1:1 DAR 16:9]). I would like to keep the original parameters also on second video that seems to become SAR 1:1 DAR 16:9.

What's the codec?

@Gyan both h264 (High) yuv420p at 25 fps

Problem was in the source file (second input) that did not respect the correct scales and pads. I solved thanks to this answer https://superuser.com/a/991412. Credits to @LordNeckbeard


text:
Half Screen Mirror Image
I’ve been asked to flip a video clip and display it so it plays alongside the original clip as a mirror image.
I’m using DaVinci Resolve 15 and I’ve found how to flip a clip. I’ve also found how to shrink, crop and move it around on top of the original but when shrinking it does it proportionally so it becomes a quater of the screen size.
Is there anyway to make it take up a full half of the screen so they play side by side of the same size and without any of the image being cropped?

It isn't clear what you are asking here.  If you play them side by side, either some of the image will be cropped or it will only be 1/4 of the size because of the extra width you need.  It isn't clear what your actual goal is.

Thank you, this helps to confirm there really isn't a way of doing it without compromising, I was ever hopeful though!

I mean you can also squash the image but then everything will be badly distorted.

Wish isn't a great look either! It'll just have to be what it is. :)

Depends on whether or not you care about the image appearing squashed/stretched.
If you don't care, then you can hold the shift key while dragging the corners of the transform tool to unlock the aspect ratio.  You can also do this by clicking the chain link icon between the x and y values of the "Zoom" item in the inspector pane, and then altering the numeric values.
If you care about squashing/stretching, you care about cropping, you care about the image not being too small, and you have a fixed screen size, then the answer is no. There's nothing you can do.  It's just the geometry of rectangles, not a limitation of the software.  You have to compromise in one of these areas.  Maybe you crop an equal amount off of each mirrored half, for instance.
But when you say, "take up half the screen," many of us make automatic assumptions about the size and shape of the rectangle you're trying to fill.  We assume that you're talking about a television, most likely, or maybe a YouTube video, but almost certainly something with a 16:9 aspect ratio (a width which is 1.7777 of the height).  But DaVinci Resolve will let you arbitrarily decide the dimensions of the movie file you're trying to create.  So, you could just set your timeline resolution to twice the width of your source media.
To do this, in the Project Settings -> Master Settings, set the "Timeline Resolution" dropdown to "Custom" and enter numeric values in the boxes below.  The left field is width, so you'd enter double the source media's width in that field, and keep the other field the same as the original.  If you set it up right from the beginning, when you go to the Deliver tab to export, you shouldn't have to touch the "Resolution" dropdown menu.  If you do find yourself reaching for that menu, chances are you've made a mistake in the Project Settings.
Of course, If you do try to play a double-wide movie on a 16:9 television screen, you're going to run into the same problems you had in the first place.  Most likely, the TV will add black bars to the top and bottom, and scale your image down to smaller than you wanted.  But it could also stretch, or crop, depending on it's default behavior.  However, if your end goal was always a movie file that would play back windowed on a computer, you're golden.  Just don't think too much about how that window fits into the rectangular display of whatever device the viewer uses ;-}

Oh wow, thank you for the amazing amount of detail in your reply! Really, thank you so much. I think I'm going to have to tell them the options and let them decide what they value more but watching stretched people is no good in my opinion! I realised after posting this that there would have a be a compromise either way but was still hopeful!


text:
How to smooth/correct sudden exposure changes caused by camera while filming?
I have a video clip which shows clouds in a sunset and it lasts half an hour. During that time the light conditions changed and my camera (Fuji X-e1) tried to compensate the changes of exposure. In the final clip i have sudden exposure changes from time to time. The problem is i want to process the clip as a timelapse which lasts only a few seconds and then the sudden exposure changes appear like a really annoying flicker effect.
I know that there are tools for deflickering a set of photographic images shot for a timelapse clip. But is there also a way to deflicker an already existing videoclip within Adobe premiere?

Do you have AE?
In AE you can use the color stabilizer effect.
Import your project to AE, add the color stabilizer onto the clip, change stabilizer to brightness, qnd choose a point that should be black/really dark

If you have to use Premiere, and don't want to use any other tools (and have lots of time), you could move frame by frame around the areas where you can see exposure jumps, using the Lumetri plugin.
You would add Lumetri to the layer, then set the exposure control to be keyframe-able. Step through frame by frame until you see a jump, then tweak the exposure until it looks better.
It will take a while, and you might get better results with something like GBDeflicker though.


text:
Find raw footage based on second hand video?
I am editing video on Premiere CC 2014. I have second hand video from YouTube that I need to take bits from as per a client's suggestion. Once I've done this I want to remake the fresh edits with the raw footage. Is there any way to match video based on audio. Any program to compare edits with raw footage?

In Premiere, you can align clips based on audio by putting the clips on separate tracks, selecting them both, right-clicking on one, and choosing, "Synchronize."
As far as "programs to compare edits with raw footage," DaVinci Resolve has a pretty robust conform process that lets you play a reference video along with any xml you've got from Premiere (or FCPX, Avid, whatever).  It also has a Scene Cut detection feature, which is helpful when there are a lot of "bits" to extract.  I don't remember which features are included in the free version of Resolve, but BlackMagic typically only restricts features meant for Hollywood studios.  It's worth learning, if you have the chance, just to use whichever tool meets your needs.
But if you don't have time to dive into another full NLE, you could just stack your reference video at the top of your Premiere timeline, turn the opacity down, and lock the track.

If your downloaded videos from youtube aren't cut, you can simply make the clip offline and relink it again.
If the downloaded video is edited though, this gets a bit harder.
For good audio Quality, you can use Sync. Simply Google "Premiere Pro Sync Video"
If this isn't possible, you'll probablly need to align it manually.
Roughly match the videos and put them above each other, make the top one a bit transparent and fine-align.


text:
ffmpeg add audio to video not working in below command
in below command final video is created but sound of second video is muted after some time.
here duration of audio and video is same.
ffmpeg -y -i intro.mp4 -i videoaction.mp4 -i outro.mp4 -i audio1.mp3 -i vcs-watermark-video.png -filter_complex "[0:v]drawtext=fontfile=FutuMd.ttf: text=helloworld: x=300: y=450: fontsize=40: fontcolor=white: enable='between(t,2,5)',fade=t=out:st=5:d=1,setpts=PTS-STARTPTS[v0]; \
[1:v][4]overlay=W-w-5:H-h-5,fade=t=in:st=0:d=1,fade=t=out:st=63:d=1,setpts=PTS-STARTPTS[v1]; \
[2:v]fade=t=in:st=0:d=1,setpts=PTS-STARTPTS[v2]; \
[3:a]volume=enable='between(t,36,44)':volume=-10dB[3a];[1:a][3a]amix=inputs=2:duration=shortest[maina]; \
[v0][0][v1][maina][v2][2]concat=n=3:v=1:a=1[outv][outa]" -vcodec libx264 -c:a aac -ac 2 -map "[outv]" -map "[outa]" finalvideo.mp4

The audio.mp3 is likely shorter. Set duration=first in amix.

i tried your answer, not effect in finalvideo.

Add -report and share report

report link: https://we.tl/t-ndnjeTj01z

Log shows no errors. Share the inputs.

inputs: https://we.tl/t-5H8wTu8YhL

i attached inputs link.

Ok, will take a look.

i attached inputs link.


text:
How can I handle extremely long recordings?
I'm working on a software application that needs to process the video of legal depositions, which is just someone talking for a potentially long period of time. Potentially, they could leave the camera running for 8 straight hours, but certainly a single session of testimony could run for an hour or more without pause.
Even with decent compression, this will produce enormous files, and I'm concerned about how to manage these files, how to prevent them getting corrupted, and how to minimize the amount of testimony lost if a file does get corrupted.
Are there tools or techniques for splitting a video during capture so that I could, for example, break up the capture into 5 minute chunks, so that each chunk has a manageable file? Or is there a better way of handling this problem?

Are you worried about the recording stopping due to errors, or are you only dealing with the full recording and can assume those to be in good condition? Also, it depends on what your software is doing in terms of "processing". You won't really gain anything from splitting the files if you're worried about overall size.  See also http://download.das-werkstatt.com/pb/mthk/info/video/comparison_video_codecs_containers.html and http://download.das-werkstatt.com/pb/mthk/info/video/FAQ-digital_video_archiving.html

@slhck: I will read those links, thanks. My concern is, as you say, that the application will crash in the middle of recording, perhaps for some reason totally unrelated to the recording, and this will corrupt the video file. I'm secondarily concerned that a 20GB file, say, will be very hard to manage. In both cases, having a large number of small files seems like it would minimize exposure to such issues.

Perhaps you need to tell us more about the setup. What camera is being used, how are the streams being recorded, what is your application doing in terms of processing? I assumed you'd already get the recorded files from the camera (e.g., from an SD card). Or are you capturing them live, directly from the device onto a hard drive?

@slhck: I'm using a standard HD webcam, attached to my computer by USB cable, and the streams are being recorded however I want to implement that, but definitely by saving the video to files on the hard drive. There's no intermediate SD card.


text:
Audio in source footage cuts out and starts over a third of the way through (Premiere Pro CS6)
This is a very odd issue that I have been experiencing with a particular video clip.
I have a 2 hour long clip that stops the audio at exactly 00:45:21:03 and starts over, as in the audio from the start of the clip continues right at this mark. The clip plays perfectly in VLC (and every other video player) but is consistently an issue in premiere, even in new sequences and projects.
I've tried importing through File>Import with no difference.
I've tried renaming and moving the file with no difference.
The clip is a movie ripped from a dvd, which hasn't been a problem in the past.


text:
Output from a TV to a 2nd monitor
I do AV work at our church. We have a stage TV monitor that sits outside of and above the sound booth where it can be seen from the stage, but not from the booth.
I'd like to output from the TV to a small LCD monitor inside the sound booth so I can monitor exactly what they're seeing from the stage. I do not want to output from the video switcher to a 2nd monitor inside the booth, I want the output from that screen going to a daisy-chained monitor that I can see.
There are 2 reasons for wanting to do it this way:

The IR repeater that we're using for this monitor isn't quite as reliable as I'd like it to be. With a secondary monitor daisy-chained from it, I can turn on the "inside" monitor and, when I see an image on it, I'll know the "outside" monitor is on.
Should I ever happen to hit the wrong button on the video switcher (like I did this morning), a quick glance at this "inside" monitor will help me resolve why there are panicked looks on the faces of the musicians on stage.

I've got a old, small LCD monitor that I don't use for anything. It's only got a VGA input, but I don't mind picking up a component-to- or HDMI-to-VGA converter to use it, but I need to be able to grab the signal from that stage monitor so I know what's going on.
I realize that I could put an HDMI splitter on the cable leading to the TV to resolve issue #2, but that won't tell me if the TV is on/off which I need to resolve issue #1.
Do TVs generally have a video out that could be used for this? Since this was purchased on a church budget, it's probably not a super high-end TV. I haven't had a chance to get up on a ladder and look for a model number, and I forgot to check what brand it is. If it doesn't have a video out, what other options might I have to handle this?

I have not ever heard of a TV that has this feature (I have encountered a few).  Some high-end monitors have this, it's called Display Port daisy-chaining.  As the name implies, it uses DisplayPort and not HDMI.  It's quite a hack; but, I think that your cheapest option would be to put a camera outside the booth looking back at the screen.  Amazon has some very good deals on decent performing cameras, look at Dericam.

Thanks. Not exactly what I wanted to hear... I'm working on a better  IR extender solution that should eliminate the "is it on?" question and will go with a simple HDMI splitter to ensure I'm outputting the right info.


text:
How to add images to video at specific timestamps for a short time?
I would like to create a blank video and add images (occupying the entire screen) throughout the video for a very short amount of time (a frame or a second).
I found a command to create the blank video:

ffmpeg -t 7200 -s 640x480 -f rawvideo -pix_fmt rgb24 -r 25 -i /dev/zero empty.mpeg

Now let's say I have an image. I want to insert the image into the video at the 8th second (or some other arbitrary second), and I want it to remain there only briefly.
How can I do this?

Use the color, scale2ref, and overlay filters. Include the enable option with an expression.
ffmpeg -f lavfi -i color=c=black:s=640x480:d=7200 -i iamge.png -filter_complex "[1][0]scale2ref=oh*mdar:ih[fg][bg];[bg][fg]overlay=(W-w)/2:(H-h)/2:enable='eq(t,8)'[v]" -map "[v]" output


text:
Horizontal noise on RCA capture
I'm trying to record some Wii footage using a Silvercrest capture card. I've managed to get the drivers working and recorded a snippet via an RCA A/V cable.
However, there's a weird kind of noise - some of the lines are randomly displaced to the left.
I know it's not interlacing, but different kind of noise that I don't know how to fix:

Are there ways to prevent this noise from appearing on capture output?
Are there ways to fix such errors in post?

Welcome! My guess is that the setup/black level out of the Wii isn't matching what the capture card expects. But that's just a guess without seeing the signal through a waveform/vectorscope and knowing about the capture card. (Plus it has been a long time since I did much analog troubleshooting.) In a professional environment, I'd run the analog through a TBC/Frame Sync. That's really the only way to prevent it. You can't fix it in post, other than painting every frame.

Answer to question two: definitely not. If you capture that, you're stuck with that.

If your capture device has a gain, fiddle with that. I had a similar image artifact with a VGA to ethernet years ago, and dialing the gain just right made it better, but never fully got rid of it.


text:
How to force to automatically continue VIDEO-Recording after being stopped (after 12 mins or so)
Most photo-cameras (canon or whatever) has the limit, as most of them stop the video-recording after 12 minutes. AFAIK, it is related to SD-CARD limits (as FAT format can hold max 4gb file). However, how to force it to auto-continue recording in the same moment, when overgoes 12 minutes?
So, we no longer need to MANUALLY push the record button again? very annoying...

I believe the avchd file structure employed by many cameras is made to overcome this limitation.

@JasonConrad can you explain it a bit more? will be good if you posted an answer.

Such record limits on still cams can also be related to legislation. For example, many DSLR cams stop at 29:59, because hardware that video records 30 minutes or more is taxed differently.

Nevermind.  I misread the question.  Didn't realize you were talking about photo cameras.  AVCHD is a sony/ panasonic video camera thing.  Other video cameras have similar formats, but as others have posted here, photo camera video file limitations are often artificially imposed for regulatory reasons.

Alternatives:
Depending on the camera model used, one could expand the recording time a 4GB file can take up by reducing the recording quality (compression, bit rate, resolution...) of your video.
With SOME cameras, you might be able to use an SDHC card forcibly formatted to a file system that does not have a 4G file size limit, eg exFAT or NTFS. If you can make it work, test THOROUGHLY.
Be aware that certain cameras also have a hard coded 30 minute video limit, which is there for reasons all unrelated to file size: In some markets, video cameras are taxed higher than still cameras, and the definition of a video camera in the relevant tax codes is continuous video recording capability beyond 30 minutes. In some cases, the camera might also not be THERMALLY designed to handle more than 30 minutes uninterrupted recording load.

I'd be very surprised if a different file format could be made to work. Good answer, though.

@T.Todua it probably won't, but this way far fewer people will find out and create bad press or costly workload for the manufacturer's support staff....

BTW, this is not theoretical at all - a popular brand of mirrorless, video capable cameras is known for hardly making 30 minutes unless the user pays attention to keeping the camera as cool as possible...

@rackandboneman can you say a bit more? so ML cameras are more heaty than DSLR s? and also, after 30 mins, how much time needed for cooling down, to be able to again record another 30 min?  please, include all your comments in your answer completely, and i'll remove my comments from here..

google A7 video overheating, you'll get far more competent details on the issues than what I could tell you as a still photographer that happened upon this question :)

Well, if your camera doesn't support it natively your out of luck. Some Magiclantern Versions for Canon support this feature.
For every other camera, the only way I found sofar is to buy an external timer, set it to 12min and the camera that it starts recording via the external trigger.
Keep in mind though,that this will result short breake.
You need to test it, as some cameras need q few seconds of cool down.
Safest way if pauses are no problem is to set timer to 12.5 minutes

:( thanks. however, could you link a short explanation how to setup that external trigger?

@T.Todua This fepends on your camera, which excact model are you using?

These external triggers are usually called intervalometers, can often find them on amazon for around $30, you need the right connecting cable for your camera. Not every camera has an external trigger input, and you need to make sure that yours will interpret trigger input as "start recording", not "take a photograph". You then need to measure the exact time your camera can record in one go, and set the intervalometer to trigger at an interval of that time plus a second or two.


text:
How to recreate a low shutter speed effect on 1/10000 footage?
My Sony CX405 is a small miracle of technology but the designers have put a lot of effort on making sure it has some strict limitations, so they do not interfere with the market demand for more expensive models. One of those limitations is the impossibility to adjust a filter. As a result of that, you cannot avoid an absurdly short exposure time (like 1/10000 s) when recording outdoors on a sunny day and the resulting footage of moving objects has that broken, stroboscopic look that ruins the smooth experience of 60i video.
Is there any software that can take that footage and emulate a low shutter speed by directionally blurring only the moving parts?

Perhaps an alternative, maybe a firmware update can give you the control you want. Note though, chances are good such an act violates your warranty.

@DigiVisionMedia The camera already allows you to set manually parameters like aperture, shutter speed and so on (though those options are buried in submenus you have to navigate with a small joystick, which conveniently discourages any advanced usage). The problem is, the CMOS is too sensitive for daylight, and if you force a low shutter speed then the iris will automatically close to a tiny hole, blurring the image because of diffraction. The only way around it would be a filter, i.e. a piece of dark glass on top of the lens. They have taken good care to make it impossible to adjust one.

There's no ND filters?


text:
What is the correct format of media creation time?
I noticed my GH5 via ffprobe has metadata such as:
 Metadata:
      creation_time   : 2018-12-31T09:17:48.000000Z
      timecode        : 06:19:42;19

This is actually my local time, so off that bat, the timezone of UTC is wrong IIUC. Nonetheless is there a date/time video standard format for times?
Since I am not 100% sure what format that is, or how to create it via ffmpeg. Is it -metadata creation_time="$(date -u "+%FT%T.%6NZ" -r "${input}")"?

A note about the time zone:
ffmpeg interprets the input as local time, then converts it to and stores it as UTC.
If you want to give it UTC, add 'Z' to the end; ffmpeg then accepts it as UTC and does not change it.
Edit: ffmpeg's behavior is following an ISO 8601 rule: "a date and time [without Z] is assumed to be in some local time zone. ... to indicate that a time is ... (UTC), you can append a capital letter Z ...". Source: Markus Kuhn, https://www.cl.cam.ac.uk/~mgk25/iso-time.html, which I think is an easier introduction than the wikipedia article (https://en.wikipedia.org/wiki/ISO_8601).
I discovered this while testing by encoding to mkv, then reading metadata with ffprobe.
Writing in Python, I tried both local: time.strftime( fmt_string, time.localtime() ) and UTC: time.strftime( fmt_string, time.gmtime() )
With localtime(), my fmt_string was "%Y-%m-%d %H:%M:%S", and there was no problem.
With gmtime() it needed 'Z' on the end; I tried these formats and they gave correct results: "%Y-%m-%dT%H:%M:%SZ" and "%Y%m%dT%H%M%SZ".
When I used "%Y-%m-%d %H:%M:%S" (without a Z) with time.gmtime(), the result was a doubling of the offset: At about 21h local time, the time that gmtime() produced was about 11h (I'm in AEST, 10 hours ahead of UTC); ffmpeg took this as local time and subtracted another 10 hours, so the result that ffprobe showed was around 01h.
The standard says there must not be a space before the Z, so I didn't try that.
Regardless of the input format, ffprobe always wrote creation_time formatted as in this example: "2019-03-27T03:01:29.000000Z". I don't know whether the time is stored in that format, or as a simple number such as a unix timestamp.
Note the Z on the end, which shows that ffmpeg thinks it's a UTC time.
If you write a time in another tag, such as 'comment', it's just a string and stays the way you formatted it.
Using the deprecated option -timestamp (as e.g. -timestamp now) produced a creation_time tag, which ffprobe showed in the same format as shown above.

There is no standard for representation of date-time across all video formats. However, ISO 8601 is most commonly used (as seen in your video). Note that MP4s require that the UTC time be stored, so it's up to the MP4-creating app to convert the local time since readers have to expect only UTC. So, unless you know that, there will be uncertainty as to what the actual time is.

oh, "2018-12-31T09:17:48.000000Z" didn't look quite like iso8601, hence the crazy "+%FT%T.%6NZ formatting. But if iso8601 is acceptable, I'll change my code.

MP4s save the datetime as epoch seconds internally (from 1904-01-01 00:00 UTC). It's up to the consumer app to format it for display. Most use 8601.


text:
Why would it make sense to not be able to video in 30fps in a 720 resolution, and have to video in a higher resolution to get 30fps?
On my GoPro Hero 7 Black, I can choose to video in 720, 1080, 2.7k, or 4k. I can choose 24, 30, 60, 120, or 240 fps.
I wanted to take a video that I didn't need to be able to slow down, and did't need super high quality, so I tried to set it to 720 at 30fps. However, it bounced back to 60fps and told me "30 FPS is supported at 4k, 2.7k, and 1080."
I can understand not being able to video in the higher resolutions at a higher frame rate, such as not being able to video in 4k at 240 (no matter how cool that would be). But why would 30fps in 720 be a limitation? Is it somehow more difficult to video in 720 at 30 FPS?
This also applies to 24fps, BTW.

720 is typically captured at 60fps, not always, it's not required (different video capture devices have different abilities), but 720p60 is more common than 720p30, so it may simply may not be, and likely is not a supported format.
You also shouldn't have to speed it up (as it should play back at it's base frame rate). This is common on higher end camera systems such as RED and ARRI, where you can set your base frame rate of say 24fps, but record 240fps thus it would play back at 1/10th speed.
The base frame rate is encoded into the file's wrapper, and most if not all programs would recognize that for correct playback.

Nothing technically precludes shooting in 720p30, and it is not technically difficult than shooting 1080p30. It is just the choices the manufacturers make. Most consumer AVCHD camcorders do not shoot in 720p, for example. 24p was not supported at all on consumer camcorders 10-15 years ago, so consider yourself lucky to be able to use it :)
You do not need to slow down 60p video for 30p project, most editing tools will simply drop every other frame. The editing program will also scale down 1080 to 720. You will lose nothing compared to shooting straight in 30p. On another hand, you can use some 60p source material for 0.5x slo-mo with no fake frames.
The only downside is that some cameras do not allow selecting shutter speed longer than the duration of a frame, say you cannot select 1/30 when shooting 60p, but can do it when shooting 30p. This can cost you one stop of sensitivity. Anyway, I don't know what GoPro does in this case. Shooting active sports videos at 1/30 will look quite fuzzy anyway.

Sure; I know that shooting in 60fps is better, I'm simply wondering why the camera wouldn't even technically allow it.


text:
Add image as intro and outro to video
Here is basically what I'm trying to do.
I have two files : 1. image.png 2. video.mp4
I'm trying to create a new video file (mp4) with :
IMAGE.PNG for the first 5 seconds
VIDEO.MP4 for the duration of the file VIDEO.MP4 (example 60 seconds)
IMAGE.PNG for 5 seconds
is it possible in FFMPEG?
thanks a lot !

One method is to use the concat filter:
ffmpeg -framerate 25 -loop 1 -t 5 -i image.png -i video.mp4 -f lavfi -t 0.1 -i anullsrc -filter_complex "[0][2][1:v][1:a][0][2]concat=n=3:v=1:a=1[v][a]" -map "[v]" -map "[a]" output.mp4

The anullsrc filter generates silent audio as filler for proper concatenation. The concat filter will automatically pad the silent audio, so you only need a very short duration for anullsrc (this example uses -t 0.1).
This assumes your image is the same width, height, and aspect ratio as video.mp4. If it is not then you'll have to filter the image to match with the scale, pad, crop, or scale2ref filters. There are plenty of example of how to do this on Stack Exchange.
You didn't provide any info on your inputs or ffmpeg build so I only provided this basic example.
An alternative method is to use the concat demuxer which can avoid re-encoding video.mp4, but it can be somewhat harder to use because you'll have to make the video from the image first and made sure all of the parameters are the same as video.mp4. See the FFmpeg Wiki, and again search Stack Exchange for dozens of examples.


text:
Convert 1920x1080 to PAL - DVD
This question differs from how to burn full hd movies (1080px720p) in DVD because I would like to know how to convert the video in this resolution to DVD without giving up too much quality.
I used Any video converter to convert my 1920x1080 video to a PAL-DVD. Since the max resolution of a PAL-DVD is 720x576 the video looks very pixelated. Also the original video with a 16:9 format filled my full screen. The dvd has now black bars on the edge, since 720x576 is not 16:9 ratio.
I know that great movies like lord of the rings are out on DVD, in 16:9 format and look great. How did they make this possible with a 720x576  resolution?

"and look great". Well, I'd agree if it was 2003, but with standard tech as a comparison today, no, they don't.

I have not tried Any Video Converter, but I did try HandBrake, and it works reasonably well. DVD-Video allows up to 9.5 Mbit/s bitrate, so do not be stingy, allow at least 5 Mbit/s or so, considering that free encoders are not very efficient. Make sure frame rates match, or convert without judder or ghosting. Make sure you convert between progressive and interlaced correctly. Make sure your luma is encoded within DVD legal range, otherwise your image will have too much contrast and will lose near-black and near-white detail.
704x576 can be 4:3 or 16:9, plus 8 pixels on each side for digital blanking. The best looking DVDs I authored were 24p ones because they have full vertical resolution. I am not sure whether 25p DVDs can be authored as true progressive DVDs though. Interlaced DVDs look rather sad on a big screen.


text:
How do I know if a YouTube video is available to license?
I am looking at a Video from Germany that was posted to YouTube 2014 and I want to know if I can license it? How would I find this out?

Generally, the only license that's built in to YouTube is the YouTube terms of service. That license is basically that you have to watch through YouTube. You cannot download, reuse, etc. That leaves you with two options: 1) Link to the video, or 2) use the YouTube embed feature, assuming it's been made available for this video. Outside of that, you'll have to ask the video owner.
However, some content creators licence their YouTube videos under the Creative Commons license (which is only valid if the uploader is the owner, naturally). If a YouTube video is under the Creative Commons or anything other than the standard YouTube licence, then it will say so in the video description. See the following snapshot:

Source
You can also filter YouTube search results to include only Creative Commons uploads.
YouTube also recognizes the "Fair Use" doctrine, and lists their understanding of it and how you may use it with regards to YouTube videos here.

Good answer, I would just add: "See if the video or channel has some contact information"


text:
ffmpeg concat removing sound of videos
I've used this code for merging three videos together with ffmpeg :
ffmpeg -y -f concat -safe 0 -i list.txt -c copy done.mp4

the list.txt contains :
file 'first.mp4'
duration 2.5
file 'second.mp4'
duration 20.0
file 'third.mp4'
duration 1.5

But the output video doesn't have any sound! I want sound of each one remains on the output.
what code should i use?

A few things that may or not help: 1. Change your container to something other than mp4, i've had sync issues with mp4 concat before. 2. Confirm there isn't multiple audio streams per ur videos, as that might require further specification. 3. try dropping the -c copy and re-encoding just to see, I'm not familiar with the "duration" bit of your command but I can see it causing issue with -c copy. 4. try command without duration specified in the .txt just to see if that's the problem. 5. Unless its related to the duration bit I'm not sure what the point of the -y is, try without it.

Confirm for certain if you haven't already there is no audio stream in the output file. Infact confirm the number of streams in general that made it over. That seems weird it wouldn't copy any audio stream at all over, i'd 'guess' it's the -y in that case.


text:
FCPX: change export resolution and remove black bars
I have a set of Super 8 movies, digitized to Full HD MP4. This results in black bars left and right. I've imported the movies into Final Cut Pro x 10.4, with those bars. After doing some editing, I prefer to export them without the bars to a 1440x1080 resolution. I can create a project with that resolution. I can crop the clips to that resolution, but if I export it, I get 1920x1080. I don't know what I doing wrong.
Handbrake removes these bars automatically, but exports to 30fps while the movies are 24fps. And I prefer to export directly from FCP.
How can I export movies without the black bars?

This article should help
custom resolution and frame rate in FCPX

Hi German Dude, what will happen to your answer if the link breaks, maybe you could include a summary ?

Hi This article might help as well, sending direct from FCPX to Handbrake
FCPX to Handbrake

Thanks for that link. As I see it, the best option is to export to mov in FCP, then let Handbrake strip the bars and convert to mp4. The automator takes away one step.

Hi Adam, what will happen to your answer if the link breaks, maybe you could include a summary ?


text:
Which camera to use to film without moire effect
I am trying to make a video of a simple cushion which is on a rotating disk. But I am getting so much moire that the video is unusable. At this moment I am using a Canon 5d Mark2 with a zoom lens 24-70mm. See the link below for a picture of the video.
https://i.sstatic.net/pbgWB.jpg
I am ready to buy some new equipment to get rid of this moire effect (around € 1000,-). But I have no idea what to buy. As far as I can find it is not a simple problem which can be fixed with a simple filter. However I found the filter in the link below. I emailed the company to ask if this filter will fix my problem but didn’t get an answer.
http://www.mosaicengineering.com/products/vaf/5d2.html
At this moment I have no idea what to do, buy a new camera? And which one? Or buy that filter?
I am leaning to a new camera because I can test it before I buy it, the filter have to be ordered in the US and send to the Netherlands which makes it really difficult to return, if it is not working.
Can someone please give me some advice how to tackle this moire problem. I will be really happy to read your advice's


text:
ffmpeg.exe ignores yadif filter when using >1 filter on the command line
I'm using Windows and batch converting some SD captures that are 544x576, I want to deinterlace them and scale them to show at the proper aspect ratio. When I use the following command:
FOR /F "tokens=*" %%G IN ('dir /s/b *.576p.mkv') DO c:\bin\ffmpeg.exe -i "%%~fG" -y -filter:v yadif -filter:v scale=in_w:in_h,setsar=1.4118/1 -c:v libx264 -crf 18 -level 3.1 -preset slow -c:a copy "%%~dpnG.out.mkv"
The resultant file is still clearly interlaced, but the video specs show as progressive. Any ideas what would cause this? I'm having to do it in two stages using:
FOR /F "tokens=*" %%G IN ('dir /s/b *.576p.mkv') DO c:\bin\ffmpeg.exe -i "%%~fG" -y -filter:v yadif  -c:v libx264 -crf 17 -level 3.1 -preset slow -c:a copy "%%~dpnG.di.mkv"
then
FOR /F "tokens=*" %%G IN ('dir /s/b *.576p.di.mkv') DO c:\bin\ffmpeg.exe -i "%%~fG" -y -filter:v scale=in_w:in_h,setsar=1.4118/1 -c:v libx264 -crf 17 -level 3.1 -preset slow -c:a copy "%%~dpnG.x264.mkv"
..which is sub-optimal as it would do two separate encodes. However the .di.mkv file is not interlaced (looking at the video with left to right motion there's no combing present)
What would cause the first (yadif) filter to be ignored?
Many thanks!

Use one filtergraph and join simple filters with a comma:
-filter:v "filter1,filter2,filter3"

Your scale isn't doing anything. For example, a 320x240 input with scale=in_w:in_h is the same as scale=320:240.


text:
Do I really need to keep CPI file from AVCHD container?
CPI files accompany MTS files in AVCHD containers created by camcorders.
Various posts on video forums suggest that CPI files should be archived together with MTS files, as they contain metadata about the video. Usually it's even recommended to keep the whole structure of SD card. However, it only works fine as long as an SD card contains recording from a single event. In my case, the videos may be completely unrelated and even taken in different years. Therefore I typically store MTS files only, and organize them by date. Sometimes I also rename the MTS files to something descriptive. Maintaining the AVCHD directory structure or even just MTS+CPI files is an extra burden I'd like to avoid.
In my few attempts MediaInfo seems to extract at least as much information from MTS files as it does from CPI files. Frame rate, resolution, bitrate, recording date and time etc. seem to be all saved in MTS.
So what is the added value of keeping the CPI files?

None of the editing tools I know of uses any files other than MTS/M2TS. Supposedly, these CPI files can be used by a Blu-ray player when it plays the content of a card - which is why the structure of AVCHD media resembles the structure of Blu-ray media - but I never play raw videos from my cards.
I preserve MTS/M2TS files only and throw away everything else. Not once in twelve years I needed them.

Yesterday, while looking for a TC problem in one of my projects, it turned out that some programs are taking important information from files. I don't know yet which file is responsible for this, but it turns out that FCPX extracts e.g. TimeCode from this data during import. If you are working on multiple cameras at the same time and want to work with TC later you should either keep the whole structure or check which file kept the TC information.

At the moment Panasonic AG-AC90, AG-AC130 only retain timecode in CPI files.[![Panasonic AVCCAM viewer][1]][1] If you don't copy them then you will lose timecode data from the camera. This information is not in the MTS file. Before you decide to dump these files, check if the metadata you need is stored by your camera in the MTS. [1]: https://i.sstatic.net/EGj7hsZP.jpg


text:
Sony Vegas pro 15: Can not move Image in Pan/Crop
I am trying to move image using pan/crop tool, but I have no idea how to do that, because there is not any "F frame".
Thank you for advice.

Use the track motion where you can move and resize images


text:
How can I make a slideshow with ffmpeg?
I have a certain number of pictures that I want to repeat until the melody ends. The problem is that when I make settings it does not work.
the process goes on forever
ffmpeg  -pattern_type glob -loop 1 -r:v 1/4 -i "folder/*.jpg"  -i "folder/voice.mp3" -acodec libvo_aacenc -shortest  -c:v libx264  -preset veryslow -pix_fmt yuv420p -b 20M -pix_fmt yuv420p  -y /folder.avi

Your ffmpeg is old. Update it before doing anything else. See FFmpeg Downloads for links to builds for Linux, Windows, and macOS.
Use -framerate instead of -r for input.
Change -acodec libvo_aacenc to -c:a aac. libvoaac_enc is a low quality encoder and support for it has been removed from FFmpeg.
Some players do not like a low frame rate. Declare an output frame rate with -r or the fps filter when the input -framerate is below ~5 fps.
Use -crf instead of -b / -b:v.
Output MP4 instead of AVI.

Example command:
ffmpeg -y -pattern_type glob -loop 1 -framerate 1/4 -i "folder/*.jpg"  -i "folder/voice.mp3" -c:v libx264 -preset veryslow -crf 22 -pix_fmt yuv420p -r 25 -shortest -movflags +faststart folder.mp4

Minimal runnable example
Extracted from this other answer: https://stackoverflow.com/questions/24961127/how-to-create-a-video-from-images-with-ffmpeg/37478183#37478183
Inspired by this timeline.
Get the input media:
mkdir -p orig
cd orig
wget -O 1.png https://upload.wikimedia.org/wikipedia/commons/2/22/Australopithecus_afarensis.png
wget -O 2.jpg https://upload.wikimedia.org/wikipedia/commons/6/61/Homo_habilis-2.JPG
wget -O 3.jpg https://upload.wikimedia.org/wikipedia/commons/c/cb/Homo_erectus_new.JPG
wget -O 4.png https://upload.wikimedia.org/wikipedia/commons/1/1f/Homo_heidelbergensis_-_forensic_facial_reconstruction-crop.png
wget -O 5.jpg https://upload.wikimedia.org/wikipedia/commons/thumb/5/5a/Sabaa_Nissan_Militiaman.jpg/450px-Sabaa_Nissan_Militiaman.jpg
wget -O audio.ogg https://upload.wikimedia.org/wikipedia/commons/7/74/Alnitaque_%26_Moon_Shot_-_EURO_%28Extended_Mix%29.ogg
cd ..

# Convert all to PNG for consistency.
# https://unix.stackexchange.com/questions/29869/converting-multiple-image-files-from-jpeg-to-pdf-format
# Hardlink the ones that are already PNG.
mkdir -p png
mogrify -format png -path png orig/*.jpg
ln -P orig/*.png png

Now we have a quick look at all image sizes to decide on the final aspect ratio:
identify png/*

which outputs:
png/1.png PNG 557x495 557x495+0+0 8-bit sRGB 653KB 0.000u 0:00.000
png/2.png PNG 664x800 664x800+0+0 8-bit sRGB 853KB 0.000u 0:00.000
png/3.png PNG 544x680 544x680+0+0 8-bit sRGB 442KB 0.000u 0:00.000
png/4.png PNG 207x238 207x238+0+0 8-bit sRGB 76.8KB 0.000u 0:00.000
png/5.png PNG 450x600 450x600+0+0 8-bit sRGB 627KB 0.000u 0:00.000

so the classic 480p (640x480 == 4/3) aspect ratio seems appropriate.
Do one conversion with minimal resizing to make widths even (TODO
automate for any width, here I just manually looked at identify output and reduced width and height by one):
mkdir -p raw
convert png/1.png -resize 556x494 raw/1.png
ln -P png/2.png png/3.png png/4.png png/5.png raw
ffmpeg -framerate 1 -pattern_type glob -i 'raw/*.png' -i orig/audio.ogg -c:v libx264 -c:a copy -shortest -r 30 -pix_fmt yuv420p raw.mp4

This produces terrible output, because as seen from:
ffprobe raw.mp4

ffmpeg just takes the size of the first image, 556x494, and then converts all others to that exact size, breaking their aspect ratio.
Now let's convert the images to the target 480p aspect ratio automatically by cropping as per https://stackoverflow.com/questions/21262466/imagemagick-how-to-minimally-crop-an-image-to-a-certain-aspect-ratio
mkdir -p auto
mogrify -path auto -geometry 640x480^ -gravity center -crop 640x480+0+0 png/*.png
ffmpeg -framerate 1 -pattern_type glob -i 'auto/*.png' -i orig/audio.ogg -c:v libx264 -c:a copy -shortest -r 30 -pix_fmt yuv420p auto.mp4

So now, the aspect ratio is good, but inevitably some cropping had to be done, which kind of cut up interesting parts of the images.
The other option is to pad with black background to have the same aspect ratio as shown at: https://stackoverflow.com/questions/18514083/resize-to-fit-in-a-box-and-set-background-to-black-on-empty-part/18514327
mkdir -p black
ffmpeg -framerate 1 -pattern_type glob -i 'black/*.png' -i orig/audio.ogg -c:v libx264 -c:a copy -shortest -r 30 -pix_fmt yuv420p black.mp4

Generally speaking though, you will ideally be able to select images with the same or similar aspect ratios to avoid those problems in the first place.


text:
Moving clip with green screen
I'm working on a project that is using an old "film roll" as a base for it:  I want to have different clips for each color, and I plan on moving the film to the left, but I want to somehow scale the clips down to fit in their respected color, and move with it.
Edit: I know I accidently still have a green in the corner, I fixed that but not re-uploading

Leave the color out and make a png out of it.
Then, create a sequenz which has the length of the bar you want.
Insert as many filmframes as you like.
Now simply draw masks around one frame each.
Put the sequenz in your final sequenze where you can animate it.
(Keep in mind that the holes (little squares) normally don't contain images, as they are holes.)

Masks are not necessary, simply sizing them appropriately on top of the film strip is all that is needed unless the aspect ratio is wrong for the frames.  Otherwise, I agree completely on the approach though.  Certainly place the clips before animating the whole thing as one layer.


text:
Adding hard and soft subtitles to a video
I have several movies and shows, such as Breaking Bad, into which I want to add both soft (optional) subtitles for English, but hard (always on) subtitles for the non-English languages. Is this possible?
All of these files are in mp4 format, and I can find the subtitle files online, or learn to edit them, but have downloaded none yet.

Welcome! The short answer is yes, it is possible. But the devil is in the details. What OS? What is your skill level? What's your intended use (this matters technically, but you should also be aware of the legal impact)?

Burned-in subtitles suck. Soft subtitles can be easily created by making an SRT or SUB file and using appropriate player. Furthermore, many hardware players recognize these subtitles, you can also upload them on YouTube.

Michael Liebman I have windows OS, am a complete beginner, and just intend to play them for personal use, on my Xbox or Computer.  Rusty Core, I only want to burn in the non-english language bits.

You can do this via ffmpeg.exe.
For a guide to installing ffmpeg check the first part of this video here:

For hardsubbing you can check this video here:

Assuming the above is now known:
In your specific case you are going to want to make copies of the video stream and then hardsub the copies with the subfile desired.
To learn about mapping streams you can read here:
https://trac.ffmpeg.org/wiki/Map
All the information is above in those 3 links to get you going with ffmpeg for the purposes needed. If you need help formatting the command for your specific situation please provide a thumbnail of the streams in ur video you want to modify and I can help you with the specifics. Pay close attention to the specific tidbits mentioned in the content above, as there are many traps you can fall into along the way. I'll help you with those though if needed.


text:
How to calculate pricing
I'm making films and videos for the past 3 years and now would like to go into a more professional enviroment.
One of the big tasks for this is to figure out pricing.
How do you calculate your price for videos? And do you openly write the price on your website, or do you ask the customer to take an offer?
I film on BMPCC4k, mostly wedding/event video, music video and maybe commercials.

Simple answer, prices aren't a calculation, they are marketing and deal making.  You should do calculations on what a job will cost you before you bid it to make sure you can do it profitably enough to be worth your time, but ultimately, what you charge for a project is much more about the price you can demand for the work being done for the customer it's being done for.  If I'm doing a small video shoot for a small non-profit or a mom and pop business, my cost is going to be much lower per hour and per resource than if I'm doing a complicated shoot for a large commercial for a major business with deep pockets.
It's a complex interplay of what can be afforded, what is expected, what you are capable of delivering and what the customer needs.  The mom and pop shop can't afford that much and doesn't expect the world if they are a decent customer.  They don't need anywhere near my full capability, so it's a nice easy, low stress job that I can cut them a good deal on and get some filler.  A major corporation on the other hand is going to have much more rigorous demands, require a high degree of quality and I'll need to triple check my prep and work on the job.  They have deep pockets and are willing to pay for the attention and focus, so the job is going to cost them a lot more, even for the same time.
There is no magical equation to solve it for you.  It's business and you need to figure it out as you go by figuring out your market and adjusting your prices up or down for a given context based on if you are getting enough work in that segment of the market or not.  If you have too much work or want less of that segment, raise your prices.  If you have too little work or want to move more in to a segment, lower your prices.

We have three characteristics of every job: Good, Cheap, and Quick. Any given job can only have two characteristics. Let your customers choose.

The only thing I'd add is "Don't undercut yourself. Start at 15% higher than what you think you're worth."


text:
How to change After Effects frame rate so that it doesn't speed up
I recently imported a 59.94 fps mp4 file into After Effects, and due to myself wanting the edit to be smoother, I changed up the fps to 120, but it changes the video speed to a much higher rate. How can I make it so that the fps can be at 120, but the video stays the same speed?

How did you change the fps? If you change the fps of the comp in the composition settings dialog it shouldn't affect the speed of the layers. I'm not sure if you're going to achieve a smoother edit either, but that's beside the point.

First I tried just switching the fps on the right hand side panel, in the project overview part, but then i tried the Interpret Footage tab when right clicking on the clip and changing the fps there. In both ways - it makes it 120 fps, but speeds up the whole clip, dialog AND actual footage.

If I get the question right, what you're wanting to do is add more frames to the footage to make it play smoother. You have to add the frames because your footage was shot at 59.94 frames per second, and you want to double(ish) the number of frames displayed every second to 120. So every frame there has to be an extra 60 (ish) frames to display to make up the shortfall.
Ok so the first thing to do is to make a comp containing the footage and set your comp to 120fps. You do that in the Composition settings dialog. ctrl/cmdk will summon that boi.
So now the composition has two frames for every frame of the source. Being the professional program that it is it will still display your footage at the correct speed, and by default it will do that by displaying every frame twice. This is pretty much the same as playing back your footage at the original fps. We need to make up some frames that don't exist in your footage.
To generate the in-between frames you have to turn on frame blending. This can be done in the layer switches for the layer (Hit f4 to hide/show them). Clicking in the frame blending square once turns on frame-mix blending , clicking again turns on pixel-motion blending .

There are two options. Cheap and cheerful frame mix basically makes a 50% blend of the previous and the next frame to come up with the new frame. The second mode is the computationally intensive, sometimes brilliant, sometimes very weird pixel motion. It uses all sorts of clever algorithms to create a new frame by looking at the motion in previous and following frames and warping your pixels to match. A bit like you added a morph between successive frames.There are also 3rd party plugins for time-stretching, notably Twixtor.
Now you won't see anything when you turn on frame blending for a layer, because by default it's not shown in the preview you see in the comp window, because it slows rendering down a bit. You can turn it on for the preview by hitting the frame blending button in the timeline window, as seen below. It goes blue when it's on.

You also have to make sure that frame blending is on in your render settings if you want the final result to render out with frame blending.
You should prolly read the documentation, it sounds like you're a bit confused about things like interpret footage and time stretching and so on.

yeah i am pretty confused w after effects, im kinda new to it so sorry if im putting things the wrong way or anything. I've followed what you said and im a little confused on the "this can be done in the layer switches for the menu". Where can i find this?

Whoops, typo. I meant layer switches for the layer. They're the icons in the timeline window.


text:
My 50 FPS footage automatically converted to 24FPS by DaVinci Resolve
I have imported my Camera Footage of the Sony Alpha 68 and it is a 50 FPS footage as it shows in the metadata in the below image but when importing into timeline it gets converted to 50 FPS.

Earlier also I have used this type of footage in DaVinci and it played well.
With the recent projects I am getting this problem.
Why is this problem occurring. I am in the middle of my edit.
Any help would be appreciated.

Did you set the project frame rate prior to starting the timeline?

This is related to your default Project timeline framerate.
As soon as you add your first timeline to the Project the Project timeline framerate gets locked, and when you add subsequent imported media it will inherit the same playback framerate as the timeline.
If you start a new Project and first add a New Timeline - it will lock to the Project default timeline framerate.
If you start a new Project and first import Video media with a different framerate to the Project timeline default - it will ask you if you wish to change framerate to match the media, and then lock the timeline framerate.
So probably best to set your framerate on a new Project before you start editing in: Project Settings > Master Settings > Timeline frame rate
You can also create default/loadable settings in: Project Settings > Presets

I'd just add that 1) it's possible to change the playback framerate after your timeline framerate is locked in.  This won't change your final output, but if your playback framerate was misconfigured in the first place, it's possible to fix by simply changing the number. 2) Removing all media and timelines from your project will unlock your timeline framerate again.  Admittedly, re-starting from square one like this doesn't save you much work, and is close to just creating a new project, but it will preserve your bin structure and saved grades, at least. Add this 2 your answer if u want.


text:
How to make a set of a space capsule?
I am going to make a short film for the 2019 Cinespace contest created by NASA.
The short is going to take place inside a space capsule. It has to look something like this:

How do you guys suggest I do it? Do I build a set from scratch? If so... how do I construct it?
Thanks!

Kinda depends on your budget. You could do anything from MDF, bottle caps and hot glue, to commissioning JPL to build you a full-size replica.

This really depends on your budget.
Low Budget:
Find a room which allready looks futuristic with a lot of tech or stuff that looks like buttons and displays. Like in your image, you could make a little bole eye windows with some salad dish, put a screen behind which plays space stuff.
High budget:
Build a little wood cage, also add a little window which shows space and adds natural light.
Then go to home depo and just buy a lot of diffrent knobs and buttons.

to addition to ITnoob, you might like to add some green screen and cgi to enhance the look. But this depence on your skills.
If you have a bit of electronical knowledge, also include some blinking leds and lights


text:
Timeline skimming while pointer is red or white
Using Final Cut Pro X 10.4.5 (Macos Mojave 10.14), I notice that sometimes the timeline pointer is white, then red. With the timeline pointer I mean the point in the timeline where I've clicked, and where a vertical line appears. I don't know the proper name for it.
Anyway, when this line is white, skimming the timeline works. When it's red, skimming doesn't work. If I click on the film strip, selecting it, then the line goes to white and skimming does work again.
I don't know why the line goes red. I suppose I do something that changes this, but I have no idea what it is.

Make sure you are not have Transform, Crop or Distort icon active under the player. This disables skimming until you deselect it.

Thank you, that was exactly the problem i was having.


text:
Strange behaviour of false colors mode on field monitor
I just bought a Feelworld MA7 and did some test yesterday regarding false colors.
Here are my tests:
1) video capture of the scene, together Final Cut Pro X's oscilloscope:

2) photo of what the Feelworld MA7 field monitor was displaying:

Close-up on the scale:

We can see that although pink should be for totally black areas (IRE < 0), MA7's false Colors show pink even in areas holding information, like the left side of the t-shirt which, according to the oscilloscope (and according to our eyes), hold some luminance values.
To push the test a little bit further, I used a lut which applies false colors onto clips in FCPX (https://luts.iwltbap.com/false-color-lut/). Here's the result with the corresponding scale (I think it's Atomos' scale):

In this case, the results are much more intuitive (and better corresponding to the oscilloscope): nowhere do we see dark purple (IRE < 0 on this scale).
Why is that? And ultimately, can I trust the Feelworld MA7 field monitor to help me accurately expose my scenes?

Such cheaper monitors often don't have enough power to calculate it correctly.
Often they are just added as a sales pitch.
I wouldn't totaly trust it, but you can take it as a rough estimate.


text:
Generate LUT from pre- and post-grade image
Is there any way one could generate LUT by comparing the graded and ungraded variant of the same frame?
Let's say I have footage straight from the camera and I also have some of the clips already graded, but I don't have the project. This means I have no way of just extending the same basic grading to the other clips. But maybe some software could just take the graded and ungraded clip, compare them and generate LUT from that, no?

One method would be MatchGrade in Nuke (available only in NukeX and Nuke Studio). It can calculate LUT/CDL from two inputs.
https://learn.foundry.com/nuke/content/reference_guide/color_nodes/matchgrade.html
Blackmagic Resolve has feature for automatic shot matching, but I don't know if you can export LUT from that.

MatchGrade in Nuke seems to have very good results, however the LUT file is .csp, is there any way to export more universal format?

You could go by the way of GenerateLut via CMSTestPattern -> OCIOFileTransform (using csp file generated from MatchGrade) -> GenerateLut. But I would go easier way using LUTLab


text:
Joining files fail with "h264_mp4toannexb filter failed to receive output packet"
I've always joined my MOV recordings with
ffmpeg -f concat -safe 0 -i <(printf "file '$PWD/%s'\n" ./*.mov) -c copy o.mov

however, due to a small glitch in one particular file, I get h264_mp4toannexb filter failed to receive output packet. I may discard the part with the glitch, which is around 01m40s into the file. Copying the problematic input file with -c copy works, but using the new output for joining still fails.
Things I tried without success:

-fflags discardcorrupt
-err_detect ignore_err
-ignore_unknown
-copy_unknown
-ss 00:03:00

A Google search for the error above only returns the source code itself for the concat option: ftp://opensource.tambov.ru/ffmpeg/ffmpeg/libavformat/concatdec.c

One easy workaround I found while writing this question is simply discarding the broken piece of the input file before trying to concatenate the files, in a separate command, since -f concat and -ss 00:03:00 don't work together when "h264_mp4toannexb filter failed to receive output packet" is present.
For example, to discard the first 3 minutes of the file, then concatenate separately:
$ ffmpeg -i broken.mov -c copy -ss 00:03:00 fixed.mov
$ mv broken.mov broken.mov.ignore
$ ffmpeg -f concat -safe 0 -i <(printf "file '$PWD/%s'\n" ./*.mov) -c copy o.mov

I still can't understand why concatenating is the only operation that fails with that error, but the source code linked above might give some hint.


text:
Match color between 10 cameras
I will need to film on 10 cameras soon, as I can't afford to rent 10 cameras, I will collect them from friends, which means I will have many diffrent cameras.
Should I try to color match them in camera with internal saturation, contrast and sharpness or should I match them in post?
They are all lower quality cameras like Canon 700D, Nikon D3500, Panasonic G70...

The only thing you can do to mitigate your pain in post is to white balance all of them on the day of the shoot in the conditions of the shoot (shoot lighting, etc), probably right before the shoot. And then get to work in post. Don't hope for a miracle though. No one would use that many cameras and hope for the colors to match.
You're only going to be reduce the imperfections, so embrace them and don't lose your mind over matching everything perfectly 'cause it's technically impossible -- too many cameras and too many models.


text:
What kind of mic can be used for double bass?
I want to record double bass, so I need a microphone. What type mic can be used for recording double bass?
I interested in micing multiple instrument is there any overview table which shows which mic can be used to record a given instrument?

You can use any microphone for any instrument. However which one you use will depend on your specifics - is the instrument going to be moving, do you want to be very directional to just record one out of an orchestra, do you want an omnidirectional mic to record a group of instruments?
Do you want to record the vibration of the wood through a contact mic, the string vibration through a piezo pickup, or the air vibration using a microphone attached to the instrument or fixed to a stand?
These are the most important questions you need to answer - and then of course you'll end up choosing based on cost :-)


text:
Upscale the key frames while decoding!
I would like to apply some kind of super-resolution (SR) to the keyframes in an H.264 video. The SR process should target the keyframes and upscale them by a factor of 2.
For the past few days, I've been trying to see where can I hold the key frame, in the C src code, in order to scale it. I'm confused whether to apply the scaling in the parsing packet part, or in the decoding part.
I also don't know if upscaling the B & P frames would be enough to not damage the video frames.
I hope you guide me as there are no sufficient documentation about FFmpeg. If you have any suggestions please let me know.
Thank you!

Scaling and other pixel operations operate upon raster data i.e. decoded frames. So you to decode and encode again. I don't think this will turn out as you expect.

I don't actually want to encode again. I want to display the decoded upscaled frames only.

hemoali - I think what gyan is saying is that you have no other option.


text:
FFMPEG tee muxing, map chapters to all outputs
I am trying to encode 2 video files from: 1 source video, 2 source audio files, and 1 source chapter marks file. Because the video file only needs to be encoded once I am using tee muxing for efficiency, however this means I need to explicitly map my streams and for some reason the chapters stream seems to be getting lost. Here is what I am trying to map:
video.mov        ->  output_stereo.mkv
audio_stereo.wav ->  output_stereo.mkv
chapters.txt     ->  output_stereo.mkv

video.mov        ->  output_5.1.mkv
audio_5.1.wav    ->  output_5.1.mkv
chapters.txt     ->  output_5.1.mkv

And here's my FFMPEG command:
-i video.mov -i stereo.wav -i 5.1.wav -i chapters.txt \
-c:v libx264 -flags +global_header \
-map 0:v -map 1:a -c:a copy -map 2:a -c:a copy -map_chapters 3 \
-f tee "[select=\'0:v,1:a]output_stereo.mkv|[select=\'0:v,2:a]output_5.1.mkv"

I assumed that -map_chapters 3 would take the 4th input (the chapters file) and just copy it over to both outputs, but when I inspect the encoded files there is no metadata stream for the chapter marks. Is there some other way I should be doing this?

Continuing to look into this it seems that I will need to specify this in the "select" parameter, however I do not know how to select a metadata stream?

Not implemented at present. For now, do them in separate command afterwards. I'll look into getting this added.

@Gyan Dang, that's a shame! Thanks for the info, at least it's pretty fast to mux the metadata afterwords.


text:
Is there an app that can automatically separate scenes/clips from a video file and export them?
I am looking to parse a collection downloaded YouTube videos that are actually compilations containing clips from several different videos all over the web. I would like for this program to automatically separate the individual scenes/clips from a given video file and export them as each individual video files into a folder.
I have done hours upon hours of searching and tried different programs on my Linux system but to no avail any luck at all with anything that can do this fairly simple task.
It would be really nice to have some program that did this via the command line.
Thank you so very much for your time and expertise.

Most professional quality video editing software has this kind of functionality.  You can take a look at DaVinci Resolve, which is available for free on Linux.  This article has more details about how to do it, but "Scene Cut Detection" is the name of the feature you are looking for and it's available when right clicking on a video file.


text:
Decrease Output file size, without loss in quality
Currently I am using:

ffmpeg -hwaccel cuvid -i input -c:v hevc_nvenc -qp 1 output

I want to know how to compress the file but lossless.


text:
Adobe premiere Pro: timecode not synchronize
I trying to add a timecode to my video but the timer is not synchronise with the video time

Settings:

Any idea ?

Code temporel is pretty buggy. Try to chante the setting which now says Média. If this doesn't help, nest the video and try again

My video is 15 i/s but timecode only allow a minimum of 24 i/s, wtf is this software ?