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 работал отлично, но теперь я по-другому)