О синхронизации аудио и видео шкал времени файлов MP4 (fmp4)
Описание проблемы: Я использовал захваченные кадры H264 и кадры AAC для кодирования файла fmp4 (fargment MP4), но в итоге обнаружил, что воспроизведение аудио и видео не синхронизировано и вызывает задержку видео.
Мои параметры данных источника аудио и видео:
H264: 15 кадров / с (только I/P)
PCM: частота дискретизации: моноканал 16 кГц ---- -> кодируется в данные AAC (около 10 кадров в секунду), а частота кадров не является фиксированной, просто приблизительно.
Кодирование параметров файла fmp4:
Видео:
Шкала времени: 12288 (0 x00003000)
Длительность: внутренняя Длительность, рассчитанная путем преобразования разницы во времени между этим кадром и предыдущим кадром фактического кадра h264.
Аудио:
Шкала времени: 44100 (0 x0000ac44)
Длительность: фиксированное значение 1024 (я нашел его в Интернете, но не знаю, как). Кроме того, поскольку кадры кодирования исходных данных неоднородны, иногда аудиоданные в сгенерированном окне moof+ mdat очень малы. (только один или два кадра), я не знаю, окажет ли это влияние
Кто может сказать мне, как эти параметры должны быть установлены и как они связаны друг с другом?