質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
YouTube

YouTubeとはユーザーがビデオをアップロード・共有・閲覧できるビデオ共有ウェブサイトです。

ダウンロード

リモートシステムからローカルシステムへとデータを受信する事、もしくはそのようなデータ転送を行う事をダウンロードと呼びます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

929閲覧

動画の音声ファイル化

退会済みユーザー

退会済みユーザー

総合スコア0

YouTube

YouTubeとはユーザーがビデオをアップロード・共有・閲覧できるビデオ共有ウェブサイトです。

ダウンロード

リモートシステムからローカルシステムへとデータを受信する事、もしくはそのようなデータ転送を行う事をダウンロードと呼びます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/11/03 10:48

前提・実現したいこと

YouTube動画を音声ファイルとしてダウンロードしたいです

以下のサイトを参考にしました
https://self-development.info/youtube%E3%81%AE%E5%8B%95%E7%94%BB%E3%82%92%E6%96%87%E5%AD%97%E8%B5%B7%E3%81%93%E3%81%97%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8F%E3%81%B9%E3%81%8D/

発生している問題・エラーメッセージ

File "<ipython-input-23-876320a9b05c>", line 2 youtube-dl 'https://www.youtube.com/watch?v=xxxxx' -x --audio-format wav -o 'xxxxx.wav' ^ SyntaxError: invalid syntax

該当のソースコード

Python

1import youtube_dl 2youtube-dl 'https://www.youtube.com/watch?v=xxxxx' -x --audio-format wav -o 'xxxxx.wav'

試したこと

ターミナルでyoutube-dlとffmegをインストールしました

youtube-dl.exeとffmegを同じディレクトリに入れました

補足情報(FW/ツールのバージョンなど)

Mac、jupyrter、Python3を使用しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

melian

2021/11/03 10:57 編集

youtube-dl 'htt ps://www.youtube.com/watch?v=xxxxx' ... の行はコマンドラインで実行します。。。
退会済みユーザー

退会済みユーザー

2021/11/03 11:15

ご回答ありがとうございます。 複数のファイルの処理を繰り返し行うためにfor文で使いたいのですが、Pythonでは使用できないということでしょうか? 代替方法があれば教えていただきたいです。
melian

2021/11/03 11:26

Python でも使用できます。 youtubu-dl はコマンド(中身は Python で書かれたスクリプト)なので、上記に書かれた様には使うことができません。自分で書くコードでは、 まず最初に youtube_dl のモジュールをインポートします。 from youtube_dl import main あとは https://github.com/ytdl-org/youtube-dl/blob/master/docs/module_guide.rst などを読みます。
退会済みユーザー

退会済みユーザー

2021/11/03 12:04 編集

度々すみません。 指定されたURLから動画のダウンロードはできたのですが、音声変換も同時に行いたいのですが、可能ですか?
melian

2021/11/03 12:10

youtube-dl -x ... と同様の結果を得たいのであれば可能なはずです(youtube_dl ライブラリの API を調べることになります)。
退会済みユーザー

退会済みユーザー

2021/11/03 13:28

他のサイトの情報からsubprocessとffmpegをyoutube_dl ライブラリから探しましたが、関連するを見つけることができませんでした。 探し方のアドバイスをいただけないですか
guest

回答1

0

ベストアンサー

auge-543

指定されたURLから動画のダウンロードはできたのですが、音声変換も同時に行いたいのですが、可能ですか?

melian

youtube-dl -x ... と同様の結果を得たいのであれば可能なはずです(youtube_dl ライブラリの API を調べることになります)

調べてみたのですが、、youtube_dl のソースコードを読む方が確実かと思ったのでそうしてみました。

sh

1$ youtube-dl 'https://www.youtube.com/watch?v=xxxxx' -x --audio-format wav -o 'xxxxx.wav'

以下は実装例です。ダウンロードの対象は(ブラウザでアクセスしてみると判るかと思いますが)、youtube_dl の動作確認のために用意された動画です。

python

1import youtube_dl 2 3# youtube_dl test video 4test_video = 'https://www.youtube.com/watch?v=BaW_jenozKc' 5 6# output audio file 7output_file = 'xxxxx.wav' 8audio_format = 'wav' 9 10# download option 11download_opts = { 12 # --audio-format 13 'audioformat': audio_format, 14 # -x or --extract-audio 15 'postprocessors': [{ 16 'key': 'FFmpegExtractAudio', 17 'preferredcodec': audio_format, 18 }], 19 # -o or --output TEMPLATE 20 'outtmpl': output_file.rsplit('.', 1)[0], 21} 22 23with youtube_dl.YoutubeDL(download_opts) as ydl: 24 ydl.download([test_video])

sh

1$ file xxxxx.wav 2xxxxx.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 44100 Hz

投稿2021/11/03 18:04

編集2021/11/03 18:24
melian

総合スコア19618

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/11/04 01:42

音声ファイルダウンロードできました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問