При использовании GStreamer для синхронизации аудио и видео задержка составит около одной секунды

#synchronization #video-streaming #gstreamer #rtp

Вопрос:

Я использую GStreamer для воспроизведения видеопотока UDP, а конец потоковой передачи-функция проецирования экрана в телефонах Android.Мой конвейер GStreamer выглядит следующим образом:

 udpsrc port=1991 caps="application/x-rtp,clock-rate=90000, media=video" ! rtpjitterbuffer latency=200 mode=4 ! rtpmp2tdepay ! tsdemux name=demuxer demuxer. ! queue name=video_ch max-size-buffers=0 max-size-time=0 ! h264parse ! queue name=dec0 max-size-buffers=0 max-size-time=0 ! avdec_h264 max-threads=0 skip-frame=1 output-corrupt=false ! videoconvert n-threads=0 ! autovideosink force-aspect-ratio=false sync=false async=false demuxer. ! queue max-size-buffers=0 max-size-time=0 ! aacparse ! avdec_aac ! audioconvert ! audioresample ! autoaudiosink sync=false   

Однако аудио и видео будут несинхронизированы во время работы этого конвейера, и чем дольше время воспроизведения, тем очевиднее несинхронизация аудио и видео.Но медлить нельзя.Когда sync настройки параметров autovideosink и autoaudiosink удаляются, аудио и видео всегда можно синхронизировать, но задержка составляет около одной секунды.Мой конвейер GStreamer выглядит следующим образом:

 udpsrc port=1991 caps="application/x-rtp,clock-rate=90000, media=video" ! rtpjitterbuffer latency=200 mode=4 ! rtpmp2tdepay ! tsdemux name=demuxer demuxer. ! queue name=video_ch max-size-buffers=0 max-size-time=0 ! h264parse ! queue name=dec0 max-size-buffers=0 max-size-time=0 ! avdec_h264 max-threads=0 skip-frame=1 output-corrupt=false ! videoconvert n-threads=0 ! autovideosink force-aspect-ratio=false async=false demuxer. ! queue max-size-buffers=0 max-size-time=0 ! aacparse ! avdec_aac ! audioconvert ! audioresample ! autoaudiosink   

Но при использовании VLC для прямого воспроизведения сетевого потока rtp://@:1991, задержка видео очень мала, что находится в пределах допустимого диапазона, и аудио и видео всегда можно синхронизировать.

Я не знаю, установлены ли какие-либо из моих параметров неправильно, или есть проблема с этим методом синхронизации аудио и видео.