You have 10,000 videos that need to have a logo overlayed, subtitles burned in from srt files, and a standard copyright notice attached to the end. Then you need to make three different versions of each, at different sizes and codec settings. It's a quarter to five on Friday night.
Option 1, you spend all weekend doing it in a GUI app, and you have no life.
Audio and video filters are invoked in separate chains. And without enclosing quotes, whitespace will break the chain.
ffmpeg -i 00021.MTS -c:v libx264 -preset ultrafast -crf 0 -vf "fade=in:0:500, scale=384:218" -af afade=in:0:300 scaled.avi
You can do it with a combination of the crop & pad video filters:
Both filters use the same format: width:height:x-offset:y-offset
In the crop filter, you want width to be same as the video's input width (you can use the variable in_w). You want to crop 60 pixels (30*2) from the ...
Don't worry, all you did is increase verbosity. The Shift had no effect, but the + increased it. Press - to cycle back to a lower verbosity level.
Press ? to see a list of all available commands.
If you want to not worry about accidental keypresses, you can add -nostdin to the command. Don't do this if one of your inputs is a pipe.
The concat filter uses the frame rate of the first input as the framerate for the output stream. Some MKV/WebM files don't write valid framerates. That can lead ffmpeg to assign a framerate of 1000 (the inverse of default timebase in Matroska), which can lead to huge frame duplication.
Set a sane output framerate for such scenarios.
ffmpeg -i intro.mkv -i ...
First, if you just want information about a file, you should probably use "ffprobe", not "ffmpeg". Otherwise you'll get an answer, but you'll also have an error return status.
As to your real question: By convention, ffmpeg reserves STDOUT for binary video and audio data only. Everything else, including all the possible kinds of ...
dvd_subtitle indicates an image-based subtitle. You can skip it, or overlay it on the video, or convert it to a text subtitle.
To skip it, add -map -s.
To overlay it, add -filter_complex "[0:0]yadif[v];[v][0:2]overlay"
To convert to text subtitle, see https://stackoverflow.com/a/36327919/5726027
This is a workaround which converts the files to another container format. It happens almost as fast as your hard disk can write data because nothing is re-encoded.
use MKVToolNix (specifically mkvmerge) to combine the mp4 files and their srt files into mkv files (perhaps you can automate this with a loop). I never use this tool via command line and cannot ...
What a fade out does is fade the volume from input level to 0 and then keep it at 0 for the rest of the track. Similarly, what a fade in does is fade the volume from 0 to input level and it mutes the volume from the start of the track upto the fade in start time.
When you applied the fade in after the fade out, the 2nd fade filter is working with a muted ...
You would carry that out, like this:
ffmpeg -i in.mp4 -filter_complex \
setpts=PTS+1/TB/FRAME_RATE delays the overlay by 1 frame. Change the 1 to adjust delay.
format=yuva444p makes sure there's ...