Как получить наилучшее качество звука с помощью youtube-dl?

16

Я использую youtube-dlна Linux, чтобы загрузить видео с YouTube и извлечь аудио. Это мой способ создания небольшой музыкальной коллекции.

В любом случае, я знаю, что есть вариант, --audio-quality=где 0 - лучший, а 9 - худший. Это все, что мне нужно сделать, чтобы получить лучшее качество звука?

Кроме того, кто-нибудь знает, может ли загрузка из soundcloud получить более высокое качество?

user365967
источник

Ответы:

21

--audio-qualityНе влияет на качество звука источника. Это опция пост-обработки, которая перекодирует аудио.

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

Чтобы получить наилучшее качество звука, вам просто нужно выбрать формат источника высокого качества. На самом деле, это youtube-dlбудет сделано по умолчанию, но вы можете явно установить его с помощью --audio-format best. YouTube (и другие провайдеры) хранят разные аудиокодеки с разным битрейтом и youtube-dlвыбирают лучший из них.

Если вы ffmpegустановили в вашей системе, то youtube-dlможете извлечь аудио автоматически:

youtube-dl --audio-format best -x <url>

В противном случае вы получите видеофайл, из которого вы должны извлечь аудио компонент.

slhck
источник
Если ffmpegне перекодировать, то почему я выбираю аудио формат? Если я введу эту строку, но aacвместо этого, я получу не тот же файл, но с другим расширением. Я получаю другой файл с немного другим размером и битрейтом.
Blrp
1
Хорошо, но это на самом деле не отвечает на мой вопрос. Я спрашиваю конкретно о преобразовании видео в аудио. Если есть команда, которая берет аудио с MP4 и сохраняет его как аудиофайл без перекодирования, должен быть только один возможный результат, верно? И все же, команда ffmpeg в вашем посте дает другой результат в зависимости от того, какое расширение я выберу для аудио. Так есть ли всегда одно правильное расширение звука, в зависимости от расширения видео, для которого я получаю звук без перекодирования? Или как еще мне это сделать?
Blrp
1
Я вижу сейчас. Сначала я уточнил свой ответ - он был немного сложнее, чем нужно. Также, возможно, этот ответ интересно прочитать. Даже если поток битов аудиокодека не затрагивается (то есть копируется), расширение определяет, как оно обернуто в формате. Здесь нет отображения 1: 1. Некоторые форматы требуют больше места, чем другие. Вы можете использовать ffmpeg -i in.mp4 -c:a copy -vn out.m4aи получить файл, отличный от другого ffmpeg -i in.mp4 -c:a copy -vn out.mkv, хотя оба они содержат одинаковые аудиоданные (и, следовательно, имеют одинаковое качество звука).
slhck
1
Я уверен, что это не перекодировать. У него нет никакой способности сделать это. Причина, по которой вы получаете одинаковые битрейты, заключается в том, что YouTube имеет очень ограниченные вариации аудио битрейтов / кодеков, которые они используют, в отличие от видеопрезентаций. Возможно, YouTube немного нестабилен, когда назначает битрейт видео и аудио, и вы можете увидеть более высокий битрейт аудио для более низкого качества видео - в этом случае, я думаю, по- youtube-dlпрежнему выбирается формат видео самого высокого качества. У вас есть конкретный пример с видео?
slhck
1
Кажется, хорошо для меня. Например, во втором случае при использовании -xв качестве опции будет загружен вариант только для аудио с самой высокой скоростью передачи битов (256 КБ, код формата 141, проверьте с помощью youtube-dl -F <url>). Все остальные аудиокомпоненты других аудиовизуальных представлений имеют более низкие битрейты.
slhck
5

Оставайтесь с родными музыкальными форматами Youtube, чтобы избежать перекодирования:

youtube-dl -f bestaudio[ext=m4a] --embed-thumbnail --add-metadata <Video-URL>

в результате чего m4aфайл или

youtube-dl -f bestaudio --extract-audio --embed-thumbnail --add-metadata <Video-URL>

Последний также может перезапускать oggфайл, если формат самого высокого качества звука - OPUS, а не AAC.

Вы можете перечислить доступный формат с

youtube-dl -F <Video-URL>
Фрэнк Брейтлинг
источник
Какая разница между bestaudio[ext=m4a]а --extract-audio? Почему последнее может привести к, oggа не к первому?
Хашим
[ext=m4a]ограничивает ваш выбор доступными форматами m4a и не --extract-audioсохраняет его в том же формате контейнера m4a. С --extract-audioаудио данные извлекаются и хранятся в контейнере ogg.
Фрэнк Брейтлинг
Извините, но уже поздно, но это не объясняет, почему последнее приведет к .oggконкретному файлу. Почему, .oggкогда .oggне было указано?
Хашим
Насколько я понимаю, лучшее доступное качество звука - в формате OPUS, а не в формате AAC, тогда он сохраняется в контейнере ogg. Я обновил свой ответ соответственно.
Фрэнк
2

Используйте команду:

youtube-dl -f bestaudio "url"
user598527
источник