hongzimao / pensieve

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

Player randomly stop without any user activity #125

Open ry4nzhu opened 3 years ago

ry4nzhu commented 3 years ago

Hi, I am trying to load my own video which has 5 different bitrate level and all of them are very high (emulating through some large bandwidth network). I changed the video files in /video_server and corresponding server file in /rl_server(change like this) line 16: VIDEO_BIT_RATE = [2000,7500,18815,37890,96058] # Kbps, line 23: TOTAL_VIDEO_CHUNKS = 64. I have two questions:

  1. When I tried to run experiments using run_exp/run_video.py, the rl_server/simple_server.py will receive POST requests with line 47: post_data['lastquality']=5 which will used to index VIDEO_BIT_RATE and cause a index out of range exception (I have only 5 different rates, the maximum index should be 4). Can you probably guide me where to change the post_data['lastquality'] levels?

  2. Sometimes the dash.js video will stop unexpected without playing the full video. This happens for nearly all ABR algorithm BB, BOLA, fastMPC, etc. The video are not resuming after consuming the buffer and from the Chrome network log it is not requesting new chunk of video even if the buffer is empty.

Do you have any ideas on how to resolve these two problems? Thanks!

hongzimao commented 3 years ago

The bitrate out of range issue: I'm guessing the ABR server sets a large number of bitrates that overshoots. Try logging the output of the ABR server and see if that's the case.

For video not playing, I think it's because we only monitor the buffer downloading process. When all the video contents are downloaded, the task of ABR is done. Since the content is already all downloaded, playing the rest of the video won't affect the QoE. So we don't play it, to save experiment time (when evaluating over many traces).