youtube dl DASH视频和音频最高质量,无需人工干预



使用youtube dl,我首先查看可用的视频质量,然后在第二步中下载尽可能高的质量(在本例中为-f 137+140(。Youtube dl将自动合并音频和视频流(DASH格式(

如何使用shell脚本实现自动化?对于每个URL,选择最高的音频和视频质量?

> youtube-dl -F 'https://www.youtube.com/watch?v=VAdRBLyjLRQ&feature=youtu.be&t=8m14s'                              
[youtube] Downloading login page                                                                                                      
[youtube] Logging in                                                                                                                  
[youtube] VAdRBLyjLRQ: Downloading webpage                                                                                            
[youtube] VAdRBLyjLRQ: Downloading video info webpage                                                                                 
[youtube] VAdRBLyjLRQ: Extracting video information                                                                                   
[youtube] VAdRBLyjLRQ: Downloading DASH manifest                                                                                      
[youtube] VAdRBLyjLRQ: Downloading DASH manifest                                                                                      
[info] Available formats for VAdRBLyjLRQ:                                                                                             
format code  extension  resolution note                                                                                               
249          webm       audio only DASH audio , opus @ 50k                                                                            
250          webm       audio only DASH audio , opus @ 70k                                                                            
251          webm       audio only DASH audio , opus @160k                                                                            
171          webm       audio only DASH audio  117k , vorbis@128k (44100Hz), 7.68MiB                                                  
140          m4a        audio only DASH audio  128k , m4a_dash container, aac  @128k (44100Hz), 11.58MiB                              
160          mp4        256x144    DASH video  112k , avc1.4d400c, 15fps, video only, 9.94MiB                                         
278          webm       256x144    DASH video  136k , webm container, VP9, 15fps, video only, 9.10MiB                                 
133          mp4        426x240    DASH video  248k , avc1.4d4015, 30fps, video only, 22.27MiB                                        
242          webm       426x240    DASH video  316k , vp9, 30fps, video only, 22.20MiB                                                
243          webm       640x360    DASH video  557k , vp9, 30fps, video only, 41.05MiB                                                
134          mp4        640x360    DASH video  609k , avc1.4d401e, 30fps, video only, 52.94MiB                                        
244          webm       854x480    DASH video 1021k , vp9, 30fps, video only, 74.05MiB                                                
135          mp4        854x480    DASH video 1115k , avc1.4d401f, 30fps, video only, 97.02MiB                                        
247          webm       1280x720   DASH video 2011k , vp9, 30fps, video only, 150.61MiB                                               
136          mp4        1280x720   DASH video 2282k , avc1.4d401f, 30fps, video only, 189.40MiB                                       
248          webm       1920x1080  DASH video 3838k , vp9, 30fps, video only, 286.61MiB                                               
137          mp4        1920x1080  DASH video 4209k , avc1.640028, 30fps, video only, 354.19MiB                                       
17           3gp        176x144                                                                                                       
36           3gp        320x240                                                                                                       
5            flv        400x240                                                                                                       
43           webm       640x360                                                                                                       
18           mp4        640x360                                                                                                       
22           mp4        1280x720   (best)                                                                                             
> youtube-dl -f 137+140 'https://www.youtube.com/watch?v=VAdRBLyjLRQ&feature=youtu.be&t=8m14s'                      
[youtube] Downloading login page                                                                                                      
[youtube] Logging in                                                                                                                  
[youtube] VAdRBLyjLRQ: Downloading webpage                                                                                            
[youtube] VAdRBLyjLRQ: Downloading video info webpage                                                                                 
[youtube] VAdRBLyjLRQ: Extracting video information                                                                                   
(...)

只需使用-f bestvideo+bestaudio/best即可获得最高的结果质量。

如果你想更喜欢MP4格式的容器而不是WebM,请使用:

-f bestvideo[ext!=webm]‌​+bestaudio[ext!=webm]‌​/best[ext!=webm]

我发现了一些奇怪的情况,即使1080p可用,默认(见#5447,#5546(bestvideo+bestaudio/best也会下载720p视频。720p上的比特率略高的原因,因此它似乎对youtube dl质量更好。我更喜欢更高的分辨率,也所有其他花哨的youtube下载应用程序下载1080p(作为控制(。

因此,我建议并使用这个:

-f ("bestvideo[width>=1920]"/bestvideo)+bestaudio/best

它将寻找最好的,至少1920宽的视频。如果这不可用,它将求助于它通常会选择的方式。末尾的/best部分是默认配置的一部分。

附带说明一下,我建议将%(format_id)s放在文件名中的某个位置,这样您就可以知道该文件在使用什么。如果你以后想在不使用存档的情况下重新下载一堆视频,使用--no-overwrites,更好/不同的质量会在旧文件名旁边形成一个新文件名(这样你就可以进行比较或其他什么(。

或者您可以使用

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

这将下载最高质量的视频和音频,并自动将它们合并。我想我在哪里听说过,你需要安装ffmpeg才能实现这种自动行为。但我敢打赌,大多数系统都已经具备了。

youtube dl-f best'youtube_URL'

或者,

youtube dl-f"最佳视频+最佳音频/最佳视频+最好音频"--合并输出格式mp4"youtube_URL">

或者,

youtube dl-f"最佳视频[ext=webm]+最佳音频[ext=m4a]/最佳视频+最佳音频"--合并输出格式mp4"youtube_URL">

希望它能有所帮助!

由于格式的数量有限,我做了:

youtube-dl -f 299+140 "http://www.youtube.com/watch?v=P9pzm5b6FFY"
youtube-dl -f 137+140 "http://www.youtube.com/watch?v=P9pzm5b6FFY"
youtube-dl -f best "http://www.youtube.com/watch?v=P9pzm5b6FFY"

如果299+140已经下载,137+140就不会了,如果没有下载,你将从22开始获得最好的成绩。唯一的问题是,你会有最好的webm作为副本,但你可以使用ext=webm来避免这种情况。

当然,你可以从313+140开始,或者你想要的任何更高的格式。

相关内容

  • 没有找到相关文章

最新更新