Hi,
I need to write Picture Timing SEI messages in an h264 stream, and thanks to the answers in one of my previous posts (Timecodestamper error in detecting upstream timecode), I managed to do that with MKV files:
gst-launch-1.0 -e videotestsrc ! video/x-raw,format=I420,width=1920,height=1080,framerate=30/1 ! timecodestamper set-internal-timecode=22:33:25:05 ! x264enc insert-vui=true option-string="pic-struct" ! h264parse update-timecode=true ! matroskamux ! filesink location=file_with_timecode.mkv
However the same pipeline with MPEGTS output does not work and SEI messages are corrupted:
gst-launch-1.0 -e videotestsrc ! video/x-raw,format=I420,width=1920,height=1080,framerate=30/1 ! timecodestamper set-internal-timecode=22:33:25:05 ! x264enc insert-vui=true option-string="pic-struct" ! h264parse update-timecode=true ! mpegtsmux ! tsparse ! filesink location=file_with_timecode.ts
I opened an issue on GitLab, as it seems that mpegtsmux
writes malformed SEI messages, where I give all details and file samples: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1813
Can somebody help me understand if I am missing something?