在 youtube-dl 上仅下载 mp4 格式

在 youtube-dl 上仅下载 mp4 格式

如何使用 download-dl 通过 url 播放列表下载视频(仅限格式 mp4 而不是格式.mkv.webm)?

我使用这个命令来下载视频:youtube-dl -itcv --yes-playlist https://www.youtube.com/playlist?list=....

该命令的结果是带有扩展名的视频.mp4.mkv或者.webm

答案1

像这样 (来源):

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

答案2

更新

使用 yt-dlp(一个漂亮的youtube-dl叉子)。安装指南

yt-dlp -f "best[ext=mp4]" URL
原答案

要列出可用的格式,请键入:

youtube-dl -F url

然后,您可以通过输入格式代码的数字来选择下载某种格式类型(在下面的示例中11):

youtube-dl -f 11 url 

示例来自网络更新8

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)

答案3

根据这个评论通过glenn-slayden,获得最高视频质量的mp4格式如下:

我意识到这个帖子有点旧了,但我认为情况已经有所改变。为了我的目标:

  • 首先也是最重要的是,无论格式如何,始终采用最佳的可用视频质量;
  • 但是之后永远不要放过音频格式导致你失去mp4

以前,我使用的是,但我发现以下变体对于减少、(显然)消除 效果bestvideo+bestaudio/best更好,但仍然保证最高质量的视频(使用此选项时不要使用该选项):mkvwebm--merge-output-format

--format bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best 

请注意,在第一项中,ext滤波器是为音频指定的但不是视频,这是我在上面的讨论中没有看到提到的技术。如果这对于我既定的目标来说似乎是倒退的,那可能是因为,考虑到我们正在努力确保视频格式为mp4,为什么要对音频给出约束?

关键是每个后备项(用斜杠分隔)将失败,如果任何其部分要求失败,进入下一个学期。使用 时bestvideo+bestaudio,许多获取非 mp4 容器的情况只会出现,因为格式选择明确坚持bestaudio,这可能意味着混合格式。就是因为bestvideo+bestaudio命令太强硬,你才被强制退出mp4

但是如果您更关心获得一个MP4容器比你做的音频质量?通过坚持m4a首先使用音频 - 但然后在再次发布时在该部分上放松bestvideo- (通过使用上面的格式选择)你本质上表达了一种灵活的偏爱对于mp4其他容器;你肯定如果可能的话mp4,但不以降低视频质量为代价。

正如我所说,您可能仍然会得到一些mkv,但它们的数量将大大减少,并且仅在需要提供(据说)更好的视频时使用。到目前为止,对于这种配置,我webm根本没有看到任何配置,因为类似248+140作品最终为mkv.

在后一种情况下,--merge-output-format mp4如果需要,添加将转换为 mp4。所以完整的命令是:

youtube-dl --format "bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best" --merge-output-format mp4

答案4

而不是使用这个来下载一个.mkv文件:

youtube-dl 'https://www.youtube.com/watch?v=GwIzYX5t5l4'

只需使用它来下载一个.mp4文件:

youtube-dl 'https://www.youtube.com/watch?v=GwIzYX5t5l4' --format "bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best" --merge-output-format mp4

相关内容