Hi,
Issue:
I am using a GStreamer pipeline to receive an H.264 video stream over UDP and process it. The pipeline has two output branches:
- Recorded Output: The stream is recorded using
splitmuxsink
, which works smoothly without any frame drops. - Live Processing Output: The decoded frames are collected through an intermediate processing stage (
frame_collector
, which replaces my internal element). Here, the video appears stuck, and frames do not flow smoothly.
Pipeline -
udpsrc address=172.133.0.1 port=22011 timeout=300000000000 do-timestamp=true !
watchdog timeout=90000 ! queue max-size-time=10000000000 ! identity sync=true !
tsparse set-timestamps=true ! tsdemux name=demux
demux.video_0_0100 ! queue ! h264parse ! tee name=emitter
emitter. ! queue ! h264parse ! vah264dec ! videoconvert ! video/x-raw,format=RGBA !
videorate ! video/x-raw(ANY),framerate=10/1 !
identity name=frame_collector ! queue ! fakesink sync=true async=false
splitmuxsink name=mp4mux max-size-time=60000000000 max-size-bytes=0 location=/tmp/record_repo/stream_
In GStreamer 1.16.2, this pipeline ran without issues, but in GStreamer 1.24.5, I observe the following issue:
WARN h264decoder gsth264decoder.c:980:gst_h264_decoder_handle_frame_num_gap:<vah264dec0>
Invalid frame num 28, maybe frame drop
Debug Logs:
Debug logs at level -4 are available here:
Debug Log File
Any suggestions to resolve this issue would be greatly appreciated!