- Convert mp4 to avi
- Resize a video or image
- Convert to a specificed bitrate
- Convert opus audio file to m4a file with aac codec
- Convert WAV audio file to MP3 format at a specified audio bitrate
- Convert WAV audio file to MP3 format at a variable audio bitrate
- Convert mp3 audio file to Orbvis format at a specified audio bitrate
- Converting a WAV file to FLAC (a lossless format) and OPUS
- Converting a WAV file to OPUS
- Convert avi file to specified audio sampling rate (22050 Hz), audio bitrate (32 kbps), and frame size (640x480)
- Combine multiple files into one file
- Trim a video or audio according to starting and ending times
- Clipping multiple parts of a video and join them into one video with properly adjusted metadata
- Options
- References
- External links
Convert mp4 to avi
$ ffmpeg -i infile.mp4 outfile.avi
Resize a video or image
Resize a video such that its width is 1080 pixels and the aspect
ratio is maintained, hence the height parameter is
-1
:
$ ffmpeg -i input.mp4 -vf scale=1080:-1 output.mp4
Convert to a specificed bitrate
$ ffmpeg -i input.avi -b 64k output.avi
Convert opus audio file to m4a file with aac codec
$ ffmpeg -i input.opus -acodec aac output.m4a
Convert WAV audio file to MP3 format at a specified audio bitrate
$ ffmpeg -i input.wav -acodec mp3 -ab 128k output.mp3
Convert WAV audio file to MP3 format at a variable audio bitrate
$ ffmpeg -i input.wav -codec:a libmp3lame -qscale:a 0 output.mp3
c.f. https://web.archive.org/web/20220214061213/https://trac.ffmpeg.org/wiki/Encode/MP3
Convert mp3 audio file to Orbvis format at a specified audio bitrate
$ ffmpeg -i input.mp3 -acodec libvorbis -crf 15 output.ogg
-crf
: Use Constant Rate Factor to keep the best quality and don't care about the file size. The range of the CRF scale is 0–51, where 0 is lossless, 23 is the default, and 51 is worst quality possible.
Converting a WAV file to FLAC (a lossless format) and OPUS
mediainfo audio_file.wav
ffplay audio_file.wav
ffmpeg -i audio_file.wav \
-acodec flac \
-ac 2 \
-compression_level 10 \
-map_metadata 0 \
audio_file.flac
Converting a WAV file to OPUS
mediainfo audio_file.wav
ffplay audio_file.wav
ffmpeg -i audio_file.wav \
-acodec libopus \
-ab 256k \
-vbr on \
-ac 2 \
-frame_duration 60 \
-compression_level 10 \
-map_metadata 0 \
-application audio \
audio_file.opus
ffplay audio_file.opus
mediainfo audio_file.opus
Options: * -acodec libopus
: equivalent to
-c:a opus
. * -c:a opus
: opus (modern
audio codec generally good for speech) * -c:a flac
:
FLAC (free lossless audio codec) * -ab 256k
: Set
bitrate to 256k. Suggested values: * 128k: input is a lossless
format or a 320k MP3 * 64k: input is a 192k MP3 * -vbr
on
: turns on variable bitrate which may increase quality at
the cost of using some additional kbits for some seconds. *
-ac 2
: left and right audio channels. *
-frame_duration 60
: increases quality at the cost of
40 additional miliseconds of latency. * -compression_level
10
: highest compression rate at the cost of slower
compression speed. * -map_metadata 0
: copy tags from
the MP3 file to the OPUS file. * -application voip
(for speech) or -application audio
(for music).
References: * https://wiki.hydrogenaud.io/index.php?title=Opus * https://wiki.hydrogenaud.io/index.php?title=Flac * https://hydrogenaud.io
Convert avi file to specified audio sampling rate (22050 Hz), audio bitrate (32 kbps), and frame size (640x480)
$ ffmpeg -i input.avi -ar 22050 -ab 32 -s 640×480 video.mp4
One can use named frame sizes such as
-s vga
Combine multiple files into one file
$ ffmpeg -safe 0 -f concat -i ./my_file_list.txt -c copy output_file.mp3
my_file_list.txt
is
# some comment
file './part_file_1.mp3'
file './part_file_2.mp3'
file './part_file_3.mp3'
Trim a video or audio according to starting and ending times
ffmpeg -ss hh:mm:ss -to hh:mm:ss -i 'input.mp4' -c copy output.mp4
Clipping multiple parts of a video and join them into one video with properly adjusted metadata
ffmpeg -i in.mp4 \
-vf "select='between(t,4,6.5)+between(t,17,26)+between(t,74,91)', setpts=N/FRAME_RATE/TB" \
-af "select='between(t,4,6.5)+between(t,17,26)+between(t,74,91)', asetpts=N/SR/TB" \
out.mp4
Options
See formats and codecs available on your computer
$ ffmpeg -formats
References
- https://opensource.com/article/17/6/ffmpeg-convert-media-file-formats
- Converting video & audio files using ffmpeg in GNU/Linux
- ffmpeg.org documentation: main options
- ffmpeg.org documentation: video options
- ffmpeg.org documentation: audio options