基于python的ffmpeg
时间: 2023-11-04 08:53:03 浏览: 147
Python中可以使用ffmpeg进行音视频处理。有两种常用的方式:使用subprocess调用ffmpeg命令行工具,或使用第三方库pyffmpeg。
使用subprocess调用ffmpeg命令行工具的示例代码如下:
``` python
import subprocess
# 视频转码
subprocess.call(['ffmpeg', '-i', 'input.mp4', '-c:v', 'libx264', '-preset', 'slow', '-crf', '22', '-c:a', 'copy', 'output.mp4'])
# 提取音频
subprocess.call(['ffmpeg', '-i', 'input.mp4', '-vn', '-c:a', 'copy', 'output.mp3'])
# 合并音视频
subprocess.call(['ffmpeg', '-i', 'input.mp4', '-i', 'input.mp3', '-c:v', 'copy', '-c:a', 'copy', 'output.mp4'])
```
使用pyffmpeg的示例代码如下:
``` python
import ffmpeg
# 视频转码
input_file = ffmpeg.input('input.mp4')
output_file = ffmpeg.output(input_file, 'output.mp4', vcodec='libx264', preset='slow', crf=22, acodec='copy')
ffmpeg.run(output_file)
# 提取音频
input_file = ffmpeg.input('input.mp4')
output_file = ffmpeg.output(input_file.audio, 'output.mp3', acodec='copy')
ffmpeg.run(output_file)
# 合并音视频
input_video = ffmpeg.input('input.mp4')
input_audio = ffmpeg.input('input.mp3')
output_file = ffmpeg.output(input_video, input_audio, 'output.mp4', vcodec='copy', acodec='copy')
ffmpeg.run(output_file)
```
需要注意的是,使用ffmpeg进行音视频处理需要安装ffmpeg工具和Python的ffmpeg库。安装方法可以参考官方文档。
阅读全文