Аудио и видео не синхронизированы? - PullRequest
0 голосов
/ 30 сентября 2018

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

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

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

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

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

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

Спасибо

1 Ответ

0 голосов
/ 07 ноября 2018

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

...