google tv - How to implement smooth streaming? -
i read https://developers.google.com/tv/android/articles/hls?hl=en , not understand meaning "adaptive streaming - automatically adapts either congestion or bandwidth availability."? works when player starts, or wile playing too?
in practice video starts quality according current bandwidth; exmaple .m3u8 file contains list of links , bandwidths:
#extm3u #ext-x-stream-inf:program-id=1, bandwidth=1950000 http://link1.m3u8 #ext-x-stream-inf:program-id=1, bandwidth=1500000 http://link2.m3u8 #ext-x-stream-inf:program-id=1, bandwidth=1200000 http://link3.m3u8 #ext-x-stream-inf:program-id=1, bandwidth=950000 http://link4.m3u8 #ext-x-stream-inf:program-id=1, bandwidth=800000 http://link5.m3u8 #ext-x-stream-inf:program-id=1, bandwidth=700000 http://link6.m3u8
for example current bandwidth 1600000, player (videoview) starts playing video link 2. while playing, bandwidth becomes 900000 player still continues play video link 2 buffering delays.
is player works correctly, or should switch link 5?
if correct, can somehow switch video link without restarting video?
thank you!
update: test device logitech reveue, android 3.2. video player - videoview.
first off - manifest showing hls aka http live streaming not microsoft's smoothstreaming.
each segment in hls typically 10 seconds.
you don't mention player is, i'll presume it's googletv since that's you've tag'd question with. different players behave differently, basic idea same. player measures time takes each segment, , if in time, tends keep same, if took long try pick bandwidth can segment or 2 before needs play it. if seeing buffering delays error. should able in log file see player doing when playing content , why it's not switching different bandwidth.
Comments
Post a Comment