Youtube-dl видео и аудио DASH высочайшего качества без вмешательства человека

С youtube-dl я сначала посмотрю, какое качество видео доступно, а затем на втором этапе загружаю максимально возможное качество (в этом примере -f 137+140). Youtube-dl автоматически объединяет аудио и видеопоток (формат DASH)

Как автоматизировать это с помощью оболочки script? Слишком легко выбрать качество видео и видео с самым высоким качеством?

> 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 , [email protected] (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                                                                                   
(...)

Ответ 1

Я обнаружил несколько странных случаев, когда по умолчанию (см. # 5447, # 5456) bestvideo+bestaudio/best загружали видео в формате 720p даже при наличии 1080p. Причина в том, что битрейт на 720p был немного выше, поэтому он казался более качественным для youtube-dl. Я предпочитаю более высокое разрешение, также все другие модные приложения для загрузчиков YouTube загрузили 1080p (в качестве контроля).

Поэтому я предлагаю и использую это:

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

Это будет смотреть лучшее, по крайней мере, 1920 широкое видео. Если это не доступно, оно прибегнет к тому, что обычно выбирает. Часть /best в конце является частью конфигурации по умолчанию.

В %(format_id)s я рекомендую поместить %(format_id)s где-нибудь в имени файла, чтобы вы знали, что этот файл использует. Если позже вы захотите повторно загрузить несколько видео без использования архива, с параметром --no-overwrites, лучшее/другое качество сформирует новое имя файла рядом со старым (так что вы можете сравнить или что угодно).

Ответ 2

Просто используйте -f bestvideo+bestaudio/best для получения самого высокого результирующего качества.

Если вы предпочитаете использовать контейнеры формата MP4 вместо WebM, используйте:

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

Ответ 3

Или вы можете просто использовать

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

Это будет загружать видео и аудио высокого качества и автоматически объединять их. И я думаю, что я где-то слышал, что вам нужно установить ffmpeg, чтобы иметь это автоматическое поведение. Но я уверен, что в большинстве систем это уже есть.

Ответ 4

Проверьте доступные форматы для этого конкретного видео, используя это:

youtube-dl -F video-url

Загрузите видео, используя это:

youtube-dl -f code video-url

Пример:

youtube-dl -F "http://www.youtube.com/watch?v=P9pzm5b6FFY"

Получает вывод:

[youtube] Setting language
[youtube] P9pzm5b6FFY: Downloading webpage
[youtube] P9pzm5b6FFY: Downloading video info webpage
[youtube] P9pzm5b6FFY: Extracting video information
[info] Available formats for P9pzm5b6FFY:
format code extension resolution  note 
140         m4a       audio only  DASH audio , [email protected] (worst)
160         mp4       144p        DASH video , video only
133         mp4       240p        DASH video , video only
134         mp4       360p        DASH video , video only
135         mp4       480p        DASH video , video only
136         mp4       720p        DASH video , video only
17          3gp       176x144     
36          3gp       320x240     
5           flv       400x240     
43          webm      640x360     
18          mp4       640x360     
22          mp4       1280x720    (best)

затем выполните это, чтобы загрузить видео для 1280 * 720 пикселей::

youtube-dl -f 22 "http://www.youtube.com/watch?v=P9pzm5b6FFY"

Ответ 5

Хорошая информация Но сейчас я вижу отдельное видео и аудио.

Как скачать видео только для f/e 640x360 + только хороший звук? (-f 22 работал отлично, но теперь я по-другому)