Download-dlを使用して、.mkv
または.webm
の形式ではなく、mp4形式のURLプレイリストのみでビデオをダウンロードするにはどうすればよいですか?
私はこのコマンドを使用してビデオをダウンロードします:youtube-dl -itcv --yes-playlist https://www.youtube.com/playlist?list=....
このコマンドの結果は、拡張子が.mp4
、.mkv
または.webm
のビデオになります。
使用可能な形式を一覧表示するには、次のように入力します。
youtube-dl -F url
次に、フォーマットコードの番号を入力して、特定のフォーマットタイプのダウンロードを選択できます(以下のサンプルでは11
):
youtube-dl -f 11 url
webupd8 の例
youtube-dl -F http://www.youtube.com/watch?v=3JZ_D3ELwOQ
出力例:
[youtube] Setting language
[youtube] 3JZ_D3ELwOQ: Downloading webpage
[youtube] 3JZ_D3ELwOQ: Downloading video info webpage
[youtube] 3JZ_D3ELwOQ: Extracting video information
[info] Available formats for 3JZ_D3ELwOQ:
format code extension resolution note
171 webm audio only DASH webm audio , audio@ 48k (worst)
140 m4a audio only DASH audio , audio@128k
160 mp4 192p DASH video
133 mp4 240p DASH video
134 mp4 360p DASH video
135 mp4 480p DASH video
136 mp4 720p DASH video
137 mp4 1080p DASH video
17 3gp 176x144
36 3gp 320x240
5 flv 400x240
43 webm 640x360
18 mp4 640x360
22 mp4 1280x720 (best)
best
を選択して入力できます
youtube-dl -f 22 http://www.youtube.com/watch?v=3JZ_D3ELwOQ
最高のビデオ品質(1080p DASH-フォーマット "137")および最高のオーディオ品質(DASHオーディオ-フォーマット "140")を取得するには、次のコマンドを使用する必要があります。
youtube-dl -f 137+140 http://www.youtube.com/watch?v=3JZ_D3ELwOQ
[〜#〜]編集[〜#〜]
あなたはより多くのオプションを得ることができます ここ
ビデオの選択:
--playlist-start NUMBER Playlist video to start at (default is 1)
--playlist-end NUMBER Playlist video to end at (default is last)
--playlist-items ITEM_SPEC Playlist video items to download. Specify
indices of the videos in the playlist
separated by commas like: "--playlist-items
1,2,5,8" if you want to download videos
indexed 1, 2, 5, 8 in the playlist. You can
specify range: "--playlist-items
1-3,7,10-13", it will download the videos
at index 1, 2, 3, 7, 10, 11, 12 and 13.
--match-title REGEX Download only matching titles (regex or
caseless sub-string)
--reject-title REGEX Skip download for matching titles (regex or
caseless sub-string)
--max-downloads NUMBER Abort after downloading NUMBER files
--min-filesize SIZE Do not download any videos smaller than
SIZE (e.g. 50k or 44.6m)
--max-filesize SIZE Do not download any videos larger than SIZE
(e.g. 50k or 44.6m)
--date DATE Download only videos uploaded in this date
--datebefore DATE Download only videos uploaded on or before
this date (i.e. inclusive)
--dateafter DATE Download only videos uploaded on or after
this date (i.e. inclusive)
--min-views COUNT Do not download any videos with less than
COUNT views
--max-views COUNT Do not download any videos with more than
COUNT views
--match-filter FILTER Generic video filter (experimental).
Specify any key (see help for -o for a list
of available keys) to match if the key is
present, !key to check if the key is not
present,key > NUMBER (like "comment_count >
12", also works with >=, <, <=, !=, =) to
compare against a number, and & to require
multiple matches. Values which are not
known are excluded unless you put a
question mark (?) after the operator.For
example, to only match videos that have
been liked more than 100 times and disliked
less than 50 times (or the dislike
functionality is not available at the given
service), but who also have a description,
use --match-filter "like_count > 100 &
dislike_count <? 50 & description" .
--no-playlist Download only the video, if the URL refers
to a video and a playlist.
--yes-playlist Download the playlist, if the URL refers to
a video and a playlist.
--age-limit YEARS Download only videos suitable for the given
age
--download-archive FILE Download only videos not listed in the
archive file. Record the IDs of all
downloaded videos in it.
--include-ads Download advertisements as well
(experimental)
このように( source ):
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4' url
これによると コメント によってglenn-slaydenによって、最高のビデオ品質を持つmp4形式が次のように得られます。
このスレッドは少し古いと思いますが、状況は少し変わったと思います。私の目標:
- 何よりもまず、フォーマットに関係なく、常に最高のビデオ品質を使用します。
- ただし、オーディオ形式だけを許可しないと、mp4が失われます。
以前は
bestvideo+bestaudio/best
を使用していましたが、次のバリアントはmkv
を削減するのにはるかに効果的で、webm
を排除するように見えますが、それでも最高品質のビデオを保証します(donこれを使用する場合は--merge-output-format
オプションを使用しないでください):--format bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best
最初の用語では、
ext
フィルターはオーディオに対して指定されていますが、ビデオに対しては指定されていないことに注意してください、上記の説明で言及されていなかった手法。私の述べた目標に対してそれが逆に思われる場合、それはビデオ形式がmp4
であることを確認しようとしていることを考慮して、オーディオに制約が与えられているのはなぜですか?重要なのは、anyの一部である場合、(スラッシュで区切られた)各フォールバック項が失敗することです。要件が満たされず、次の用語に進みます。
bestvideo+bestaudio
を使用する場合、mp4以外のコンテナーを取得する多くのケースが表示されるのは、その形式の選択がbestaudio
を明確に主張しているため、混合形式を意味する場合があるためです。これは、bestvideo+bestaudio
コマンドがしつこすぎるため、mp4
から強制的に抜け出してしまうためです。しかし、mp4コンテナーを取得することよりも音質?最初に
m4a
オーディオを主張しますが、次にbestvideo
を再度発行しながらその部分のみに依存します-(上記のフォーマット選択を使用して)本質的にフレキシブルpreferencemp4
は他のコンテナよりも優れています。確かにdo可能であればmp4
が必要ですが、ビデオ品質が低下するという犠牲はありません。先ほど述べたように、
mkv
はまだいくらか得られますが、数は大幅に減り、(おそらく)より優れたビデオを提供する必要がある場合にのみ使用されます。そして、これまでのところ、248 + 140のように動作するため、webm
はまったく表示されていません。mkv
。
後者の場合、--merge-output-format mp4
を追加すると、必要に応じてmp4に変換されます。したがって、完全なコマンドは次のとおりです。
youtube-dl --format "bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best" --merge-output-format mp4
youtube-dl -f mp4 <url>
を使用できます。
それが適切であるかどうかはわかりませんが、それが機能し、mp4形式のオーディオとビデオの両方が最高品質のmp4ファイルを提供します。
このファイルは-f <the best options>
で取得したファイルとは少し異なりますが、ストリームは同じように見えます。私はビデオで両方を試しました:-f mp4
、次に-f 137+140
(手動で最高のオーディオとビデオを選択)。 ffprobeは-f mp4
で取得したファイルについてこれを言います:
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2019-06-23T18:39:33.000000Z
Duration: 00:00:56.01, start: 0.000000, bitrate: 906 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 775 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
creation_time : 2019-06-23T18:39:33.000000Z
handler_name : ISO Media file produced by Google Inc. Created on: 06/23/2019.
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
Metadata:
creation_time : 2019-06-23T18:39:33.000000Z
handler_name : ISO Media file produced by Google Inc. Created on: 06/23/2019.
そして、これは-f 137+140
で取得したファイルについてです。
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.9.100
Duration: 00:00:56.05, start: 0.000000, bitrate: 909 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 775 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
Metadata:
handler_name : SoundHandler
したがって、ビデオストリームとオーディオストリームは同じに見えますが、最終的なファイルをまとめるために、異なるマルチプレクサ(その用語を正しく使用している場合)が使用されています。