Is it a good way to separate pipelines in order to dynamically change properties?

s_kamiya at toa.co.jp s_kamiya at toa.co.jp
Thu Aug 3 03:04:11 UTC 2023


Hi,
Mr. Nicolas.

Thank you for your reply.
Your way looks nice!

I am trying it now.
I will let you know the results later.

Thank you.
Kamiya.


"gstreamer-devel" <gstreamer-devel-bounces at lists.freedesktop.org> wrote on 
2023/08/03 07:09:52:

> 
> Hi,

> Le mar. 1 ao?t 2023, 03 h 15, geysee via gstreamer-devel <
> gstreamer-devel at lists.freedesktop.org> a ?crit :

> > Hello
> > I am Kamiya.
> >
> > I have a question.
> >
> > Is it a good way to separate pipelines in order to dynamically change
> > properties
> > that cannot be changed in the PLAYING state, such as the location 
property
> > in filesrc?

> 
> It can be a good method. But from what you described below, you may get
> easier results with concat element instead. splitmuxsrc should work, 
there
> is a signal to query the filename from your app instead of using the 
glob.

> 
> >
> > I'm sorry for the long post, but the background of the question is as
> > follows.
> >
> >
> > 
> 
---------------------------------------------------------------------------------------------------------------------------------
> > I'm making a system that records video from a network camera while
> > dividing it into files.
> > If the file is split at 10 minute intervals, the file path will be as
> > follows.
> >
> > C:/Rec/2023/07/31/1330_00000.mp4
> > C:/Rec/2023/07/31/1340_00000.mp4
> > C:/Rec/2023/07/31/1350_00000.mp4
> >
> > With gstreamer C++ coding, I am trying to export as a single file by
> > specifying the date and time range from the divided recording files.
> >
> > If the date and time range is in one file, like 13:32 - 13:34, then 
the
> > pipeline below has been successful. (Properties are omitted)
> >
> > pileline : filesrc ! qtdemux ! h265parse ! queue ! qtmux ! filesink
> >
> > On the other hand, if the date and time range is split into multiple
> > files, like 7/31 20:00 - 8/1 10:00, this pipeline fails.
> >
> > First, I tried multifilesrc and splitmuxsrc, but the location property 
is
> > a glob pattern, it didn't fit the file path of date and time.
> > Next, I tried updating the location property of filesrc sequentially, 
but
> > I couldn't change the location when this state is PLAYING.
> >
> > So now I'm trying to divide the pipeline into two as follows.
> >
> > pipeline1 : filesrc ! qtdemux ! h265parse ! appsink
> > pipeline2 : appsrc ! queue ! qtmux ! filesink
> >
> > When pipeline1 reaches the end of stream, I change the state of 
pipeline1
> > to Ready.
> > Next I change the location of filesrc. Finaly I change state to 
PLAYING
> > again.
> > The State of pipeline2 is not changed.
> >
> > However this way has not been successful yet. There are more problems 
than
> > single pipeline.
> >
> > Currently looking into the following issues:
> > If there was single pipeline it was processed at high speed, but if 
the
> > pipeline is divided, the processing time will be as per the timestamp.
> >
> > Is it a good way to split the pipeline like this?
> > I would appreciate if you give me some advice.
> >
> > 
> 
---------------------------------------------------------------------------------------------------------------------------------
> >
> > Best regards,
> > Kamiya.
> [添付ファイル "C.htm" は 神谷 茂治/TOA が削除しました] 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20230803/7590f5a1/attachment.htm>


More information about the gstreamer-devel mailing list