-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failing to stream live HLS w/ TS & transmuxing #1102
Comments
With some local hacks to adjust MediaSource SourceBuffer offsets to compensate for the bad output from mux.js, I can play the above stream. I need to raise the issue with mux.js to see if there is a way we should be configuring it to give us unmodified timestamps. |
Filed videojs/mux.js#168 to get support from mux.js. |
We have a work-around now. I'm asking mux.js folks for a configuration for this to make it a little easier, but we can move forward in the mean time. |
So- I am seeing this issue where the timestamps output by muxjs are different than my TS segments when the presentationTimeOffset isn't 0. Basically my first MPEGTS segment starts at 133500:
In the logs I see:
Which matches the first PTS (Although there is an earlier PTS for the first audio packet in the stream which appears later). The presentationTimeOffset is set to 1.4833333333333334, but the code to adjust the PTS via the transmuxer sets it to adjust by 0: lib/media/transmuxer.js:
^ Tracing in the debugger 'startTime' is 0. As a result the transmuxed mp4 seems to adjust all of the timestamps:
And MediaSourceExtensions croaks with the following error:
Also, I wonder if getStartTimeFromTsSegment_ in lib/hls/hls_parser.js needs to be adjusted to search for a minimum timestamp closer to the beginning of the TS stream, rather than just reading the PTS out of the first TS packet it finds that has one. |
Please post a new issue for this. |
Raised in #740 (comment)
We parse the TS segments to get their timestamps, since HLS doesn't provide that information. However, as far as I can tell, the MP4 output from mux.js has different timestamps than what we parsed from the TS segments. So the MediaSource timeline doesn't line up with the Player's seek range.
The text was updated successfully, but these errors were encountered: