Pythonはビデオからオーディオを抽出します

前書き

VideoCaptureクラスを使用してOpenCVで記述されたビデオには音声がありません。音声をさらに処理する場合は、ライブラリMoviePyを使用する必要があります。このライブラリは、トリミング、スプライス、タイトル挿入、ビデオ合成、ビデオ処理、およびカスタムエフェクト。

インストール

pip install moviepy

コード

from moviepy.editor import *

video = VideoFileClip('平妖往事live.mp4')
audio = video.audio
audio.write_audiofile('test.mp3')
MoviePy - Writing audio in test.mp3
MoviePy - Done.

moviepyビデオ編集ライブラリをインストールせずにffmpeg-pythonライブラリを直接使用できます。リファレンス4を参照してください。コードは少し複雑です。

オーディオフォーマット

extensions_dict = {
    
     "mp4":  {
    
    'type':'video', 'codec':['libx264','libmpeg4', 'aac']},
                    'ogv':  {
    
    'type':'video', 'codec':['libtheora']},
                    'webm': {
    
    'type':'video', 'codec':['libvpx']},
                    'avi':  {
    
    'type':'video'},
                    'mov':  {
    
    'type':'video'},

                    'ogg':  {
    
    'type':'audio', 'codec':['libvorbis']},
                    'mp3':  {
    
    'type':'audio', 'codec':['libmp3lame']},
                    'wav':  {
    
    'type':'audio', 'codec':['pcm_s16le', 'pcm_s24le', 'pcm_s32le']},
                    'm4a':  {
    
    'type':'audio', 'codec':['libfdk_aac']}
                  }

ogg、mp3、wav、m4aの4つの形式がサポートされていることがわかります。m4a出力の個人テストは失敗します。mp3とwavのみを使用することをお勧めします。

テストの2分間のビデオエクスポートmp3は1.83Mb、wavは20.1Mbです。

mp3は損失の多い形式、wavは損失のない形式です。必要に応じて選択してください

備考

より低いレベルのオーディオおよびビデオ処理アプリケーションを実現するにはffmpeg

参照

  1. Pythonでビデオからオーディオを抽出する方法
  2. MoviePyチュートリアル
  3. moviepy・PyPI
  4. PythonとFFmpegを使用してビデオからオーディオを抽出する
  5. MoviePy-中国の文書

おすすめ

転載: blog.csdn.net/qq_33254766/article/details/108766915