ffmpeg 图片合成视频

静默输出

-y 将所有需要确认的操作默认为yes

-framerate 或 -r , 为帧率,默认25

-i “D:/Temp/img.%04d.png” 为输入图片的命名格式
ffmpeg 图片合成视频_第1张图片
-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

codec是一种标准的压缩方式,用于数据的编码和解码

比如mp4文件,会使用aac编码音频audio stream,用h264来编码视频video stream

常用音频编码格式包括: aac , mp3, vorbis

常用视频编码格式包括:H.264, MPEG-2,VP9

什么是Container

一个container就是一种文件格式

保存1或更多的编码后的流stream, 包括 audio,video ,data
包含关于这些流自身的信息

常用的container格式: mp4, mov, avi

你可能感兴趣的:(MayaDev,python,ffmpeg)