簡體   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