hongzimao / pensieve

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

Real experiments #111

Closed YaxiongXiePrinceton closed 4 years ago

YaxiongXiePrinceton commented 4 years ago

Hi Hongzi,

I am trying to run a real experiment using pensive. What I want to do is 1, setting up a server on one real PC 2, setting up another client who will watch the video from the server via the Internet

I have followed the steps in the README file under the folder "real_exp", but it doesn't work. The error message in the chrome_retry_log is listed as follows:

` robustMPC_0

Message: u'unknown error: unhandled inspector error: {"code":-32000,"message":"Cannot navigate to invalid URL"}\n (Session info: chrome=84.0.4147.105)\n (Driver info: chromedriver=2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform=Linux 4.15.0-1067-oem x86_64)' ` So, I tried to directly load the video from my chrome via URL of "serverIP/myindex_FIXED.html". I also tried other algorithms. What I get is that the web load correctly, the video displayed for around 2 seconds, and then the video player freezes. I guess it successfully downloads the first chunk and the streaming doesn't work after that.

I also check the console and get the following error message image

I feel the error comes from the following code in the AbrController.js case 3: var xhr = new XMLHttpRequest(); xhr.open("POST", "http://localhost:8333", false); ... xhr.send(JSON.stringify(data));

Can I ask, am I doing the right thing if I want to achieve my goal of setting up a video server and client? If so, shall I modify the URL of "http://localhost:8333" to the IP of the server? Do you have any suggestions?

hongzimao commented 4 years ago

I think what are doing so far in on the right track. The error has to do with ABR server. So in your second point "setting up another client who will watch the video from the server via the Internet", the client side has to run an ABR server to output the bitrate decision for the next chunk. IIRC, localhost:8333 is the address for the ABR server. You can choose ABR server from rl_server/, an example is https://github.com/hongzimao/pensieve/blob/master/rl_server/simple_server.py#L98

hongzimao commented 4 years ago

If the issue is about next chunk not automatically loading in the virtual browser (probably not because you seem to debug it from a chrome developer tool, but just in case), you can try the fix in #98.

YaxiongXiePrinceton commented 4 years ago

Thanks, Hongzi. Yes, the problem is the server.

Also, I found another problem about the chrome_retry_log. The error message is: Message: u'unknown error: unhandled inspector error: {"code":-32000,"message":"Cannot navigate to invalid URL"}\n Such an error has also been observed by other users of Pensive in another issue.

I debugged a little bit and found that the reason is because of the URL. For example, I change the URL to url = '192.168.1.1/' + 'myindex_' + abr_algo + '.html' which is actually not correct. It should add the HTTP://, like the following: url = 'http://192.168.192.27/' + 'myindex_' + abr_algo + '.html' Hope this helps other users when they met the same problem.

hongzimao commented 4 years ago

Thanks for the fix. Could you also use #XX to link to the other issue that mentions a similar problem?

YaxiongXiePrinceton commented 4 years ago

I saw similar questions asked in issue #65