Re: How to skip until first key frame without decoding

geysee via gstreamer-devel <[email protected]>
Newsgroups gmane.comp.video.gstreamer.devel
Message-ID <OFCEC64250.E729AF66-ON49258A23.00005674-49258A23.001B3681@toa.co.jp>
Hi, Mr.Nicolas.

Thank you for your information.
I did not notice this specification. So it's helpful for me.

I tried GST_SEEK_FLAG_SNAP_AFTER and I noticed the following.

If I generate a movie by seeking with GST_SEEK_FLAG_SNAP_AFTER and 
GST_SEEK_FLAG_FLASH, 
it will appear distorted green for the first few seconds when I play with 
gst-play.

If you know the reason, could you tell me it?

My purpose is that the beginning of the movie becomes a key frame.
So for the time being, I would like to select one of the following.

1. GST_SEEK_FLAG_SNAP_AFTER without GST_SEEK_FLAG_FLASH
2. GST_SEEK_FLAG_SNAP_BEFORE  with GST_SEEK_FLAG_FLASH
3. GST_SEEK_FLAG_SNAP_NEAREST  with GST_SEEK_FLAG_FLASH

I think GST_SEEK_FLAG_SNAP_BEFORE is also fine.
Because I confirmed that If I use GST_SEEK_FLAG_SNAP_BEFORE and there is 
no previous key frame, it seeks to the next key frame.

Best regards,
Kamiya.


"Nicolas Dufresne" <[email protected]> wrote on 2023/09/07 02:39:21:
> 
> Le mardi 05 septembre 2023 ? 17:33 +0900, geysee via gstreamer-devela 
?crit :
> > Hello,
> >
> >
> > I tried the following pipeline with C++ coding (Properties are 
omitted).
> >
> >
> >      pipeline1 : splitmuxsrc ! h264parse ! queue ! qtmux ! filesink
> >
> >
> > When I seek range "start", I would like to skip frame until first key 
frame
> > without decoding.
> >
> > Would you give me how to do it anyone?

> If you issue a seek, qtdemux will send picture from the previous 
keyframe.
> Using GST_SEEK_FLAG_KEY_UNIT | GST_SEEK_FLAG_SNAP_AFTER should 
> instead give you
> frames from the next keyframe (for supported demuxers).

> Nicolas

> >
> > Best regards,
> > Kamiya

> [添付ファイル "C.htm" は 神谷 茂治/TOA が削除しました]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.