Я захватываю живой аудиопоток Opus, и независимо от того, что я выбираю для частоты дискретизации звука, я получаю выходной сигнал 48 кГц.ffmpeg не соблюдает частоту дискретизации в выходе opus
Это моя командная строка
./ffmpeg -f ALSA -ar 16000 -i sysdefault: CARD = CoDeC -f ALSA -ar 16000 -i sysdefault: CARD = CODEC_1 -filter_complex присоединиться к = Входы = 2: channel_layout = stereo: map = 0.1-FR \ | 1.0-FL, asetpts = expr = N/SR/TB -ar 16000 -ab 64k -c: opus -vbr off -compression_level 5 output.ogg
И это то, что FFmpeg отвечает:
Выход # 0, ogg, to 'output.ogg: Метаданные: encoder: Lavf57.48.100 Поток # 0: 0: Аудио: opus (libopus), 16000 Гц, стерео, s16, задержка 104, дополнение 0 , 64 кб/с (по умолчанию) Metadata: кодировщик: Lavc57.54.100 libopus
Однако, оказывается, что FFmpeg солгал, потому что при повторном анализе файла, я получаю:
Вход # 0, ogg, from 'output.ogg': Продолжительность: 00: 00: 03.21, start: 0.000000, bitrate: 89 kb/s поток # 0: 0: Аудио: опус, 48000 Гц, стерео, s16, задержка 156, утеплитель 0 Metadata: ЭНКОДЕРА: Lavc57.54.100 libopus
Я попытался так много перестановок частоты дискретизации, что упрощает вплоть до одного аудиовхода и т. д. и т. д. - всегда с тем же результатом.
Любые идеи?
спасибо за это. Следует также отметить, что VLC также сообщает файл как 48Khz - и размер файла слишком велик, чтобы быть 16 кГц, поэтому я довольно уверен, что он содержит 48000 выборок в секунду данных ... Я расшифровал файл в WAV, а затем использовать opusenc, чтобы сжать его до 16Khz, и это было намного меньше .... – Adam