
Lastly, we map ch1 and ch2 to produce two separate WAV files. The first pan filter will select the first channel (c0) from a1 and the second one will select the second channel (c1)from a2, and we label the outputs from these pan filters ch1 and ch2 respectively. Then we connect each of these to pan filters that are each set up to produce one mono channel. We first fork the input audio with the asplit filter into two identical branches labeled a1 and a2.

Getting slightly complicated now, but the graph image above should make it easier to understand. filter_complex "asplit=2 pan=mono|c0=c0 pan=mono|c0=c1" \ We scale it to required dimensions and give a pattern for the thumbnail filename to be numbered as we like.Įxtract audio channels ffmpeg -y -i input.mxf \ The fps filter is used here to say that we need 1 frame every 5 seconds. Thumbnails at interval ffmpeg -y -i input.mp4 -filter_complex "fps=1/5,scale=320:180" thumbnail-%03d.jpg We can give a filename with .jpg extension, and -vframes 1 will tell FFmpeg to produce a single image at the specified time instance. Snapshot at time ffmpeg -y -i input.mkv -ss 2.598 -vframes 1 output.jpg Here, -ss and -to are used to specify the start and end times in seconds. Here we are using the scale filter and specifying the output width and height.Ĭlipping ffmpeg -y -i input.mkv -ss 30.4 -to 40.15 output.mp4 Filters sit between the input and the output and make some change to the media flowing through them. filter_complex can be used to combine many filters together. Resize the video ffmpeg -y -i input.mkv -filter_complex scale=720:480 output.mp4


map 0:v selects the video streams from the first input (we have only one input file here anyway, marked by 0), while 0:a means the audio streams. Take only video or audio ffmpeg -y -i input.mkv -map 0:v output.mp4 Here, we specify the video and audio codecs with -vcodec and -acodec.

It is common to use FFmpeg to transcode from one codec to another. In addition to these two, FFmpeg supports many other popular multimedia file formats, including MXF, AVI, WAV, M4A, JPG, PNG etc.Ĭodec conversion ffmpeg -y -i input.mkv -vcodec libx264 -acodec flac output.mkv y denotes that we want to overwrite output.mp4 if it already exists. In this simplest example, FFmpeg produces MP4 output from MKV input. Format conversion ffmpeg -y -i input.mkv output.mp4
