ffmpeg 转码命令行 和 python-ffmpeg 转码方法

以下是使用 FFmpeg 进行转码的命令,以将 “test.mp4” 转码为输出分辨率为 720p、码率为 1400kbps、采用 CBR 码率分配、颜色空间为 BT.709、封装格式为 FLV、GOP 设置为 5s、像素格式为 YUV444P、Present 为 fast、音频编码为 AAC、采样率为 44100、音频比特率为 96kbps、立体声的命令:

ffmpeg -i test.mp4 -vf “scale=-1:720” -c:v libx264 -b:v 1400k -minrate 1400k -maxrate 1400k -bufsize 1400k -colorspace bt709 -pix_fmt yuv444p -g 150 -f flv -c:a aac -ar 44100 -b:a 96k -ac 2 output.flv

这里是引用(离正文需要空一行,否则‘正文’会被包含进引用)
-i test.mp4:输入文件为 “test.mp4″。
-vf “scale=-1:720″:视频滤镜,将视频宽度调整为自适应而高度设置为 720,保持宽高比不变。
-c:v libx264:视频编码器选择为 libx264(H.264)。
-b:v 1400k:视频码率为 1400kbps。
-minrate 1400k -maxrate 1400k -bufsize 1400k:设置固定的 CBR 码率分配。
-colorspace bt709:设置颜色空间为 BT.709。
-pix_fmt yuv444p:设置像素格式为 YUV444P。
-g 150:设置 GOP(Group of Pictures)大小为 150 帧,对应于每 5 秒一个关键帧。
-f flv:设置输出封装格式为 FLV。
-c:a aac:音频编码器选择为 AAC。
-ar 44100:音频采样率设置为 44100 Hz。
-b:a 96k:音频比特率设置为 96kbps。
-ac 2:设置音频为立体声(双声道)。

python-ffmpeg 安装

pip install python-ffmpeg

基本用法:

from ffmpeg import FFmpeg, Progress
def main():
ffmpeg = (
FFmpeg()
.option(“y”)
.input(“input.mp4”)
.output(
“ouptut.mp4”,
{“codec:v”: “libx264”},
crf=24,
)
)
ffmpeg.execute()
if __name__ == “__main__”:
main()

两种方式设置参数
一种是字典 eg:{“b:v”:500,”g”:50,/…..} 将参数用字典输入(参数的key 就是 -key,value 就是具体的值)
如果是没有参数的值: 可以直接用 .option(“psnr”) 这种
另一种是 crf = 24 , vf = “xxx” 这种赋值方式.

还有一堆回调函数可以设置:

@ffmpeg.on(“progress”)
def time_to_terminate(progress: Progress):
if progress.frame > 200:
ffmpeg.terminate()
进度回调函数

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容