-y 将所有需要确认的操作默认为yes
-framerate 或 -r , 为帧率,默认25
-i “D:/Temp/img.%04d.png” 为输入图片的命名格式
-c:v 为视频编码格式, libx264表示使用H.264, 这种格式文件体积较小
H.264又有四种画质等级,baseline, extended, main, high
使用 -level 指定,1.0 、 2.0 、 3.0 或 4.0
-vf 为视频过滤器video filter,其中scale为resolution,-2表示保持原有比例,输入图片是720x540的,输出后视频的默认尺寸放大了,变为960x(540*960/720)
–preset的参数主要调节编码速度和质量的平衡,有ultrafast(转码速度最快,视频往往也最模糊)、superfast、veryfast、faster、fast、medium、slow、slower、veryslow、placebo这10个选项,从快到慢。
-crf:v 为视频质量参数 constant rate factor,0-51,0为无损,51为最糟画质,默认23
-pix_fmt 为像素模式pixel format,最常用格式为yuv420p, 其它yuv444p, rgb555le等
ffmpeg -y -framerate 24.0 -i "D:/Temp/img/img.%04d.png" -c:v libx264 -crf 30 -preset:v ultrafast -pix_fmt yuv420p -vf "scale=960:-2" "D:/Temp/output.mov"
-c:a 为音频编码器Codec Audio,-c:a aac
ffmpeg -r 24 -i "D:/Temp/img/img.%04d.png" -i "D:/Temp/sound.wav" -c:v libx264 -c:a aac "D:/Temp/output.mov"
-ar 为音频采样率 audio sample rate
ffmpeg -r 24 -i "D:/Temp/img/img.%04d.png" -i "D:/Temp/sound.wav" -c:v libx264 -c:a aac -ar 48000 "D:/Temp/output.mov"
-b:a 为音频的比特率,越高传送的数据越大,声音越清晰,音质越好
ffmpeg -r 24 -i "D:/Temp/img/img.%04d.png" -i "D:/Temp/sound.wav" -c:v libx264 -c:a aac -ar 48000 -b:a 64k "D:/Temp/output.mov"
-shortest , 输出视频的时长取输入音、画中最短的时长
ffmpeg -r 24 -i "D:/Temp/img/img.%04d.png" -i "D:/Temp/sound.wav" -c:v libx264 -shortest "D:/Temp/output.mov"
-filter_complex “[1:0] apad” 当音频较短时,在后面补上静默音,需要配合-shortest使用
ffmpeg -i VIDEO -i AUDIO -filter_complex "[1:0] apad" -shortest OUTPUT
codec是一种标准的压缩方式,用于数据的编码和解码
比如mp4文件,会使用aac编码音频audio stream,用h264来编码视频video stream
常用音频编码格式包括: aac , mp3, vorbis
常用视频编码格式包括:H.264, MPEG-2,VP9
一个container就是一种文件格式
保存1或更多的编码后的流stream, 包括 audio,video ,data
包含关于这些流自身的信息
常用的container格式: mp4, mov, avi