web-dev-qa-db-ja.com

youtube-dlでフォーマットmp4のみをダウンロード

Download-dlを使用して、.mkvまたは.webmの形式ではなく、mp4形式のURLプレイリストのみでビデオをダウンロードするにはどうすればよいですか?

私はこのコマンドを使用してビデオをダウンロードします:youtube-dl -itcv --yes-playlist https://www.youtube.com/playlist?list=....

このコマンドの結果は、拡張子が.mp4.mkvまたは.webmのビデオになります。

92
Edgar Oliveira

使用可能な形式を一覧表示するには、次のように入力します。

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)
94
GAD3R

このように( source ):

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4' url
127
s4y

これによると コメント によって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
17
Frank Breitling

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

したがって、ビデオストリームとオーディオストリームは同じに見えますが、最終的なファイルをまとめるために、異なるマルチプレクサ(その用語を正しく使用している場合)が使用されています。

1
felwithe