【Python】YouTubeの動画から音声ファイルのみを抜き出す方法

Python

YouTubeの動画から音声ファイルのみを抜き出す方法を調べてサンプルコードを実行したところ「urllib.error.HTTPError: HTTP Error 400: Bad Request」とったエラーになり調べたところ、2024年8月時点においてpytubeパッケージではこのエラーになるそうです。

そこで今回はエラーにならない方法をご紹介したいと思います。

必要パッケージのインストール

pytubefixのインストール

次のコマンドでpytubefixをインストールしましょう。こちらがpytubeパッケージのfix版になります。

pip install pytubefix

moviepyのインストール

次にmoviepyをインストールします。こちらは動画編集を自動化するモジュールです。

pip install moviepy

プログラムコード

次にこちらのプログラムを実行します。YouTube()の中をダウンロードしたいYouTube動画のURLに変更してください。サンプルではOnePiece考察者やまちゃん。さんの考察動画にしています。

実行

実行するとターミナルに進捗が表示されます。

実行結果

本プログラムファイルと同じ階層にtest.mp3が出力されます。

実行してみると

音声を聴くことができました!

さいごに

いかがだったでしょうか。

今回はpytubeパッケージを使用した場合に「urllib.error.HTTPError: HTTP Error 400: Bad Request」のエラーがでないように、pytubefixパッケージを使用してYouTube動画から音声ファイルを抽出する方法をご紹介しました。

今回抽出した音声データをWhisperを用いて文字起こしすることで、自動で動画に付与されている字幕よりも高精度な文字起こしのデータを抽出できるのではないかと思います。

その方法もこちらのサイトにてご紹介したいと思いますので、よろしくお願いいたします!

コメント

タイトルとURLをコピーしました