Итак, мое приложение предоставляет поток RTP, используя new VideoWriter(pipeline-definition);
Определение трубопровода:
appsrc is-live=1 do-timestamp=1 format=3 stream-type=0 min-latency=0 max-latency=500000000 ! queue leaky=2 max-size-time=500000000 ! videoconvert ! video/x-raw ! x264enc ! h264parse ! rtph264pay config-interval=10 pt=96 ! udpsink host=127.0.0.1 port=9000
Проблема, с которой я столкнулся, — задержка потока на 30 с при просмотре в VLC. Что бы я ни делал, VLC всегда отстает на 29-30 секунд. Кажется, что appsrc
вызывает это, поскольку тот же конвейер с videotestsrc
вообще не имеет задержки.
Любые идеи, что я должен сделать, чтобы appsrc
сразу выпускал кадры в поток?
VideoWriter
, но по моему опыту, если в appsrc загружаются кадры в реальном времени, то проблема в другом. У меня была аналогичная проблема, когда мне нужно было установить sync=FALSE в моем приемнике pipleine... В вашем случае отладьте, где кадры задерживаются в конвейере, чтобы найти реальную причину. - person logidelic   schedule 16.08.2019