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

No playback after some time #4623

Closed
testeur-990 opened this issue Nov 7, 2024 · 4 comments
Closed

No playback after some time #4623

testeur-990 opened this issue Nov 7, 2024 · 4 comments
Labels

Comments

@testeur-990
Copy link

Environment
Steps to reproduce

1.Install Chrome version 53.0.2785 (you can use this link https://www.slimjet.com/chrome/google-chrome-old-version.php to install it) and launch it in unsecured mode to avoid cross-origin issues.
2. I created this sample test app that you can use to reproduce the issue :

`

<title>DASH.js 4.7.4 Stream Test</title> <style> body { font-family: Arial, sans-serif; text-align: center; margin: 20px; }
    video {
        width: 100%;
        max-width: 800px;
        height: auto;
    }
</style>

DASH.js 4.7.4 Stream Test

<script src="dash.all.debug.js"></script> 
<script>

    const manifestUrl = 'https://live11-dash-preprod-he2.v-o.staging.cdn.orange.com/MnM3Syr0m1M-33yU8dNNYg/1733011200/428467/506237/54/cmaf/r11_pre10_ott/dash_high.mpd';
    const videoPlayer = document.getElementById('videoPlayer');
    const dashPlayer = dashjs.MediaPlayer().create();

    dashPlayer.initialize(videoPlayer, manifestUrl, true);
</script>
` 3. Play the stream
Observed behavior

After some time, there is no playback (sometimes, at the beginning, there is no playback)

Console output
[3279394][BufferController][audio] Buffered range: 1730996773.822244 - 1730996850.942243, currentTime =  1730996793.81291 
Debug.js:169 [3279394][StreamProcessor][audio] Appended bytes for audio and stream id 360780284076 
Debug.js:169 [3279896][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 360780284076 and media type video - Url: https://live11-dash-preprod-he2.v-o.staging.cdn.orange.com/MnM3Syr0m1M-33yU…1733011200/428467/506237/54/cmaf/r11_pre10_ott/v6_211-0-T-361510184076.m4s  
Debug.js:169 [3279898][BufferController][video] Buffered range: 1730996774.723999 - 1730996850.723999, currentTime =  1730996793.81291 
Debug.js:169 [3279899][StreamProcessor][video] Appended bytes for video and stream id 360780284076 
Debug.js:169 [3279902][ScheduleController][video] Media segment needed for video and stream id 360780284076 
Debug.js:169 [3279902][StreamProcessor][video] Next fragment request url for stream id 360780284076 and media type video is https://live11-dash-preprod-he2.v-o.staging.cdn.orange.com/MnM3Syr0m1M-33yU…1733011200/428467/506237/54/cmaf/r11_pre10_ott/v6_211-0-T-361510364076.m4s 
Debug.js:169 [3280398][ScheduleController][audio] Media segment needed for audio and stream id 360780284076 
Debug.js:169 [3280398][StreamProcessor][audio] Next fragment request url for stream id 360780284076 and media type audio is https://live11-dash-preprod-he2.v-o.staging.cdn.orange.com/MnM3Syr0m1M-33yU…1733011200/428467/506237/54/cmaf/r11_pre10_ott/v0_221-0-T-361510378318.m4s 
Debug.js:169 [3280456][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 360780284076 and media type audio - Url: https://live11-dash-preprod-he2.v-o.staging.cdn.orange.com/MnM3Syr0m1M-33yU…1733011200/428467/506237/54/cmaf/r11_pre10_ott/v0_221-0-T-361510378318.m4s  
Debug.js:169 [3280457][BufferController][audio] Buffered range: 1730996773.822244 - 1730996852.819577, currentTime =  1730996793.81291 
Debug.js:169 [3280457][StreamProcessor][audio] Appended bytes for audio and stream id 360780284076 
Debug.js:169 [3280593][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 360780284076 and media type video - Url: https://live11-dash-preprod-he2.v-o.staging.cdn.orange.com/MnM3Syr0m1M-33yU…1733011200/428467/506237/54/cmaf/r11_pre10_ott/v6_211-0-T-361510364076.m4s  
Debug.js:169 [3280596][BufferController][video] Buffered range: 1730996774.723999 - 1730996852.723999, currentTime =  1730996793.81291 
Debug.js:169 [3280597][StreamProcessor][video] Appended bytes for video and stream id 360780284076 
Debug.js:169 [3280600][ScheduleController][video] Media segment needed for video and stream id 360780284076 
Debug.js:169 [3280600][DashHandler][video] video No segment found at index: 11. Wait for next loop 
Debug.js:169 [3280961][ScheduleController][audio] Media segment needed for audio and stream id 360780284076 
Debug.js:169 [3280961][DashHandler][audio] audio No segment found at index: 11. Wait for next loop 
Debug.js:169 [3281103][ScheduleController][video] Media segment needed for video and stream id 360780284076 
Debug.js:169 [3281103][DashHandler][video] video No segment found at index: 11. Wait for next loop 
Debug.js:169 [3281463][ScheduleController][audio] Media segment needed for audio and stream id 360780284076 
Debug.js:169 [3281464][DashHandler][audio] audio No segment found at index: 11. Wait for next loop 
Debug.js:169 [3281606][ScheduleController][video] Media segment needed for video and stream id 360780284076 
Debug.js:169 [3281607][DashHandler][video] video No segment found at index: 11. Wait for next loop 
Debug.js:169 [3281965][ScheduleController][audio] Media segment needed for audio and stream id 360780284076 
Debug.js:169 [3281966][DashHandler][audio] audio No segment found at index: 11. Wait for next loop 
Debug.js:169 [3282108][ScheduleController][video] Media segment needed for video and stream id 360780284076 
Debug.js:169 [3282109][DashHandler][video] video No segment found at index: 11. Wait for next loop 
Debug.js:169 [3282468][ScheduleController][audio] Media segment needed for audio and stream id 360780284076 
Debug.js:169 [3282469][DashHandler][audio] audio No segment found at index: 11. Wait for next loop 
Debug.js:169 [3282612][ScheduleController][video] Media segment needed for video and stream id 360780284076 
Debug.js:169 [3282613][DashHandler][video] video No segment found at index: 11. Wait for next loop 
Debug.js:169 [3282972][ScheduleController][audio] Media segment needed for audio and stream id 360780284076 
Debug.js:169 [3282973][DashHandler][audio] audio No segment found at index: 11. Wait for next loop 
Debug.js:169 [3283114][ScheduleController][video] Media segment needed for video and stream id 360780284076 
Debug.js:169 [3283115][DashHandler][video] video No segment found at index: 11. Wait for next loop 
Debug.js:169 [3283475][ScheduleController][audio] Media segment needed for audio and stream id 360780284076 
Debug.js:169 [3283476][DashHandler][audio] audio No segment found at index: 11. Wait for next loop 
Debug.js:169 [3283617][ScheduleController][video] Media segment needed for video and stream id 360780284076 
Debug.js:169 [3283618][DashHandler][video] video No segment found at index: 11. Wait for next loop 
Debug.js:169 [3283977][ScheduleController][audio] Media segment needed for audio and stream id 360780284076 
Debug.js:169 [3283978][DashHandler][audio] audio No segment found at index: 11. Wait for next loop 
Debug.js:169 [3284121][ScheduleController][video] Media segment needed for video and stream id 360780284076 
Debug.js:169 [3284121][DashHandler][video] video No segment found at index: 11. Wait for next loop 
Debug.js:169 [3284480][ScheduleController][audio] Media segment needed for audio and stream id 360780284076 
Debug.js:169 [3284481][DashHandler][audio] audio No segment found at index: 11. Wait for next loop 
Debug.js:169 [3284623][ScheduleController][video] Media segment needed for video and stream id 360780284076 
Debug.js:169 [3284624][DashHandler][video] video No segment found at index: 11. Wait for next loop 
Debug.js:169 [3284733][DashParser] Parsing complete: ( xml2json: 8.16ms, objectiron: 0.0800ms, total: 0.00824s) 
Debug.js:169 [3284734][StreamController] Manifest updated... updating data system wide. 
Debug.js:169 [3284735][ManifestUpdater] Manifest has been refreshed at Thu Nov 07 2024 17:27:51 GMT+0100 (Paris, Madrid)[1730996871.406]  
Debug.js:169 [3284736][ManifestUpdater] Refresh manifest in 6000 milliseconds. 
Debug.js:169 [3284737][SourceBufferSink][video] Updated append window for video. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3284738][SourceBufferSink][audio] Updated append window for audio. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3284740][SourceBufferSink][text] Updated append window for text. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3284984][ScheduleController][audio] Media segment needed for audio and stream id 360780284076 
Debug.js:169 [3284985][StreamProcessor][audio] Next fragment request url for stream id 360780284076 and media type audio is https://live11-dash-preprod-he2.v-o.staging.cdn.orange.com/MnM3Syr0m1M-33yU…1733011200/428467/506237/54/cmaf/r11_pre10_ott/v0_221-0-T-361510547278.m4s 
Debug.js:169 [3285048][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 360780284076 and media type audio - Url: https://live11-dash-preprod-he2.v-o.staging.cdn.orange.com/MnM3Syr0m1M-33yU…1733011200/428467/506237/54/cmaf/r11_pre10_ott/v0_221-0-T-361510547278.m4s  
Debug.js:169 [3285050][BufferController][audio] Buffered range: 1730996773.822244 - 1730996854.931577, currentTime =  1730996793.81291 
Debug.js:169 [3285051][StreamProcessor][audio] Appended bytes for audio and stream id 360780284076 
Debug.js:169 [3285127][ScheduleController][video] Media segment needed for video and stream id 360780284076 
Debug.js:169 [3285128][StreamProcessor][video] Next fragment request url for stream id 360780284076 and media type video is https://live11-dash-preprod-he2.v-o.staging.cdn.orange.com/MnM3Syr0m1M-33yU…1733011200/428467/506237/54/cmaf/r11_pre10_ott/v6_211-0-T-361510544076.m4s 
Debug.js:169 [3285373][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 360780284076 and media type video - Url: https://live11-dash-preprod-he2.v-o.staging.cdn.orange.com/MnM3Syr0m1M-33yU…1733011200/428467/506237/54/cmaf/r11_pre10_ott/v6_211-0-T-361510544076.m4s  
Debug.js:169 [3285377][BufferController][video] Buffered range: 1730996774.723999 - 1730996854.723999, currentTime =  1730996793.81291 
Debug.js:169 [3285377][StreamProcessor][video] Appended bytes for video and stream id 360780284076 
Debug.js:169 [3285555][ScheduleController][audio] Media segment needed for audio and stream id 360780284076 
Debug.js:169 [3285556][StreamProcessor][audio] Next fragment request url for stream id 360780284076 and media type audio is https://live11-dash-preprod-he2.v-o.staging.cdn.orange.com/MnM3Syr0m1M-33yU…1733011200/428467/506237/54/cmaf/r11_pre10_ott/v0_221-0-T-361510737358.m4s 
Debug.js:169 [3285626][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 360780284076 and media type audio - Url: https://live11-dash-preprod-he2.v-o.staging.cdn.orange.com/MnM3Syr0m1M-33yU…1733011200/428467/506237/54/cmaf/r11_pre10_ott/v0_221-0-T-361510737358.m4s  
Debug.js:169 [3285629][BufferController][audio] Buffered range: 1730996773.822244 - 1730996856.80891, currentTime =  1730996793.81291 
Debug.js:169 [3285629][StreamProcessor][audio] Appended bytes for audio and stream id 360780284076 
Debug.js:169 [3290803][DashParser] Parsing complete: ( xml2json: 21.1ms, objectiron: 0.110ms, total: 0.0212s) 
Debug.js:169 [3290803][StreamController] Manifest updated... updating data system wide. 
Debug.js:169 [3290808][ManifestUpdater] Manifest has been refreshed at Thu Nov 07 2024 17:27:57 GMT+0100 (Paris, Madrid)[1730996877.475]  
Debug.js:169 [3290809][ManifestUpdater] Refresh manifest in 6000 milliseconds. 
Debug.js:169 [3290811][TimeSyncController] Decreasing timeBetweenSyncAttempts to 4 
Debug.js:169 [3290812][TimeSyncController] Completed UTC sync. Setting client - server offset to -15483 
Debug.js:169 [3290812][SourceBufferSink][video] Updated append window for video. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3290814][SourceBufferSink][audio] Updated append window for audio. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3290816][SourceBufferSink][text] Updated append window for text. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3296853][DashParser] Parsing complete: ( xml2json: 6.74ms, objectiron: 0.0700ms, total: 0.00681s) 
Debug.js:169 [3296853][StreamController] Manifest updated... updating data system wide. 
Debug.js:169 [3296863][ManifestUpdater] Manifest has been refreshed at Thu Nov 07 2024 17:28:03 GMT+0100 (Paris, Madrid)[1730996883.525]  
Debug.js:169 [3296864][ManifestUpdater] Refresh manifest in 6000 milliseconds. 
Debug.js:169 [3296865][TimeSyncController] Decreasing timeBetweenSyncAttempts to 2 
Debug.js:169 [3296865][TimeSyncController] Completed UTC sync. Setting client - server offset to -13537 
Debug.js:169 [3296865][SourceBufferSink][video] Updated append window for video. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3296867][SourceBufferSink][audio] Updated append window for audio. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3296868][SourceBufferSink][text] Updated append window for text. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3302932][DashParser] Parsing complete: ( xml2json: 19.9ms, objectiron: 0.210ms, total: 0.0201s) 
Debug.js:169 [3302933][StreamController] Manifest updated... updating data system wide. 
Debug.js:169 [3302936][ManifestUpdater] Manifest has been refreshed at Thu Nov 07 2024 17:28:09 GMT+0100 (Paris, Madrid)[1730996889.605]  
Debug.js:169 [3302937][ManifestUpdater] Refresh manifest in 6000 milliseconds. 
Debug.js:169 [3302938][TimeSyncController] Increasing timeBetweenSyncAttempts to 4 
Debug.js:169 [3302939][TimeSyncController] Completed UTC sync. Setting client - server offset to -13610 
Debug.js:169 [3302939][SourceBufferSink][video] Updated append window for video. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3302942][SourceBufferSink][audio] Updated append window for audio. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3302944][SourceBufferSink][text] Updated append window for text. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3308993][DashParser] Parsing complete: ( xml2json: 14.1ms, objectiron: 0.115ms, total: 0.0142s) 
Debug.js:169 [3308993][StreamController] Manifest updated... updating data system wide. 
Debug.js:169 [3308995][ManifestUpdater] Manifest has been refreshed at Thu Nov 07 2024 17:28:15 GMT+0100 (Paris, Madrid)[1730996895.665]  
Debug.js:169 [3308996][ManifestUpdater] Refresh manifest in 6000 milliseconds. 
Debug.js:169 [3308997][TimeSyncController] Increasing timeBetweenSyncAttempts to 8 
Debug.js:169 [3308999][TimeSyncController] Completed UTC sync. Setting client - server offset to -13669 
Debug.js:169 [3308999][SourceBufferSink][video] Updated append window for video. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3309001][SourceBufferSink][audio] Updated append window for audio. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3309005][SourceBufferSink][text] Updated append window for text. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3315094][DashParser] Parsing complete: ( xml2json: 7.79ms, objectiron: 0.0650ms, total: 0.00785s) 
Debug.js:169 [3315094][StreamController] Manifest updated... updating data system wide. 
Debug.js:169 [3315095][ManifestUpdater] Manifest has been refreshed at Thu Nov 07 2024 17:28:21 GMT+0100 (Paris, Madrid)[1730996901.766]  
Debug.js:169 [3315096][ManifestUpdater] Refresh manifest in 6000 milliseconds. 
Debug.js:169 [3315102][SourceBufferSink][video] Updated append window for video. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3315107][SourceBufferSink][audio] Updated append window for audio. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3315110][SourceBufferSink][text] Updated append window for text. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3321140][DashParser] Parsing complete: ( xml2json: 6.20ms, objectiron: 0.0800ms, total: 0.00628s) 
Debug.js:169 [3321141][StreamController] Manifest updated... updating data system wide. 
Debug.js:169 [3321142][ManifestUpdater] Manifest has been refreshed at Thu Nov 07 2024 17:28:27 GMT+0100 (Paris, Madrid)[1730996907.813]  
Debug.js:169 [3321143][ManifestUpdater] Refresh manifest in 5999 milliseconds. 
Debug.js:169 [3321144][TimeSyncController] Decreasing timeBetweenSyncAttempts to 4 
Debug.js:169 [3321144][TimeSyncController] Completed UTC sync. Setting client - server offset to -13816 
Debug.js:169 [3321144][SourceBufferSink][video] Updated append window for video. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3321146][SourceBufferSink][audio] Updated append window for audio. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3321147][SourceBufferSink][text] Updated append window for text. Set start to 1730988738.684 and end to Infinity 
Debug.js:169 [3327193][DashParser] Parsing complete: ( xml2json: 9.10ms, objectiron: 0.105ms, total: 0.00920s) 
Debug.js:169 [3327193][StreamController] Manifest updated... updating data system wide. 
Debug.js:169 [3327196][ManifestUpdater] Manifest has been refreshed at Thu Nov 07 2024 17:28:33 GMT+0100 (Paris, Madrid)[1730996913.865]  

