Вопрос: Как выбрать качество видео с youtube-dl?


Я установил youtube-dl в своем 14.04.

Я могу загрузить видео по следующей команде,

$ youtube-dl [youtube-link]

Но я хочу знать как выбрать доступное качество пикселов видео youtube (то есть 1080p, 720p, 480p и т. д.),

В описании программного обеспечения они сказали, что это возможно (показано на рисунке ниже), но как это сделать.

ss


178
2018-06-21 10:03


Источник


Приведенное выше описание устарело. Из man страница: «youtube-dl теперь по умолчанию загружает самое высокое доступное качество, о котором сообщает YouTube, в некоторых случаях это будет 1080p или 720p». - Jos
Обратите внимание, что YouTube использует некоторую защиту, которая не позволяет загружать инструменты из загрузки (или даже видеть) версии 1080p, но вы все равно можете загрузить все другие разрешения вплоть до 720p. - thomasrutter


Ответы:


Чтобы загрузить видео, вы вводите URL-адрес после команды следующим образом:

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

Чтобы выбрать качество видео, сначала используйте -F вариант для перечисления доступных форматов, вот пример,

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 , audio@128k (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)

Лучшее качество - 22 поэтому используйте -f 22 вместо -F для загрузки MP4-видео с разрешением 1280x720:

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

Или дополнительно используйте следующие флаги для автоматической загрузки лучших доступных аудио- и видеодорожек:

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

Если вы столкнулись с ошибкой во время процесса мультиплексирования, попробуйте следующее:

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

Эта команда гарантирует, что вы загрузите видео высокого качества mp4 и звук m4a из видео и объедините их обратно в один mp4 (используя ffmpeg в моем случае).

Источник: http://www.webupd8.org/2014/02/video-downloader-youtube-dl-gets.html


263
2018-06-21 10:19



Убедитесь, что вы не выбираете DASH, Это будет невозможно воспроизвести! - ps95
@ prakharsingh95 звук DASH может быть преобразован только в стандартный формат волны или mp3, используя gnac или подобное программное обеспечение. - mchid
я имел в виду DASH Video, Я попытался скачать 4K, но это все в DASH формат (DASH позволяет youtube сохранять полосу пропускания). Это радикально отличается, он будет в основном неиграбельным. - ps95
@ prakharsingh95 Да, если бы вы могли просмотреть mp4 с помощью VLC, поскольку VLC позволяет синхронизировать видео с отдельным файлом для аудио. Однако я не пробовал. Вы пытались преобразовать файл mp4 из DASH-загрузки в формат avi? Я думаю, что они похожи. - mchid
Да. Dash, конечно, играбельна, но вам нужно мультиплексировать потоки с чем-то вроде avconv, Слишком медленно 4K, - ps95


Вы можете скачать 1080p, используя youtube-dl, но вам нужно сделать небольшую дополнительную работу. Обычно он загружает только 720p как максимальный, даже если вы видите 1080p на youtube.com.

Бежать с -F для просмотра доступных форматов:

youtube-dl -F https://www.youtube.com/watch\?v\=-pxRXP3w-sQ

171         webm      audio only  DASH audio  115k , audio@128k (44100Hz), 2.59MiB (worst)
140         m4a       audio only  DASH audio  129k , audio@128k (44100Hz), 3.02MiB
141         m4a       audio only  DASH audio  255k , audio@256k (44100Hz), 5.99MiB
160         mp4       256x144     DASH video  111k , 12fps, video only, 2.56MiB
247         webm      1280x720    DASH video 1807k , 1fps, video only, 23.48MiB
136         mp4       1280x720    DASH video 2236k , 24fps, video only, 27.73MiB
248         webm      1920x1080   DASH video 3993k , 1fps, video only, 42.04MiB
137         mp4       1920x1080   DASH video 4141k , 24fps, video only, 60.28MiB
43          webm      640x360
18          mp4       640x360
22          mp4       1280x720    (best)

заметить, что youtube-dl обозначил последний вариант 1280x720 как «лучшее» качество, и это то, что он будет загружать по умолчанию, но что линия, начинающаяся с 137, на самом деле имеет более высокое качество 1920x1080. Youtube разделил потоки видео и аудио для линий с надписью DASH, поэтому нам также нужно выбрать аудио высочайшего качества, в этом случае это строка, начинающаяся с 141. Затем мы запускаем youtube-dl снова на этот раз с указанием аудио и видео:

youtube-dl -f 137+141 https://www.youtube.com/watch\?v\=-pxRXP3w-sQ

и он будет загружать видео 1080p и автоматически объединять его с помощью высококачественного звука. Он также должен автоматически удалять отдельные загруженные части. Этот метод - небольшая дополнительная работа, но принесет вам наилучшие результаты.


74
2018-01-24 21:59



большое спасибо, не знаю о 137 + 141 - whitesiroi
Ваш пример и другие представляют простой выбор для аудио, то есть для высокого качества, выберите тот, который имеет наибольшее значение битрейта. Недавно я столкнулся с выбором между DASH audio , opus @160k или DASH audio 126k , audio@128k (44100Hz), 1.79MiB или DASH audio 127k , m4a_dash container, aac @128k (44100Hz), 1.94MiB, Мне пришлось выбирать, но я не уверен в качестве или, возможно, совместимости. - user643722
Самое лучшее в youtube-dl - это многоплатформенная платформа. Это решение работает не только на Linux, но и на Mac и Windows. Спасибо! - Antony
В настоящее время это значение по умолчанию, но только если у вас установлены avconv (libav) или ffmpeg для преобразования файлов. Для Windows вы хотите установить --ffmpeg-location в %APPDATA%\youtube-dl\config.txt в каталог, где установлен avconv / ffmpeg. Если у вас низкая система, вы можете захотеть -f bestvideo[fps<=30]+bestaudio там же, чтобы избежать видео 60fps. - GreenReaper


