API опций формата youtube-dl - PullRequest
5 голосов
/ 20 февраля 2020

Предоставляет ли YouTube API исходный звук, который вы слушаете с YouTube, в качестве опции загрузки? Возможно, это опция --extract-audio?

Ответы [ 2 ]

4 голосов
/ 02 марта 2020

По умолчанию youtube-dl пытается загрузить лучшее доступное качество, т. Е. Если вы хотите получить лучшее качество, вам не нужно передавать какие-либо специальные параметры, youtube-dl угадывает его по умолчанию.

С конца апреля 2015 года и версии 2015.04.26 youtube-dl использует -f bestvideo + bestaudio / best в качестве выбора формата по умолчанию (см. # 5447 (https://github.com/ytdl-org/youtube-dl/issues/5447), # 5456 (https://github.com/ytdl-org/youtube-dl/issues/5456)).

Если вы хотите сохранить старое поведение выбора формата (до youtube-dl 2015.04.26), то есть вы хотите загрузить медиафайлы наилучшего доступного качества, которые используются в качестве один файл, вы должны явно указать свой выбор с -f best. Вы можете добавить его в файл конфигурации, чтобы не вводить его при каждом запуске youtube-dl.

Ссылка: https://github.com/ytdl-org/youtube-dl/blob/master/README.md#readme

Дайте мне знать если это поможет если нет, мы могли бы выяснить это в деталях.

ОБНОВЛЕНИЕ

Вот несколько команд, которые могут пригодиться;

# Download best mp4 format available or any other best if no mp4 available
$ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'

# Download best format available but no better than 480p
$ youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]'

# Download best video only format but no bigger than 50 MB
$ youtube-dl -f 'best[filesize<50M]'

# Download best format available via direct link over HTTP/HTTPS protocol
$ youtube-dl -f '(bestvideo+bestaudio/best)[protocol^=http]'

# Download the best video format and the best audio format without merging them
$ youtube-dl -f 'bestvideo,bestaudio' -o '%(title)s.f%(format_id)s.%(ext)s'
1 голос
/ 04 марта 2020

Больше гибкости (с использованием псевдонимов оболочки)

Как уже упоминалось, по умолчанию настроены на загрузку самого высокого качества с предоставленного URL видео. Это не то же самое, что сказать, что так будет всегда, и, конечно, так было не всегда.

Я сторонник стабильности и лучше разбираюсь в параметрах напрямую, так как значения по умолчанию имеют тенденцию меняться с версиями / обновлениями, но использование указанных c параметров все равно будет действительным, или Вы получите предупреждение или ошибку.
Используя прямые опции, я знаю, чем я в итоге.
Это также более гибко.

Вы можете выбрать предпочтительные форматы для определения приоритетов и автоматически получить лучшее совместимое видео + аудио, если запрошенный формат / качество недоступно, и вы можете указать строку формата для именования загруженного файла и решить, где он будет закончится (по умолчанию это текущий рабочий каталог).

Вы можете использовать отдельный файл настроек, на Ма c он по умолчанию: ~/.config/youtube-dl/config Или вы можете использовать псевдоним, определенный в вашей оболочке (я назвал псевдоним :ytdl), так Я просто делаю:

:ytdl link_to_single_video

И он настроен на автоматическую загрузку предпочтительного видео / аудио формата и объединяет их вместе в месте, указанном командой alias в моем файле запуска оболочки, используя соглашение об именах, я решил его использовать.

У меня также есть псевдоним :ytdlpl playlist_id, который загружает полные списки воспроизведения в указанную папку:

/playlists/[name_from_playlist_title]/[episode_num_and_name_from_playlist].[ext]

Я сделал это, настроив два псевдонима:

# Download best mp4 format available or other format if no mp4 is available
alias :ytdl='/usr/local/bin/youtube-dl -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" -o "/Volumes/SSD/Video/YTDL/%(title)s.%(ext).s"'

# Download YouTube playlist videos in separate directory indexed by video order in a playlist
alias :ytdlpl='/usr/local/bin/youtube-dl -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" -o "/Volumes/SSD/Video/YTDL/%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s"'


То, как вы решите это сделать, является личным предпочтением, но, по крайней мере, это идеально подходит для моих нужд! 10

...