ffmpeg .mkv до .mkv зі звуковим стисненням .aac


0

Я намагаюся використовувати ffmpeg на .mkv відео для зміни якості звукового супроводу. Я хотів би знизити бітрейт звукової частини (до 16 кбіт / с) без будь-якої модифікації відео. Тим не менш, коли я використовую команду ffmpeg

ffmpeg -i input.mkv -b:a 16k output.mkv

звук не змінюється, а відео стискається. я намагався

ffmpeg -i input.mkv -ab 16k output.mkv

і була така ж проблема. Коли я спробував

ffmpeg -i input.mkv -ab 16k -acodec aac -strict experimental output.mkv

Я отримав помилку:

oggvorbis_encode_init: init_encoder failed

Будь-яка ідея вирішити цю проблему?


Спробуйте витягти аудіопотік за допомогою mkvextract спочатку і працювати окремо. Ви можете відновити нову аудіодоріжку та оригінальний файл MKV mkvmerge.
Breakthrough

Відповіді:


1

За замовчуванням ffmpeg буде повторно кодувати будь-які потоки, які не були обрані явно копія потоку режим, і бітрейт кодування відео за замовчуванням (залежно від кодера) може бути занадто низьким, щоб забезпечити адекватну якість виводу. Замість повторного кодування можна скопіювати відео з -codec:v copy як вихідний параметр.

Для такого низького бітрейту звуку рекомендую використовувати кодер AAC, який підтримує HE-AAC. Цей приклад адаптований з Керівництво з кодування FFmpeg та AAC і буде використовувати приблизно 16kb / s на канал для стереовиходу:

ffmpeg -i input.mkv -codec:v copy -codec:a libfdk_aac -profile:a aac_he_v2 -b:a 32k output.mkv

Залежно від того, який вміст вашого аудіо входу такий низький бітрейт, ймовірно, не буде звучати так добре, навіть з цим кодером. Зауважте, що HE-AACv2 може не підтримуватися за допомогою цільових декодерів, і вам, ймовірно, доведеться компілювати ffmpeg для libfdk_aac підтримка.

Opus аудіо буде інший хороший формат, але в останній раз я перевірив специфікації для Opus в Matroska контейнер ще не були завершені; хоча через чутки, я думаю, що досягається прогрес.


fdk_aac приблизно так добре, як ви збираєтеся отримати (опус може отримати кращі результати, але, як зазначив LordNeckbeard, в даний час існують проблеми з сумісністю MKV), але зауважимо, що це буде досі дайте досить низьку якість - слухає (особливо якщо це тільки записана мова, як лекція), але я б не хотів, щоб сидіти через весь фільм з цією якістю звуку.
evilsoup

@evilsoup Приємно згадати. Я додав у відповідь примітку.
llogan

Дякуємо за відповідь, але коли я запускаю запропонований CLI, я отримую таку помилку: [matroska @ 0x26f8380] Застосування передбачено недійсне, не монотонно зростаюче DTS для мультиплексора в потоці 0: -80 & gt; = -80 av_interleaved_write_frame (): Неправильний аргумент Якщо Я намагаюся працювати з файлами .mp4, помилка не виникає, але я хотів би працювати тільки з файлами .mkv. Будь-які ідеї для її вирішення?
MarAja

@MarAja використовує найновішу збірку або компілює ffmpeg і спробуйте ще раз. Якщо це все ще відбувається, будь ласка, напишіть питання на Супер користувач (Не забудьте включити команду ffmpeg і повний висновок консолі, якщо ви ставите питання). Див Завантажити FFmpeg сторінка для збірок для Linux, Windows і OS X або посилання на a ffmpeg компілює керівництво .
llogan
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.