Я записываю непрерывный поток в потоке высокой четкости HLS. Затем я хочу асинхронно перекодировать это в разные форматы/битрейты. У меня это работает, в основном, кроме аудио артефактов появляются между каждым сегментом (пробелы и попсы).Транскодированные сегменты HLS индивидуально с использованием FFMPEG
Вот пример команды FFmpeg линия:
ffmpeg -threads 1 -nostdin -loglevel verbose \
-nostdin -y -i input.ts -c:a libfdk_aac \
-ac 2 -b:a 64k -y -metadata -vn output.ts
Осматривая пример звукового файла показывает, что существует разрыв в конце аудио:
и начало файл выглядит подозрительно аттенуированным (хотя это может и не быть проблемой):
Мое подозрение, что эти артефакты происходят, потому что транскодирование происходит без контекста потока в целом.
Любые идеи о том, как убедить FFMPEG в создании звука, который поместится обратно в поток HLS?
** UPDATE 1 **
Вот начало/конец оригинального сегмента. Как вы можете видеть, старт по-прежнему выглядит одинаково, но конец заканчивается на 30 секунд. Я ожидаю, что в некоторой степени заполнения с потерями кодирования, но я есть какой-то способ, что HLS удается сделать беспрерывное воспроизведение (это связано с ITunes метод с пользовательских метаданных?)
** ОБНОВЛЕНО 2 **
Итак, я преобразовал оба оригинала (128k aac в MPEG2 TS) и перекодированный (64k aac в aac/adts container) в WAV и поместил два бок о бок. Это результат:
Я не уверен, если это представитель того, как клиент будет играть его обратно, но это кажется немного странным, что декодирование транскодированного один вводит щель в start и делает сегмент дольше. Учитывая, что они являются кодировкой с потерями, я бы ожидал, что отступы будут одинаково присутствовать в обоих (если вообще).
** UPDATE 3 **
По http://en.wikipedia.org/wiki/Gapless_playback - только несколько кодеров поддержки бесщелевым - MP3, я переключился на хромой в FFmpeg, и проблема, до сих пор, по-видимому, не было.
Для AAC (см. http://en.wikipedia.org/wiki/FAAC), я попробовал libfaac (в отличие от libfdk_aac), и это также, кажется, создает бесщеточный звук. Однако качество последнего не так велико, и я предпочел бы использовать libfdk_aac.
И как форма волны сравнивается с входным файлом? – vipw
Обновлено с помощью оригинальных и сравниваемых сигналов – rayh