hongzimao / pensieve

Neural Adaptive Video Streaming with Pensieve (SIGCOMM '17)
http://web.mit.edu/pensieve/
MIT License
517 stars 280 forks source link

.m4s files #101

Open saianudeep143 opened 4 years ago

saianudeep143 commented 4 years ago

@hongzimao @ravinet @vibhaa Hello everyone can anyone help me out how .m4s files are getting called. i.e based on what condition. Please guide me to the code snippet

Capture  m4s

saianudeep143 commented 4 years ago

@hongzimao @ravinet Please help me out

hongzimao commented 4 years ago

We did not modify the exact logic to retrieve the .m4s files, which is controlled by DASH (https://github.com/hongzimao/pensieve/tree/master/dash.js). We only altered the bitrate adaptation (ABR) logic.

Not sure if this relates to what you were asking for but we inject the ABR algorithm here: https://github.com/hongzimao/pensieve/blob/master/video_server/myindex_RL.html#L34. At video streaming time, we interact with the video client here: https://github.com/hongzimao/pensieve/blob/1120bb173958dc9bc9f2ebff1a8fe688b6f4e93c/dash.js/src/streaming/controllers/AbrController.js#L503-L602 (I honestly forgot how we did it, and here's how I searched for this code: first I noticed we set ABR algorithm here, then I code searched setAbrAlgorithm and traced here, hope this BTS process helps you). After this ABR logic, the downstream process transitions to getPlaybackQuality and later should instruct DASH to retrieve the corresponding chunk.