如何使用python从视频文件中提取音频?

时间:2013-10-07 03:00:06

标签: python audio video extract

我想编写一个可以从视频文件中提取音频的python程序(例如video.avi)。 它有什么好的图书馆吗?我应该从哪里开始? 我试图使用PyMedia,但我无法将其安装在我的MacOSX(Mountain Lion)上。

修改 问题是video.avi不完全可用。有人在写它并每秒添加一些帧。所以我想在python中编写一个代码来获取视频,并从中提取音频并将其写入文件(例如audio.mp3audio.wav)。 我不知道ffmpeg是否可以等待将视频复制到video.avi

我不能等待视频完全复制,然后进行音频提取。我必须这样做。

2 个答案:

答案 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,则不需要复杂的解释。

  1. 选择目标视频文件作为音频。
  2. 然后,仅将音频文件与该视频分开。
  3. 通过sys.argv [2]将其保存为具有给定名称的音频文件

您需要做的只是修改$ python extract_audio.py之后的文件名,它将起作用。

相关问题