安装
python ffmpy3与ffmpeg的安装
https://blog.csdn.net/qq_40962368/article/details/90748852
ffmpy3的介绍:
ffmpy3 - ffmpy3 0.2.3 documentation
ffmpy3是一个用于FFmpeg的Python包装器,最初是从ffmpy项目派生出来的。它根据提供的参数及其各自的选项编译FFmpeg命令行,并使用Python的子进程执行它。
ffmpy3类似于FFmpeg使用的命令行方法。它可以读取任意数量的输入“文件”(常规文件、管道、网络流、抓取设备等),并写入任意数量的输出“文件”。有关FFmpeg命令行选项和参数如何工作的详细信息,请参阅FFmpeg文档。
ffmpy3支持FFmpeg的管道协议。这意味着可以将输入数据传递到stdin并从stdout获得输出数据。
目前,ffmpy3已经为ffmpeg和ffprobe命令提供了包装器,但是应该可以用它运行其他ffmpeg工具(例如ffserver)。
FFmpeg的简单使用
一、格式转换
最简单的用法例子是将媒体从一种格式转换为另一种格式(在本例中是从MP4转换为MPEG传输流),同时保留所有其他属性:
from ffmpy3 import FFmpeg
ff = FFmpeg(inputs={'test.mp4': None},
outputs={'output.ts': None})
print(ff.cmd)
ff.run()
![](https://i-blog.csdnimg.cn/blog_migrate/4aada434c9ac87a6629752ffbdbfcac1.png)
二、转码
如果同时我们想用不同的解码器重新编码视频和音频,我们必须指定额外的输出选项:
下面的例子:将音频编码为mp2格式,将视频编码为mpeg2video模式
from ffmpy3 import FFmpeg
# 这里a就是指audio,v就是指video
ff = FFmpeg(inputs={'test.mp4': None},
outputs={'output.ts': '-c:a mp2 -c:v mpeg2video'})
print(ff.cmd)
ff.run()
ffmpeg -i test.mp4 -c:a mp2 -c:v mpeg2video output.ts
Input #0, ogg, from 'test.mp4':
Stream #0:1: Video: theora, yuv420p, 320x176, 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream #0:2: Audio: vorbis, 48000 Hz, stereo, fltp, 160 kb/s
Stream mapping