ffmpy3与ffmpeg的简单使用

本文介绍了ffmpy3,一个用于FFmpeg的Python包装器,用于格式转换、转码、多路分解、多路复用等操作。通过示例展示了如何进行音频与视频的分离、合成以及如何利用管道协议处理输入输出。此外,还提到了异步执行和处理复杂命令行的技巧。
摘要由CSDN通过智能技术生成

安装

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()

二、转码

如果同时我们想用不同的解码器重新编码视频和音频,我们必须指定额外的输出选项:

下面的例子:将音频编码为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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值