Як отримати найкращу якість звуку за допомогою youtube-dl?


16

Я використовую youtube-dlв Linux для завантаження відео з YouTube і витягування аудіо. Це мій спосіб створення невеликої музичної колекції.

У будь-якому разі я знаю, що є варіант, --audio-quality=коли 0 найкраще, а 9 - найгірше. Це все, що мені потрібно зробити, щоб отримати аудіо найкращої якості?

Крім того, хтось знає, якщо завантаження з soundcloud може отримати більш високу якість?

Відповіді:


21

Значення --audio-qualityне впливає на якість звуку джерела. Це опція після обробки та перекодуватиме звук.

Оскільки будь-яке (втрачене) перекодування фактично погіршить якість потоку - або, принаймні, зробить його зайвим розміром - я б рекомендував взагалі не обробляти звук.

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

Якщо у вас ffmpegвстановлена ​​система, ви youtube-dlможете витягнути звук автоматично:

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

В іншому випадку ви отримаєте відеофайл, з якого потрібно витягти аудіо-компонент.


Якщо 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варіанті , коли ви використовуєте в якості опції, він завантажить варіант лише для аудіо з найвищим бітрейтом (256k, код формату 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. Я відповідно оновив свою відповідь.
Френк

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.