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

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

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

$ youtube-dl [youtube-link]

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

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

ss

176 голосов | спросил A J 21 J0000006Europe/Moscow 2014, 14:03:34

5 ответов


263

Чтобы загрузить видео, введите 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 , [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)

Лучшее качество - 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

ответил mchid 21 J0000006Europe/Moscow 2014, 14:19:09
74

Вы можете загрузить 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 , [email protected] (44100Hz), 2.59MiB (worst)
140         m4a       audio only  DASH audio  129k , [email protected] (44100Hz), 3.02MiB
141         m4a       audio only  DASH audio  255k , [email protected] (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 и автоматически объединит его с высококачественным аудио. Он также должен автоматически удалять отдельные загруженные части. Этот метод - небольшая дополнительная работа, но принесет вам наилучшие результаты.

ответил Ryan Horrisberger 25 Jam1000000amSun, 25 Jan 2015 00:59:12 +030015 2015, 00:59:12
14

Чтобы выбрать определенные разрешения, вы можете указать размер и качество звука, чтобы они автоматически выбирались - поэтому для 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 .

ответил Wilf 31 SatEurope/Moscow2016-12-31T12:47:23+03:00Europe/Moscow12bEurope/MoscowSat, 31 Dec 2016 12:47:23 +0300 2016, 12:47:23
3

Сценарий оболочки 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, [email protected] 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 , [email protected], 652.50KiB
    140          m4a        audio only DASH audio  127k , m4a_dash container, [email protected] (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, [email protected] 24k
    36           3gp        320x180    small , mp4v.20.3, mp4a.40.2
    43           webm       640x360    medium , vp8.0, [email protected]
    18           mp4        640x360    medium , avc1.42001E, [email protected] 96k
    22           mp4        1280x720   hd720 , avc1.64001F, [email protected] (best)
    Please enter the desired format #
  

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

ответил ccpizza 29 J0000006Europe/Moscow 2016, 16:27:19
-3

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

ответил Nerol 29 MonEurope/Moscow2014-12-29T19:26:39+03:00Europe/Moscow12bEurope/MoscowMon, 29 Dec 2014 19:26:39 +0300 2014, 19:26:39

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132