#ffmpeg #equalizer
#ffmpeg #эквалайзер
Вопрос:
Мне нравится управлять звуковой дорожкой внутри файла m2ts с помощью некоторой командной строки ffmpeg.
Короче говоря, мне нужно управлять звуковой дорожкой с идентификатором 2 файла m2ts в формате AC3 (dolby digital 5.1 или 2.0).
Изменения:
- добавить фильтр эквалайзера: 60 Гц 3 дБ, 80 Гц 2 дБ, 100 Гц 1 дБ
- увеличение громкости: 2 дБ
Файл m2ts многоязычен, поэтому мне нужно изменить определенный идентификатор дорожки.
Файл AC3 с потерями, я надеюсь, что возможные модификации звука не добавят больше сжатия, как, например, в Photoshop при повторном сохранении файла jpeg. В файле без потерь (wav или flac) я уверен, что могу сохранять и повторно сохранять без потери качества, но в AC3 я не уверен.
Кто-нибудь может опубликовать командную строку, чтобы сделать это без потери качества?
Ответ №1:
Нет, потому что AC3 с потерями, и каждый цикл декодирования, модификации, кодирования снижает качество.
Вы можете предотвратить потерю качества в других потоках с помощью копирования в acodec, но я думаю, вы уже знаете это. Но не в том, который вы изменяете.
/ редактировать: Кстати: модификация, которую вы собираетесь сделать, сама по себе уже содержит потерю качества.
Однако, если вы хотите, вы можете сохранить исходный поток следующим образом: -map 0: 2 -map 0: 2, а затем изменить один и скопировать -acodec для другого экземпляра этого потока. Итак, если вы понимаете, что вам нужно сделать это снова, вы можете использовать свой измененный файл, и вам не нужно сохранять оригинал для этой цели, но все равно иметь исходный поток.
Или вы извлекаете поток для изменения и сохраняете измененную версию в отдельном аудиофайле и вызываете свой видеопроигрыватель с соответствующим аргументом для записи звука из этого внешнего файла.