Eyevinn / mp2ts-tools

Tools for MPEG-2 TS
MIT License
14 stars 0 forks source link

Add detection and print out of SCTE-35 markers #11

Closed tobbee closed 7 months ago

tobbee commented 7 months ago

Beyond seeing elementary streams from "mp2ts-info" it would be good to see if there is a SCTE-35 PID and how many markers are in the stream. A parameter could specify that they should be printed as well.

Wkkkkk commented 7 months ago

Now we can detect the SCTE35 markers. WIth the two test files (ts_with_scte35.ts and 80s_with_ad.ts),

go run . -indent=false -service -scte35 ~/testfile.ts

we have output as follows.

{"pid":256,"codec":"AVC","type":"video"}
{"pid":257,"codec":"AAC","type":"audio"}
{"pid":1001,"codec":"SCTE35","type":"cue"}
{"SDT":[{"serviceId":1,"descriptors":[{"serviceName":"Service01","providerName":"FFmpeg"}]}]}
{"pid":1001,"spliceCommand":{"type":"SpliceInsert","eventId":255,"duration":1800000}}

and

{"pid":289,"codec":"AVC","type":"video"}
{"pid":545,"codec":"AAC","type":"audio"}
{"pid":546,"codec":"AAC","type":"audio"}
{"pid":53,"codec":"SCTE35","type":"cue"}
{"SDT":[{"serviceId":1,"descriptors":[{"serviceName":"A1Now","providerName":"Sportradar"}]}]}
{"pid":53,"spliceCommand":{"type":"SpliceInsert","eventId":8}}
{"pid":53,"spliceCommand":{"type":"SpliceInsert","eventId":1,"duration":2700000}}
{"pid":53,"spliceCommand":{"type":"SpliceInsert","eventId":1}}
{"pid":53,"spliceCommand":{"type":"SpliceInsert","eventId":2,"duration":4500000}}