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

On a ongoing recording playback, if we seek forward until live, it keeps loading and the video gets stuck, the trickmodes does not work #4571

Open
greeshmarr opened this issue Sep 20, 2024 · 3 comments

Comments

@greeshmarr
Copy link

Environment
  • Dash.js version: 4.7.2
    configuration:
    streaming: {
    metrics: {
    maxListDepth: 20,
    },
    scheduling: {
    scheduleWhilePaused: false,
    },
    delay: {
    liveDelayFragmentCount: 3,
    },
    buffer: {
    fastSwitchEnabled: false,
    stableBufferTime: 15,
    },
    abr: {
    movingAverageMethod: 'ewma',
    bandwidthSafetyFactor: 0.7,
    },
    lastBitrateCachingInfo: {
    enabled: false,
    },
    lastMediaSettingsCachingInfo: {
    enabled: false,
    },
    text: {
    defaultEnabled: false,
    },
    },
Steps to reproduce
  1. start recording from a linear channel,
    go to recordings and start the playback -> perform seek till where it is recorded,
    It keeps buffering and gets the video gets stuck, none of the trickmodes work
    in the background, the segments would be downloaded and seen on the network tab
  2. The bug is always reproducible
Observed behavior

It keeps buffering and gets the video gets stuck, none of the trickmodes work

