I am using simplevideoplayer example to stream a video from my local server. The video plays fine, but I have a question about the http protocol. Roku does a GET on the file with no range specified. After the server responds with a 200 and some of the video data, Roku closes that socket and issues another GET, this time with a range starting very close to the end of the file, not even close to where the previous GET left off. My question is, if the server was transcoding the video on the fly, how is it supposed to satisfy the range request for a region of the video it has not yet transcoded? I would also be very interested if anyone can tell me why the Roku server jumps so far into the video.
I am new to all this (I got my Roku a few days ago) so I am not sure what a video container is. I am using the simplevideoplayer example code that comes with the Eclipse plugin. It uses a roVideoScreen if that is any help.
What I mean is, what type of file are you playing? It sounds like it might be MP4? MP4 files usually have their indexing information near the end of the file, so the player reads that info first before starting to play. It's not really possible to transcode into an MP4 file on the fly. If you were doing on the fly encoding, you would have to use HLS, which is the only live format that Roku supports.
Thanks! That answers my question. Yes, it is an mp4 file, so according to you that explains the seek to the end for indexing information. And your reply also explains my confusion about how that would work in an on the fly transcoding situation. Thanks again for helping a newbie out.