Expected behavior

Playback should continue

@dsilhavy
Copy link
Collaborator

dsilhavy commented Nov 7, 2024

@testeur-990 Thanks for providing the details. As a heads up, I won't be able to look into this for the next weeks as I am working on the remaining issues and todos for version 5: https://github.com/orgs/Dash-Industry-Forum/projects/8.

Some suggestions based on the logs:

  • Check the behavior in the nightly build of dash.js (v5) as we are not applying any changes to v4 anymore
  • Your logs show a very large clock offset between client and server, e.g Completed UTC sync. Setting client - server offset to -13669. A 13 second difference indicates timing issues. Make sure that your client clock is correct. You can also try to deactivate utcSynchronization in the settings and check if that helps. Also check the timing information in your MPD, e.g. <UTCTiming schemeIdUri="urn:mpeg:dash:utc:direct:2014" value="2024-11-07T17:16:24.889Z"></UTCTiming>
  • Check if you can reproduce this issue with other livestreams like the one coming from LiveSim2: https://livesim2.dashif.org/livesim2/segtimeline_1/testpic_2s/Manifest.mpd
  • Check other players like Shaka Player to see if the same behavior occurs.

@testeur-990
Copy link
Author

Hello @dsilhavy ,
Ok, thank you. We will test your suggestions. However, we cannot test with dash.js 5 because we are blocked by the issue that I mentioned in this ticket #4619

@dsilhavy
Copy link
Collaborator

dsilhavy commented Nov 8, 2024

Hello @dsilhavy , Ok, thank you. We will test your suggestions. However, we cannot test with dash.js 5 because we are blocked by the issue that I mentioned in this ticket #4619

#4619 is solved for now, the build is ES5 compliant

@testeur-990
Copy link
Author

Hello @dsilhavy ,
The issue has been resolved by applying a workaround that limits the bitrate on the affected devices.
I will close this ticket now, and if we encounter the issue again, I will reach out to you
Thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants