Comcast / gots

MPEG Transport Stream handling in Go
Other
305 stars 88 forks source link

Account for PTS adjustment in SCTE35 Event Streams #50

Open guygrigsby opened 7 years ago

guygrigsby commented 7 years ago

In the CLI we do not account for the pts_adjust field when dumping SCTE35 info. I don't know if this is greater than just the CLI, but we need to figure out the extent of the issue and fix it.

BlakeOrth commented 7 years ago

It's accounted for in the actual code: https://github.com/Comcast/gots/blob/ad6cb5dcfefe42ef91066b4a35a4e640c9435b41/scte35/scte35.go#L85-L103

If the CLI is using this directly and it's not computing the correct PTS values we have even more to be concerned about

guygrigsby commented 7 years ago

That's even stranger. Got these results on a pass over with the cli. Putting them here so I don't forget.

➜  Brooklyn99_223_HD_C3_AUTH_movie_scenario1_IP_720p24_TS cli -f Brooklyn99_223_HD_C3_AUTH_movie_LVLH01.ts -scte35
Pat
    PMT PIDs map[1:480]
    Number of Programs 1
Program #1 PMT
    PIDs [481 494 500]
    Elementary Streams
        Pid 481 : StreamType 27
            SCTE Adaptation (151)
            AVC Video (40)
            EBP (233)
            Maximum Bit-Rate (877)
        Pid 494 : StreamType 15
            SCTE Adaptation (151)
            ISO 639 Language (code=eng, audioType=0)
            EBP (233)
            Maximum Bit-Rate (260)
        Pid 500 : StreamType 134
SCTE35 Message on PID 500
    Command Type TimeSignal
    PTS 0
    ---> OUT Segmentation Descriptor
        Event ID 1
        Type SegDescProviderPOStart
    <--- IN Segmentation Descriptor
        Event ID 1
        Type SegDescProviderPOEnd

The Time Signal above is at PTS 0. I do not think that is correct. Coral VOD packager puts it at 185760.

mikereedell commented 5 years ago

@guygrigsby do you have a SCTE-35 signal that shows this?

guygrigsby commented 5 years ago

I have an asset. I'll send it to you. Can't post it here because copyright.