Console output
Paste the contents of the browser console here.
[Player] seek() 1099.6390000000001
main.2075a892.chunk.js:1 [186509][PlaybackController] Requesting seek to time: 1109.988 
main.2075a892.chunk.js:1 Native video element event: seeking
main.2075a892.chunk.js:1 [186515][PlaybackController] Seeking to: 1109.988 
main.2075a892.chunk.js:1 startUpdatingWallclockTime
main.2075a892.chunk.js:1 [Player] seeking
main.2075a892.chunk.js:1 [186531][StreamProcessor][video] onFragmentLoadingAbandoned request:
http://omd-edge-sh-ab-01.jitp-cdvr-e-1.cdn.yesplus.tv/dash-pr/cdvr-e/eid/1726732800-CH36/segments/CH36/1720347286/abreinfo/eyJzdHJtSW5mIjp7InYiOjEsInN0IjoidiIsInRJZCI6MTAwLCJjZGMiOiJhdmMxIiwicHBzIjpbImFPOTFKUT09Il0sInNwcyI6WyJaMlFBS3F3OHBRSGdDSitYQVVJQ0FnS0FBQUFEQUlBQUFESnhRQUFRWnlBQU1UVmZpZkJRIl19fQ/repid/100/2043--profile--4.3/pts/155406741866997.m4f
has been aborted 
main.2075a892.chunk.js:1 [186621][PlaybackController] Native video element event: waiting 
main.2075a892.chunk.js:1 [186632][AbrController] [video] switching from buffer occupancy to throughput ABR rule (buffer: 0.000). 
main.2075a892.chunk.js:1 [186649][AbrController] [audio] switching from buffer occupancy to throughput ABR rule (buffer: 0.000). 
main.2075a892.chunk.js:1 [186991][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 1720347286 and media type video - Url:
http://omd-edge-sh-ab-01.jitp-cdvr-e-1.cdn.yesplus.tv/dash-pr/cdvr-e/eid/1726732800-CH36/segments/CH36/1720347286/abreinfo/eyJzdHJtSW5mIjp7InYiOjEsInN0IjoidiIsInRJZCI6MTAwLCJjZGMiOiJhdmMxIiwicHBzIjpbImFPOTFKUT09Il0sInNwcyI6WyJaMlFBS3F3OHBRSGdDSitYQVVJQ0FnS0FBQUFEQUlBQUFESnhRQUFRWnlBQU1UVmZpZkJRIl19fQ/repid/100/2043--profile--4.3/pts/155406648448058/init.mp4
  
main.2075a892.chunk.js:1 [187004][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 1720347286 and media type audio - Url:
http://omd-edge-sh-ab-01.jitp-cdvr-e-1.cdn.yesplus.tv/dash-pr/cdvr-e/eid/1726732800-CH36/segments/CH36/1720347286/abreinfo/eyJzdHJtSW5mIjp7InYiOjEsInN0IjoiYSIsInRJZCI6M319/repid/300/2043--profile--4.3/pts/155406648448058/init.mp4
  
main.2075a892.chunk.js:1 [187012][StreamProcessor][video] [video] lastInitializedRepresentationInfo changed to 3 
main.2075a892.chunk.js:1 [187017][StreamProcessor][audio] [audio] lastInitializedRepresentationInfo changed to 0 
main.2075a892.chunk.js:1 [187327][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 1720347286 and media type audio - Url:
http://omd-edge-sh-ab-01.jitp-cdvr-e-1.cdn.yesplus.tv/dash-pr/cdvr-e/eid/1726732800-CH36/segments/CH36/1720347286/abreinfo/eyJzdHJtSW5mIjp7InYiOjEsInN0IjoiYSIsInRJZCI6M319/repid/300/2043--profile--4.3/pts/155406747806997.m4f
  
main.2075a892.chunk.js:1 [189463][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 1720347286 and media type video - Url:
http://omd-edge-sh-ab-01.jitp-cdvr-e-1.cdn.yesplus.tv/dash-pr/cdvr-e/eid/1726732800-CH36/segments/CH36/1720347286/abreinfo/eyJzdHJtSW5mIjp7InYiOjEsInN0IjoidiIsInRJZCI6MTAwLCJjZGMiOiJhdmMxIiwicHBzIjpbImFPOTFKUT09Il0sInNwcyI6WyJaMlFBS3F3OHBRSGdDSitYQVVJQ0FnS0FBQUFEQUlBQUFESnhRQUFRWnlBQU1UVmZpZkJRIl19fQ/repid/100/2043--profile--4.3/pts/155406747806997.m4f
  
main.2075a892.chunk.js:1 [189648][StreamController] [onStreamBufferingCompleted] calls signalEndOfStream of mediaSourceController. 
main.2075a892.chunk.js:1 [191749][DashParser] Parsing complete: ( xml2json: 44.0ms, objectiron: 0.400ms, total: 0.0444s) 
main.2075a892.chunk.js:1 [191753][StreamController] Manifest updated... updating data system wide. 
main.2075a892.chunk.js:1 [191765][ManifestUpdater] Manifest has been refreshed at Thu Sep 19 2024 15:58:07 GMT+0530 (India Standard Time)[1726741687.607]  
main.2075a892.chunk.js:1 Duration timer triggered
main.2075a892.chunk.js:1 [198022][DashParser] Parsing complete: ( xml2json: 38.6ms, objectiron: 0.400ms, total: 0.0390s) 
main.2075a892.chunk.js:1 [198025][StreamController] Manifest updated... updating data system wide. 
main.2075a892.chunk.js:1 [198034][ManifestUpdater] Manifest has been refreshed at Thu Sep 19 2024 15:58:13 GMT+0530 (India Standard Time)[1726741693.878]  
main.2075a892.chunk.js:1 [204281][DashParser] Parsing complete: ( xml2json: 37.2ms, objectiron: 0.500ms, total: 0.0377s) 
main.2075a892.chunk.js:1 [204285][StreamController] Manifest updated... updating data system wide. 
main.2075a892.chunk.js:1 [204294][ManifestUpdater] Manifest has been refreshed at Thu Sep 19 2024 15:58:20 GMT+0530 (India Standard Time)[1726741700.139]  
main.2075a892.chunk.js:1 [210537][DashParser] Parsing complete: ( xml2json: 34.9ms, objectiron: 0.400ms, total: 0.0353s) 
main.2075a892.chunk.js:1 [210541][StreamController] Manifest updated... updating data system wide. 
main.2075a892.chunk.js:1 [210551][ManifestUpdater] Manifest has been refreshed at Thu Sep 19 2024 15:58:26 GMT+0530 (India Standard Time)[1726741706.394]  
main.2075a892.chunk.js:1 [216802][DashParser] Parsing complete: ( xml2json: 38.7ms, objectiron: 0.500ms, total: 0.0392s) 
main.2075a892.chunk.js:1 [216806][StreamController] Manifest updated... updating data system wide. 
main.2075a892.chunk.js:1 [216819][ManifestUpdater] Manifest has been refreshed at Thu Sep 19 2024 15:58:32 GMT+0530 (India Standard Time)[1726741712.66]  
main.2075a892.chunk.js:1 [223079][DashParser] Parsing complete: ( xml2json: 34.6ms, objectiron: 0.500ms, total: 0.0351s) 
main.2075a892.chunk.js:1 [223084][StreamController] Manifest updated... updating data system wide. 
main.2075a892.chunk.js:1 [223095][ManifestUpdater] Manifest has been refreshed at Thu Sep 19 2024 15:58:38 GMT+0530 (India Standard Time)[1726741718.937]  
main.2075a892.chunk.js:1 [229346][DashParser] Parsing complete: ( xml2json: 42.2ms, objectiron: 0.400ms, total: 0.0426s) 
main.2075a892.chunk.js:1 [229349][StreamController] Manifest updated... updating data system wide. 
main.2075a892.chunk.js:1 [229360][ManifestUpdater] Manifest has been refreshed at Thu Sep 19 2024 15:58:45 GMT+0530 (India Standard Time)[1726741725.202]  
main.2075a892.chunk.js:1 [231703][PlaybackController] Native video element event: pause 
main.2075a892.chunk.js:1 [233358][PlaybackController] Native video element event: play 
main.2075a892.chunk.js:1 startUpdatingWallclockTime
main.2075a892.chunk.js:1 [233364][PlaybackController] Native video element event: waiting 
main.2075a892.chunk.js:1 [239747][DashParser] Parsing complete: ( xml2json: 39.1ms, objectiron: 0.500ms, total: 0.0396s) 
main.2075a892.chunk.js:1 [239750][StreamController] Manifest updated... updating data system wide. 
main.2075a892.chunk.js:1 [239763][ManifestUpdater] Manifest has been refreshed at Thu Sep 19 2024 15:58:55 GMT+0530 (India Standard Time)[1726741735.604]  
Expected behavior

The player has to stop buffering and continue playback once segments are downloaded

@greeshmarr greeshmarr added the Bug label Sep 20, 2024
@dsilhavy
Copy link
Collaborator

@greeshmarr Did you check this in the latest nightly build? https://reference.dashif.org/dash.js/nightly/samples/dash-if-reference-player/index.html. Also what do you mean by "start recording from a linear channel". The offline playback functionality? https://reference.dashif.org/dash.js/nightly/samples/index.html#Offline

@greeshmarr
Copy link
Author

greeshmarr commented Sep 24, 2024

@dsilhavy , When initiating a recording from a linear channel, the intention is to start capturing the live content and continue recording until the show ends. During playback of this recorded content, there are issues when seeking forward to the most recently recorded point.

Steps and Issues
Starting the Recording:

The recording begins by capturing the live broadcast of the channel from the current point in time.
The recording continues as long as the show is broadcasted, capturing all the content until the show concludes.
Playback of the Recorded Content:

When playing back the recorded content, the user can start watching from the beginning of the recording.
If the user seeks forward during playback, they can move to any point that has already been recorded.
Playback Issue:

When seeking to the most recent part of the recording (i.e., close to the current live broadcast time), the playback stalls.
The player continues to load, but no content is played, despite the fact that the required segments (MPD segments) are being downloaded.

@dsilhavy
Copy link
Collaborator

Please provide a hosted version of the content to reproduce the problem. Without a sample stream, we won't be able to check this. Please also check if you see the same behavior in other players like Shaka Player.

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

No branches or pull requests

2 participants