Conroy94
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-31-2016
07:46 AM
Video player buffer size
Hi,
I am developing an application that sniffs network traffic to test the responsiveness of video players - Roku being one of them. The concept being that the video player will request the most appropriate bitrate for the current network conditions. Throttling the network should result in a lower bitrate being requested, and so on.
Part of the application also infers buffering, which is done by capturing the number of bytes that have been transferred through the network. This approach works quite accurately, but would be more accurate if I knew the exact size of the buffers (i.e. x amount of bytes must be received before playback begins, and when the video buffers, x amount of bytes must be received before the video restarts).
Could anyone point me in the right direction?
Thanks
I am developing an application that sniffs network traffic to test the responsiveness of video players - Roku being one of them. The concept being that the video player will request the most appropriate bitrate for the current network conditions. Throttling the network should result in a lower bitrate being requested, and so on.
Part of the application also infers buffering, which is done by capturing the number of bytes that have been transferred through the network. This approach works quite accurately, but would be more accurate if I knew the exact size of the buffers (i.e. x amount of bytes must be received before playback begins, and when the video buffers, x amount of bytes must be received before the video restarts).
Could anyone point me in the right direction?
Thanks
6 REPLIES 6

RokuMarkn
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-01-2016
08:58 AM
Re: Video player buffer size
The Roku video player already does this internally. If you pass multiple video streams to the player via the Streams value in Content Metadata, the player will pick the best stream to play based on the streams' bitrates and the network bandwidth which has been measured recently. There's no need for your app to do any of this.
--Mark
--Mark
Conroy94
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-02-2016
01:47 AM
Re: Video player buffer size
My app is to test how responsive the video player is to the change of bitrate, not changing the bitrate itself. In order for my tests to be accurate, I am asking if anyone knows the preflight buffer size (i.e. how many bytes of data, or seconds of video, are downloaded before video begins).

RokuMarkn
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-02-2016
07:34 AM
Re: Video player buffer size
There isn't a simple answer to that question. The amount of prebuffer is not a fixed amount, but depends on many factors, including the measured network bandwidth, recent history of rebuffers, the type of demux being used, the skew between video and audio in the stream, and other things.
I'm very unclear about what you're trying to do. Why are you making this measurement? Is it just curiosity? Or does it have some functional purpose? Is the "application" that you're writing a Roku channel, or something on an external server?
--Mark
I'm very unclear about what you're trying to do. Why are you making this measurement? Is it just curiosity? Or does it have some functional purpose? Is the "application" that you're writing a Roku channel, or something on an external server?
--Mark
Conroy94
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-03-2016
04:10 AM
Re: Video player buffer size
I assumed as much.
My company has multiple video players, Roku being one of them. Our app runs tests under certain network conditions and observes how the video player behaves - how many times it buffers, etc. As this tool is for all of our video players, it runs on a Raspberry Pi and sniffs the network to see the video requests from the video player and the video responses from our CDN. We keep a record of all the received video chunks and try to simulate playback - knowing how the buffer behaves would make our tests more accurate.
Could you suggest another approach to this? Are there other ways to find out when video playback starts, stops, etc, from the network level?
My company has multiple video players, Roku being one of them. Our app runs tests under certain network conditions and observes how the video player behaves - how many times it buffers, etc. As this tool is for all of our video players, it runs on a Raspberry Pi and sniffs the network to see the video requests from the video player and the video responses from our CDN. We keep a record of all the received video chunks and try to simulate playback - knowing how the buffer behaves would make our tests more accurate.
Could you suggest another approach to this? Are there other ways to find out when video playback starts, stops, etc, from the network level?

RokuMarkn
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-03-2016
08:19 AM
Re: Video player buffer size
If you're using your own Roku channel to play the videos, you could monitor roVideoPlayerEvents and send messages to your external app using roUrlTransfer or roDatagramSocket.
--Mark
--Mark
zig_zag
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-02-2017
03:34 AM
Re: Video player buffer size
"RokuMarkn" wrote:
The Roku video player already does this internally. If you pass multiple video streams to the player via the Streams value in Content Metadata, the player will pick the best stream to play based on the streams' bitrates and the network bandwidth which has been measured recently. There's no need for your app to do any of this.
--Mark
Hi Mark!
How can i pass multiple video streams to the Scene Graph Video? Or if i can't, what should i do to play a video depending on user's network connection?
Thanks!
- Gabriel