繁体   English   中英

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

[英]How to extract audio from a video file using python?

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

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

而且我不能等待视频被完全复制然后再进行音频提取。 我必须做到这一点。

我没有完整的解决方案,但是从ffmpeg docs看来,ffmpeg可以通过管道传输到stdin来读取不完整的文件。 来自文档的示例:

cat test.wav | ffmpeg -i pipe:0

如果必须使用python,则始终可以使用subprocess调用ffmpeg

我遇到了类似的问题,找不到使用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

我也在中等水平上为此写了一篇很短的博客文章。

如果您已经了解Python,则不需要复杂的解释。

  1. 选择目标视频文件作为音频。
  2. 然后,仅从该视频中分离音频文件。
  3. 将其另存为sys.argv [2]指定名称的音频文件

您只需要在$ python extract_audio.py之后修改文件名即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM