Suggestion for streaming recording split into many small segments

Thanh Do thanh.do at vivint.com
Fri Aug 11 18:59:45 UTC 2023


Hi,

My name is Thanh and I'm currently looking into our implementation for playback recordings that was previously split into many small segments with splitmuxsink.

Our recordings are split into many small segments of equal duration with 100 segments per folder in sequential order.  They are stored on the device filesystem as follow:

{segment_dir}/{segment_id}.mp4

00001/00.mp4
00001/01.mp4
...
00001/99.mp4
---------------------start new segment dir-----------
00002/00.mp4
...
00002/98.mp4
00002/99.mp4
---------------------start new segment dir-----------
...

Currently we're dynamically create new splitmuxsrc with the location to a single segment and attach it to the rest of our fixed pipeline.  As the playback progress, new splitmuxsrc is created for the next segment and previous splitmuxsrc element is destroyed based on EoS probe.  This seems to work most of the time but are seeing some less than obvious problems such as not playing/stop altogether.  This is on a device with limited resources.

I'm looking to see if there are better options to avoid constantly create and destroy of splitmuxsrc to see if we can address some of the issues.  Here are some of my thoughts:


  1.  Configure splitmuxsrc with location of files per segment_dir, this can potentially give splitmuxsrc up to 100 files.  This will lessen the create and destroy of splitmuxsrc.
  2.  Some way to dynamically update/feed new file location to splitmuxsrc.  This will enable us to have a more static pipeline, we just create splitmuxsrc once.  Is this possible already or can we modify the source slightly to have this feature?
  3.  Other plugins that can handle this setup better?

Any suggestion is greatly appreciated.

Thanks,
Thanh



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20230811/a747748f/attachment.htm>


More information about the gstreamer-devel mailing list