Чтобы выбрать конкретные разрешения, вы можете указать размер и качество звука, чтобы они автоматически выбирались - так для 480p:

-f 'bestvideo[height<=480]+bestaudio/best[height<=480]'

с bestvideo[height<=720]+bestaudio/best[height<=720] для 720p и т. д. Это можно добавить в файл конфигурации на ~/.config/youtube-dl/config (или даже /etc/youtube-dl.conf), так что вы не получаете большие загрузки:

mkdir ~/.config/youtube-dl
echo "-f 'bestvideo[height<=720]+bestaudio/best[height<=720]'" >> ~/.config/youtube-dl/config

Вы можете использовать --ignore-config если вы хотите отключить файл конфигурации для конкретного запуска youtube-dl.

Обратите внимание, что довольно часто им приходится загружать отдельный видео и аудио пар и объединять их.

Дополнительные примеры см. youtube-dlпогашение,


14
2017-12-31 09:47



У меня была проблема, когда разные сегменты одного и того же видео имели разные коды формата для одного и того же разрешения (например, hls-1476 для видео 1 из 2 и hls-1665 для видео 2 из 2, где оба были 540p), поэтому я не мог просто использовать «-f hls-1476» или «-f hls-1665», или я получаю «ERROR: запрошенный формат недоступен». Примеры команд помогли мне получить то, что я хотел. - ssnobody
+1 для ~/.config/youtube-dl/config - Marinos An


Сценарий оболочки bash, который запрашивает формат, который включает все доступные версии, включая только аудио, только видео.

Принимает как абсолютные URL-адреса YouTube, так и идентификаторы видео.

#!/ usr/bin/env bash
# Download youtube video with desired quality

# youtube-dl accepts both fully qualified URLs and video id's such as AQcQgfvfF1M

url="$*"

echo "Fetching available formats for $url..."
youtube-dl -F "$url"
read -p "Please enter the desired quality code: " FORMAT

echo "Streaming with quality $FORMAT..."
mpv --cache=1024 $(youtube-dl -f $FORMAT -g "$url")

Образец вывода:

    yt.sh https://m.youtube.com/watch?v=Dax_tnZRExc
    [youtube] Dax_tnZRExc: Downloading webpage
    [youtube] Dax_tnZRExc: Downloading video info webpage
    [youtube] Dax_tnZRExc: Extracting video information
    [youtube] Dax_tnZRExc: Downloading MPD manifest
    [info] Available formats for Dax_tnZRExc:
    format code  extension  resolution note
    139          m4a        audio only DASH audio   49k , m4a_dash container, mp4a.40.5@ 48k (22050Hz), 308.75KiB
    249          webm       audio only DASH audio   50k , opus @ 50k, 271.91KiB
    250          webm       audio only DASH audio   70k , opus @ 70k, 366.63KiB
    171          webm       audio only DASH audio  118k , vorbis@128k, 652.50KiB
    140          m4a        audio only DASH audio  127k , m4a_dash container, mp4a.40.2@128k (44100Hz), 820.00KiB
    251          webm       audio only DASH audio  130k , opus @160k, 705.84KiB
    160          mp4        256x144    DASH video  109k , avc1.4d400c, 13fps, video only, 703.64KiB
    278          webm       256x144    144p  111k , webm container, vp9, 25fps, video only, 439.72KiB
    242          webm       426x240    240p  243k , vp9, 25fps, video only, 623.95KiB
    133          mp4        426x240    DASH video  252k , avc1.4d4015, 25fps, video only, 1.54MiB
    134          mp4        640x360    DASH video  388k , avc1.4d401e, 25fps, video only, 1.24MiB
    243          webm       640x360    360p  458k , vp9, 25fps, video only, 1.19MiB
    135          mp4        854x480    DASH video  761k , avc1.4d401e, 25fps, video only, 2.40MiB
    244          webm       854x480    480p  893k , vp9, 25fps, video only, 2.00MiB
    136          mp4        1280x720   DASH video 1382k , avc1.4d401f, 25fps, video only, 4.56MiB
    247          webm       1280x720   720p 1754k , vp9, 25fps, video only, 3.94MiB
    137          mp4        1920x1080  DASH video 2350k , avc1.640028, 25fps, video only, 8.48MiB
    248          webm       1920x1080  1080p 2792k , vp9, 25fps, video only, 8.09MiB
    17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k
    36           3gp        320x180    small , mp4v.20.3, mp4a.40.2
    43           webm       640x360    medium , vp8.0, vorbis@128k
    18           mp4        640x360    medium , avc1.42001E, mp4a.40.2@ 96k
    22           mp4        1280x720   hd720 , avc1.64001F, mp4a.40.2@192k (best)
    Please enter the desired format #

Если вы хотите загрузить видео, а не потопить его, просто удалите mpv --cache=1024часть и знак доллара с помощью скобок.


3
2018-06-29 13:27





По умолчанию youtube-dl будет выбирать наилучшее качество.


-3
2017-12-29 16:26



Да, в соответствии с readme. У вас также есть опция (ы), чтобы выбрать нужный формат, см. Здесь: github.com/rg3/youtube-dl/blob/master/... - AjayKumarBasuthkar