<div dir="ltr"><div>Hi GStreamer team!</div><div><br></div><div>I have the following need and I want to create a Gstreamer plugin that will do this :</div><div>Read a Timed data track (GST_MATROSKA_TRACK_TYPE_COMPLEX type 3) and a video track from MKV source and insert key frames in the video track at specific timestamp received in the data track.</div><div><br></div><div>I have started to implement this in 2 part :</div><div>- Update of the MKV parser (<a href="https://gstreamer.freedesktop.org/documentation/matroska/matroskademux.html?gi-language=c">https://gstreamer.freedesktop.org/documentation/matroska/matroskademux.html?gi-language=c</a>) to read the timed data packets and create a gstreamer event with "gst_event_new_custom".</div><div>- Write a plugin based on GstVideoFilter (<a href="https://gstreamer.freedesktop.org/documentation/video/gstvideofilter.html?gi-language=c">https://gstreamer.freedesktop.org/documentation/video/gstvideofilter.html?gi-language=c</a>) that takes the video track as source, read the events coming from the matroska demuxer with GstBaseTransform "src_event" and use GST_VIDEO_CODEC_FRAME_SET_FORCE_KEYFRAME to set the keyframes when needed.
</div><div><br></div><div>Does it makes sense for you? Let me know if there is some better way to achieve this. Note that I need to keep the original keyframes rate AND add the additional key frames at specific timestamps.<br></div><div><br></div><div>Thanks<br></div><div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><br></div><div>Thomas JAMMET</div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>