我想编写一个可以从视频文件中提取音频的python程序(例如video.avi
)。
它有什么好的图书馆吗?我应该从哪里开始?
我试图使用PyMedia,但我无法将其安装在我的MacOSX(Mountain Lion)上。
修改
问题是video.avi
不完全可用。有人在写它并每秒添加一些帧。所以我想在python中编写一个代码来获取视频,并从中提取音频并将其写入文件(例如audio.mp3
,audio.wav
)。
我不知道ffmpeg
是否可以等待将视频复制到video.avi
。
我不能等待视频完全复制,然后进行音频提取。我必须这样做。
答案 0 :(得分:2)
我没有完整的解决方案,但是从ffmpeg docs,看起来ffmpeg可以通过管道传输到stdin来读取不完整的文件。来自文档的示例:
cat test.wav | ffmpeg -i pipe:0
如果必须使用python,则始终可以call ffmpeg using subprocess。
答案 1 :(得分:0)
我遇到了类似的问题,找不到使用Python代码的有效例子。
import sys
from moviepy.editor import *
video = VideoFileClip(sys.argv[1])
audio = video.audio
audio.write_audiofile(sys.argv[2])
# 1. Save this file as extract_audio.py
# 2. Type $python extract_audio.py video_for_audio.mp4 audio_from_video.mp3
我也在medium上写了一篇简短的博客文章。
如果您已经了解Python,则不需要复杂的解释。
您需要做的只是修改$ python extract_audio.py之后的文件名,它将起作用。