Аудио и видео не синхронизированы?

Я использую nVLC в качестве оболочки vlc для рендеринга видеопотока rtsp в память, а затем поднимаю события для NewFrame (аудио и видео). в классе, которые фиксируют эти события. Я использовал Accord.Video.FFMPEG.VideoFileWriter для записи кадра и аудио байтов (или сигнала). но, к сожалению, у меня все еще есть задержка между аудио и видео. Я попытался отследить эту задержку и придумал следующее:

1 - задержка отличается от потока к потоку. т. е. для одного потока это около 1800 мс (для аудио-выводов), для другого - около 3000 мс (для аудио-выводов).

2 - задержка не зависит от задержки между захватом кадров и захватом аудиосигналов.

3 - задержка не зависит от задержки между захватом события видео NewFrame и записью аудио события NewFrame.

4-задержка не зависит от скорости интернет-соединения.

любая помощь в решении этой проблемы будет принята с благодарностью.

Спасибо

1 ответ

Лучший снимок, который я получил, - это использование аудиопотока в качестве ведущего, то есть никогда не записывать кадры из видеопотока, пока время кадра не будет больше или равно первому записанному аудиофрейму. PTS (презентационная временная метка) звукового кадра как есть при захвате, но PTS изображения рассчитывается в зависимости от игрока. Время (мс) и с помощью секундомера, который сбрасывается каждый раз, когда игрок. Время изменилось (в TimeChanged событие).

Другие вопросы по тегам