Skip to content
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

HLS VoD fMP4 Choppy Video Start #4516

Closed
JC-OS-dev opened this issue Sep 26, 2022 · 3 comments · Fixed by #4553 or #4424
Closed

HLS VoD fMP4 Choppy Video Start #4516

JC-OS-dev opened this issue Sep 26, 2022 · 3 comments · Fixed by #4553 or #4424
Labels
component: HLS The issue involves Apple's HLS manifest format priority: P1 Big impact or workaround impractical; resolve before feature release status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Milestone

Comments

@JC-OS-dev
Copy link

Have you read the FAQ and checked for duplicate open issues?
Yes.

What version of Shaka Player are you using?
v4.2.1-main-9-ge826eb8e AND 3.0.5

Can you reproduce the issue with our latest release version?
Yes

Can you reproduce the issue with the latest code from main?
Yes

Are you using the demo app or your own custom app?
Both

If custom app, can you reproduce the issue using our demo app?
Yes

What browser and OS are you using?
Chrome 105 and Mac OS 12 Monterey

For embedded devices (smart TVs, etc.), what model and firmware version are you using?
N/A

What are the manifest and license server URIs?
Sent through email.

What configuration are you using? What is the output of player.getConfiguration()?
Sent Shaka demo through email.

What did you do?
I created an HLS VOD constructed from 10 second fragmented MP4 clips originating from a larger video. I played the manifest in Shaka Demo. I repeated this with VLC player and Safari's player, but the bug did not occur there.

What did you expect to happen?
I expected that the audio and video at the start of the stream would play together for the first 10 seconds.

What actually happened?
During the first 10 seconds, the audio plays successfully, but the video is choppy and mostly displays 2-3 frames. After the new m4s file is loaded upon the 10 seconds finishing, the video syncs to the audio and playback continues as expected.

@JC-OS-dev JC-OS-dev added the type: bug Something isn't working correctly label Sep 26, 2022
@github-actions github-actions bot added this to the v4.3 milestone Sep 26, 2022
@avelad avelad added the component: HLS The issue involves Apple's HLS manifest format label Sep 27, 2022
@theodab
Copy link
Contributor

theodab commented Oct 4, 2022

I've noticed something similar with our demo HLS assets.
A little initial testing on our version index suggests that this started happening somewhere between v3.3.10 and v4.0.5.
One observation is that if you seek, the beginning of the video plays perfectly smoothly. This happens even on a buffered seek, so clearing the buffer isn't what fixes it.

@nyanmisaka
Copy link
Contributor

nyanmisaka commented Oct 6, 2022

A little initial testing on our version index suggests that this started happening somewhere between v3.3.10 and v4.0.5.

I can narrow it down to between v4.0.0 and v4.0.1.
v4.0.0 still works fine on initial without any seeking.

@nyanmisaka
Copy link
Contributor

@theodab 69d1c14 is the cause from my bisection.

nyanmisaka added a commit to nyanmisaka/shaka-player that referenced this issue Oct 6, 2022
this avoids the choppy video start on HLS fMP4 playback.

Closes shaka-project#4516
@joeyparrish joeyparrish added the priority: P1 Big impact or workaround impractical; resolve before feature release label Oct 6, 2022
theodab pushed a commit that referenced this issue Oct 6, 2022
Clearing the buffer seems to be not enough for this case.
This avoids the choppy video start on HLS fMP4 playback.

Tested with Chrome 106 & Edge 106.

Closes #4516
joeyparrish pushed a commit that referenced this issue Oct 7, 2022
Clearing the buffer seems to be not enough for this case.
This avoids the choppy video start on HLS fMP4 playback.

Tested with Chrome 106 & Edge 106.

Closes #4516
joeyparrish pushed a commit that referenced this issue Oct 7, 2022
Clearing the buffer seems to be not enough for this case.
This avoids the choppy video start on HLS fMP4 playback.

Tested with Chrome 106 & Edge 106.

Closes #4516
JulianDomingo pushed a commit that referenced this issue Oct 7, 2022
🤖 I have created a release *beep* *boop*
---


##
[4.1.5](v4.1.4...v4.1.5)
(2022-10-07)


### Bug Fixes

* allow build without text
([#4506](#4506))
([1db6265](1db6265))
* allow the playback on platforms when low latency APIs are not
supported
([#4485](#4485))
([55d1390](55d1390))
* check for negative rows before moving
([#4510](#4510))
([31abae3](31abae3)),
closes
[#4508](#4508)
* Filter unsupported H.264 streams in Xbox
([#4493](#4493))
([1ecede6](1ecede6))
* Fix choppy HLS startup
([#4553](#4553))
([1675bff](1675bff)),
closes
[#4516](#4516)
* Fix errors with TS segments on Chromecast
([#4543](#4543))
([15a1c60](15a1c60))
* Fix hang when seeking to the last segment
([#4537](#4537))
([72a119d](72a119d))
* Fix HLS dynamic to static transition
([932d37c](932d37c))
* Fix HLS dynamic to static transition
([#4483](#4483))
([932d37c](932d37c)),
closes
[#4431](#4431)
* Fix in-band key rotation on Xbox One
([#4478](#4478))
([5a8f09c](5a8f09c)),
closes
[#4401](#4401)
* Respect existing app usage of Cast SDK
([#4523](#4523))
([9c3a494](9c3a494)),
closes
[#4521](#4521)
* **ttml:** Default TTML background color to transparent if unspecified
([#4496](#4496))
([16da1e7](16da1e7)),
closes
[#4468](#4468)

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
JulianDomingo pushed a commit that referenced this issue Oct 7, 2022
🤖 I have created a release *beep* *boop*
---


##
[4.2.2](v4.2.1...v4.2.2)
(2022-10-07)


### Bug Fixes

* allow build without text
([#4506](#4506))
([7e93720](7e93720))
* allow the playback on platforms when low latency APIs are not
supported
([#4485](#4485))
([cf8c857](cf8c857))
* check for negative rows before moving
([#4510](#4510))
([23f39d7](23f39d7)),
closes
[#4508](#4508)
* Filter unsupported H.264 streams in Xbox
([#4493](#4493))
([914a08a](914a08a))
* Fix choppy HLS startup
([#4553](#4553))
([950ce69](950ce69)),
closes
[#4516](#4516)
* Fix errors with TS segments on Chromecast
([#4543](#4543))
([8204db6](8204db6))
* Fix hang when seeking to the last segment
([#4537](#4537))
([3d6c768](3d6c768))
* Fix HLS dynamic to static transition
([d9ecbf3](d9ecbf3))
* Fix HLS dynamic to static transition
([#4483](#4483))
([d9ecbf3](d9ecbf3)),
closes
[#4431](#4431)
* Fix in-band key rotation on Xbox One
([#4478](#4478))
([bc0a588](bc0a588)),
closes
[#4401](#4401)
* Missing AES-128 key of last HLS segment
([#4519](#4519))
([2c2677f](2c2677f)),
closes
[#4517](#4517)
* Respect existing app usage of Cast SDK
([#4523](#4523))
([3db2568](3db2568)),
closes
[#4521](#4521)
* **ttml:** Default TTML background color to transparent if unspecified
([#4496](#4496))
([0b5c985](0b5c985)),
closes
[#4468](#4468)

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions github-actions bot added the status: archived Archived and locked; will not be updated label Dec 5, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 5, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
component: HLS The issue involves Apple's HLS manifest format priority: P1 Big impact or workaround impractical; resolve before feature release status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Projects
None yet
5 participants