Using the StreamBitrates and StreamURLs provided in the content meta-data for the item, the roVideoScreen will automatically monitor and select the best stream based on the users measured bandwidth. If network performance changes, the system will adapt and rebuffer to stream at a different bandwidth if necessary. Note that the StreamURLs, StreamBitrates, StreamQualities and StreamStickyHttpRedirects are all arrays that are aligned with each other. For example, the first stream listed would be the 0th element of all of these arrays.
"evilmax17" wrote:
I understand that StreamURLs/StreamBitrates/etc. all need to be aligned, but does it matter if StreamBitrates is sorted or not?
Should we be adding urls/bitrates in any particular order (high->low, low->high), or does it not matter at all?
"dustinhood" wrote:
Is there anyway to programmatically obtain what StreamBitrate or Quality dot is playing within the roVideoScreen?
"TheEndless" wrote:"dustinhood" wrote:
Is there anyway to programmatically obtain what StreamBitrate or Quality dot is playing within the roVideoScreen?
Take a look at the "bandwidth.minute" log type for the roSystemLog component.
"dustinhood" wrote:
I am currently using syslog.EnableType("bandwidth.minute") to obtain the bandwidth, how can use use syslog to get the current stream bitrate?"TheEndless" wrote:"dustinhood" wrote:
Is there anyway to programmatically obtain what StreamBitrate or Quality dot is playing within the roVideoScreen?
Take a look at the "bandwidth.minute" log type for the roSystemLog component.
"TheEndless" wrote:
My assumption was that the amount of bandwidth being used would be enough of an indication for you to determine which stream bitrate was being used. If you use the "http.connect" log type, it should give you the URL of the stream being requested when it requests it or switches bitrates, so you could possibly use the two to get the information you need.
if type(msg) = "roVideoScreenEvent" then
print "showVideoScreen | msg = "; msg.getMessage() " | index = "; msg.GetIndex()
if msg.isScreenClosed()
print "Screen closed"
exit while
elseif msg.isStreamStarted()
i = msg.GetInfo()
metrics.streamUrl = i.Url
metrics.streamBitrate = i.StreamBitrate
metrics.bandwidth = i.MeasuredBitrate
endif
endif