After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 768483 - tsparse: add support for parsing SCTE-35 marks (splice information)
tsparse: add support for parsing SCTE-35 marks (splice information)
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-07-06 12:53 UTC by Fyodor Maximenkov
Modified: 2018-11-03 13:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch adds partial parsing of SCTE-35 marks in transport stream (11.18 KB, patch)
2016-07-07 10:30 UTC, Fyodor Maximenkov
none Details | Review

Description Fyodor Maximenkov 2016-07-06 12:53:45 UTC
I expect tsparse plugin to emit messages about splice information tables transported in MPEG TS packets. There's no way to extract such info from existing messages.
Comment 1 Fyodor Maximenkov 2016-07-07 10:30:07 UTC
Created attachment 330989 [details] [review]
Patch adds partial parsing of SCTE-35 marks in transport stream

The patch adds the feature for tsparser plugin to generate a message with splicing information for every upcoming splicing event.

How it works:
1) capture packets with splice information table (SIT) in MPEG2 transport stream
2) parse fields: splice_time, pmt pid, out_of_network_indicator (or "ad_in_flag")
2) generate message with splicing information.

The received message contains GstMpegtsSection*. Please, use function "gst_mpegts_section_get_sit(section)" to extract GstMpegtsSIT*.

My goal was only detecting the moment of ad in / ad out events, so I parse only splice_time and ad_in_flag.
Comment 2 Fyodor Maximenkov 2016-07-22 14:43:27 UTC
Please, smb, look at my patch!!
Comment 3 Fyodor Maximenkov 2016-07-22 14:47:22 UTC
Make sure, you've set the property "parse-private-section" of tsparser like this:
    g_object_set(G_OBJECT(parse), "parse-private-sections", TRUE, NULL);
Comment 4 Arjen Veenhuizen 2016-08-23 08:25:44 UTC
Thank you for your patch Fyodor. We have been able to use it to extract our time_signal markers. There are, however, some inconsistenties and bugs in your patch (e.g. it segfaults if a SCTE packet is found < 40 bytes of length and that length seems to be pretty arbitrarily chosen in the first place). I hope to share my modifications shortly.

Note that since a couple of weeks, ffmpeg has support for SCTE extraction as wel (in both normal MP2TS and HLS): http://ffmpeg.org/pipermail/ffmpeg-devel/2016-August/197411.html
Comment 5 Fyodor Maximenkov 2016-09-01 10:31:30 UTC
(In reply to Arjen Veenhuizen from comment #4)
> Thank you for your patch Fyodor. We have been able to use it to extract our
> time_signal markers. There are, however, some inconsistenties and bugs in
> your patch (e.g. it segfaults if a SCTE packet is found < 40 bytes of length
> and that length seems to be pretty arbitrarily chosen in the first place). I
> hope to share my modifications shortly.
> 
> Note that since a couple of weeks, ffmpeg has support for SCTE extraction as
> wel (in both normal MP2TS and HLS):
> http://ffmpeg.org/pipermail/ffmpeg-devel/2016-August/197411.html

Some time has passed) I started forgetting. I've read in the standard, that packet length shouldn't be less than 45 bytes. Weren't any bugs while I was testing -_- Still works for my needs.
I might be wrong. Waiting for your modifications though.
Comment 6 GStreamer system administrator 2018-11-03 13:53:08 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/407.