Re: Is it a good way to separate pipelines in order to dynamically change properties?
geysee via gstreamer-devel <[email protected]>
| Newsgroups | gmane.comp.video.gstreamer.devel |
|---|---|
| Message-ID | <OFFFBCB481.5037CBEA-ON49258A00.000F31D6-49258A00.0010DCEA@toa.co.jp> |
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" <[email protected]> wrote on 2023/08/03 07:09:52: > > Hi, > Le mar. 1 ao?t 2023, 03 h 15, geysee via gstreamer-devel < > [email protected]> 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 が削除しました]