Я установил youtube-dl в моем 14.04.
Я могу загрузить видео, выполнив следующую команду:
$ youtube-dl [youtube-link]
Но я хочу знать , как выбрать доступное качество пикселей видео на YouTube (, т.е. 1080p, 720p, 480p и т. д. ) .
В описании программного обеспечения они сказали, что это возможно (показано на рисунке ниже), но как это сделать ..
Для загрузки видео Вы вводите 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 best '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'
или как Gabriel Staples, на которого указывают здесь, следующая команда будет обычно выбирать фактическое лучшее единственное разрешение качества видео файла вместо скорости передачи качества видео:
youtube-dl -f best 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
Эти команды гарантируют, чтобы Вы загрузили высшее качество mp4 видео и m4a аудио от видео как единственный файл или объединили их назад в единственный mp4 (использование ffmpeg
в моем случае). Если ffmpeg
или avconv
не доступно, youtube-dl
должен отступить к единственному файлу -f best option
вместо значения по умолчанию.
Щелкните здесь для более подробной информации и некоторых различных примеров.
Кроме того, нажмите для наблюдения этого связанного ответа Gabriel Staples.
Источник: www.webupd8.org/2014/02/video-downloader-youtube-dl-gets.html
Источник: github.com/rg3/youtube-dl
Можно загрузить 1 080 пунктов с помощью youtube-dl
, но необходимо сделать немного дополнительной работы. Обычно это будет только загружать 720 пунктов как свое макс., даже если Вы будете видеть 1 080 пунктов на 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 видео и автообъединит его с аудио высшего качества. Это должно, также автоудалил отдельные загруженные части. Этот метод является небольшой дополнительной работой, но получит Вас лучшие результаты.
По умолчанию youtube-dl выберет высшее качество.
Сценарий обертки удара, который запрашивает формат, который включает все доступные представления, включая только для аудио, только для видео, и затем передает видео/аудио потоком с mpv
.
Принимает и абсолютные 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
часть и знак доллара со скобками.
Для выбора определенных разрешений можно указать размер и качество звука, таким образом, они выбраны автоматически - так для 480 пунктов :
-f 'bestvideo[height<=480]+bestaudio/best[height<=480]'
с bestvideo[height<=720]+bestaudio/best[height<=720]
для 720 пунктов и т.д. Это может добавленный к файлу конфигурации в ~/.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
doucmentation .
Я - дисковое средство сохранения, таким образом, я загружаю видео формата 1280 x 720
,
потому что 4k
видео берут больше размера моего жесткого диска.
Таким образом, я добавляю youtube-dl
в ~/.bashrc файл как данный ниже
Установка работы -
откройте терминал и тип
nano ~/.bashrc
alias yt='youtube-dl -if best'
source ~/.bashrc
в терминалеЭксперимент -
Откройте терминал и тип yt https://www.youtube.com/watch?v=puPUJlV1-W4
Это начнет загружать видео высшим качеством.
Объяснение -
Bash позволяет нам определять псевдонимы, которые действуют как ярлыки для избиения команд
в нашем случае мы определяем псевдоним как -
исказите yt ='youtube-dl - если лучше всего'
где yt является командой ярлыка для 'youtube-dl', который дает облегчение
наши пальцы для ввода долгой команды.
Можно записать что-либо в месте yt.
Я установил флаг-i в youtube-dl -if best
что означает
Это Продолжит ошибки загрузки, например, для пропуска недоступных видео в плей-листе
Этот ответ здесь, с большинством голосов, должен быть правильным дать Вам лучшее доступное качество видео, но.... это не. bestvideo+bestaudio
кажется, выбирает только лучшее видео и лучшее аудио опций, которые являются видео только и аудио только, затем оно объединяет два вместе. Обратите внимание, что это также, кажется, идентично поведению по умолчанию youtube-dl. Однако на видео я смотрел на, высшее качество было единственным, предварительно объединенным файлом, который уже был в формате с объединенным видео и аудио. bestvideo+bestaudio
опция НЕ выбрала этот файл высшего качества 720 пунктов, потому что это только искало отдельные видеофайлы и звуковые файлы. Детали ниже.
Решение? Имейте его, захватывают лучший единственный файл, который содержит и видео и аудио в одном вместо этого, с этим:
youtube-dl -f best https://youtu.be/FWGC9SqA3J0
Короче говоря: используйте -f best
опция, НЕ -f bestvideo+bestaudio
опция!
Строго говоря, посмотрите ниже для результатов выполнения
youtube-dl -F https://youtu.be/FWGC9SqA3J0
для наблюдения то, что видео 'F'ormats являются availabe для загрузки:
gabriel ~ $ youtube-dl -F https://youtu.be/FWGC9SqA3J0
[youtube] FWGC9SqA3J0: Downloading webpage
[youtube] FWGC9SqA3J0: Downloading video info webpage
[youtube] FWGC9SqA3J0: Downloading MPD manifest
[youtube] FWGC9SqA3J0: Downloading MPD manifest
[info] Available formats for FWGC9SqA3J0:
format code extension resolution note
139 m4a audio only DASH audio 50k , m4a_dash container, mp4a.40.5@ 48k (22050Hz), 2.30MiB
249 webm audio only DASH audio 51k , opus @ 50k, 2.34MiB
250 webm audio only DASH audio 62k , opus @ 70k, 2.85MiB
171 webm audio only DASH audio 103k , vorbis@128k, 4.68MiB
251 webm audio only DASH audio 109k , opus @160k, 5.10MiB
140 m4a audio only DASH audio 130k , m4a_dash container, mp4a.40.2@128k (44100Hz), 6.13MiB
160 mp4 256x138 DASH video 108k , mp4_dash container, avc1.4d400b, 24fps, video only
134 mp4 640x348 DASH video 142k , mp4_dash container, avc1.4d401e, 24fps, video only, 3.42MiB
133 mp4 426x232 DASH video 242k , mp4_dash container, avc1.4d400c, 24fps, video only
136 mp4 1280x694 DASH video 473k , mp4_dash container, avc1.4d401f, 24fps, video only, 8.01MiB
135 mp4 854x464 DASH video 1155k , mp4_dash container, avc1.4d4014, 24fps, video only
17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24k, 1.63MiB
36 3gp 320x174 small , mp4v.20.3, mp4a.40.2, 2.98MiB
43 webm 640x360 medium , vp8.0, vorbis@128k, 7.44MiB
18 mp4 640x348 medium , avc1.42001E, mp4a.40.2@ 96k, 8.54MiB
22 mp4 1280x694 hd720 , avc1.64001F, mp4a.40.2@192k (best)
Заметьте, что строка 22 говорит" (лучше всего)" справа его. Это - единственная опция, которая предлагает hd720 качество, которое является высшим качеством, которое я могу получить при просмотре этого видео в веб-браузере на YouTube. Это является самым ясным и имеет лучшее определение. Когда я использую любую из команд, рекомендуемых главным ответом:
youtube-dl -f bestvideo+bestaudio https://youtu.be/FWGC9SqA3J0
ИЛИ:
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 https://youtu.be/FWGC9SqA3J0
Я заканчиваю с видео, которое является и более низким качеством / более низким разрешением, и имеет больший размер файла. Я не понимаю это точно, но -f best
опция является определенно единственной, которая действительно дает мне лучшее разрешение.
Вот некоторые снимки экрана:
Используя более низкое качество -f bestvideo+bestaudio
опция, принятая здесь как правильный ответ (ИЛИ просто использование опции по умолчанию: youtube-dl https://youtu.be/FWGC9SqA3J0
):
-f best
опция ниже, который только должен был сделать одну загрузку и никакое переобъединение, так как это уже был один файл.Используя более высокое качество -f best
опция, которую я рекомендую:
Посмотрите man youtube-dl
для деталей.
Некоторые из других опций загрузить видео высшего качества кроме упомянутого здесь в зависимости от Вашего удобства даны ниже:
$ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'
$ youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]'
$ youtube-dl -f 'best[filesize<50M]'
$ youtube-dl -f '(bestvideo+bestaudio/best)[protocol^=http]'
Ссылка:
Непосредственно от youtube-dl страница GitHub
youtube-dl
представление о лучшем не идеально. Возьмем, к примеру, этот пример:
pi@rpi-lounge:~ $ youtube-dl -F https://youtu.be/Xj3gU3jACe8
[youtube] Xj3gU3jACe8: Downloading webpage
[info] Available formats for Xj3gU3jACe8:
format code extension resolution note
249 webm audio only tiny 55k , opus @ 50k (48000Hz), 1.11MiB
250 webm audio only tiny 74k , opus @ 70k (48000Hz), 1.47MiB
140 m4a audio only tiny 130k , m4a_dash container, mp4a.40.2@128k (44100Hz), 2.92MiB
251 webm audio only tiny 143k , opus @160k (48000Hz), 2.89MiB
394 mp4 256x144 144p 81k , av01.0.00M.08, 25fps, video only, 1.54MiB
278 webm 256x144 144p 99k , webm container, vp9, 25fps, video only, 2.14MiB
160 mp4 256x144 144p 110k , avc1.4d400c, 25fps, video only, 2.38MiB
395 mp4 426x240 240p 184k , av01.0.00M.08, 25fps, video only, 3.39MiB
242 webm 426x240 240p 230k , vp9, 25fps, video only, 4.90MiB
133 mp4 426x240 240p 245k , avc1.4d4015, 25fps, video only, 5.19MiB
396 mp4 640x360 360p 395k , av01.0.01M.08, 25fps, video only, 7.20MiB
243 webm 640x360 360p 418k , vp9, 25fps, video only, 9.03MiB
134 mp4 640x360 360p 633k , avc1.4d401e, 25fps, video only, 13.61MiB
397 mp4 854x480 480p 712k , av01.0.04M.08, 25fps, video only, 13.13MiB
244 webm 854x480 480p 774k , vp9, 25fps, video only, 16.75MiB
135 mp4 854x480 480p 1160k , avc1.4d401e, 25fps, video only, 25.45MiB
398 mp4 1280x720 720p 1456k , av01.0.05M.08, 25fps, video only, 26.20MiB
247 webm 1280x720 720p 1539k , vp9, 25fps, video only, 33.49MiB
136 mp4 1280x720 720p 2316k , avc1.4d401f, 25fps, video only, 50.46MiB
399 mp4 1920x1080 1080p 2492k , av01.0.08M.08, 25fps, video only, 45.96MiB
248 webm 1920x1080 1080p 2700k , vp9, 25fps, video only, 58.80MiB
137 mp4 1920x1080 1080p 4337k , avc1.640028, 25fps, video only, 91.16MiB
400 mp4 2560x1440 1440p 7468k , av01.0.12M.08, 25fps, video only, 143.60MiB
271 webm 2560x1440 1440p 8993k , vp9, 25fps, video only, 189.90MiB
401 mp4 3840x2160 2160p 14110k , av01.0.12M.08, 25fps, video only, 278.39MiB
313 webm 3840x2160 2160p 18006k , vp9, 25fps, video only, 387.17MiB
18 mp4 640x360 360p 734k , avc1.42001E, 25fps, mp4a.40.2@ 96k (44100Hz), 16.55MiB (best)
Следующая команда:
youtube-dl -f 137+251 https://youtu.be/Xj3gU3jACe8
дает гораздо лучшие результаты, чем это использование:
youtube-dl -f 18 https://youtu.be/Xj3gU3jACe8 (marked as best)
Похоже, есть дополнительные ошибки, поскольку попытка указать фильтры высоты для ограничения до 1080p не работает. Он по-прежнему загружает вариант 4k (который, в частности, не отмечен как лучший)
youtube-dl -f "bestvideo[height<=1080,ext=mp4]+bestaudio[ext=m4a]" https://youtu.be/Xj3gU3jACe8
pi@rpi-lounge:~ $ youtube-dl --version
2020.06.16.1