Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
IgorM
Level 7

Re: HLS Troubleshooting

Hello everyone!!
I'm trying to implement Live DVR with Seek option.

 - While start playing I check the position of the player and always is 0 (absolute). This mean I could not move the pos in past using seek method.
Please help me to find any solution  if this is possible ?

Thank You
IgorM
0 Kudos
tifroz
Level 9

Re: HLS Troubleshooting

Trying to play the live stream (the live stream is a loop so it's always on which make it easy to test) referenced below always fails. The video player shows the loading bar and gets stuck there forever (tested with a Roku 4).

Sadly there is no way to observe network traffic out of the Roku video player so I can't even tell if the video player gets stuck loading the playlist, the chunk list or the first chunk

http://origin1-edge2.atl.yourstreamlive.com/live/yourstreamlive/amlst:out_3829_5z9xjsug/playlist.m3u8?output_stream_name=out_3829_5z9xjsug

Easy to reproduce simply with this MainScene.xml:


<?xml version="1.0" encoding="utf-8" ?> 
<!--********** Copyright 2016 Roku Corp.  All Rights Reserved. **********-->


<component name="MainScene" extends="Scene" >

<script type="text/brightscript">
<![CDATA[
function init()
    m.video = m.top.findNode("myVideo")
    m.video.notificationinterval = 1
    playVideo()
end function

function playVideo() as void
  subtitle_config = {
      TrackName: "pkg:/captions.ttml"
  }
    vidContent = createObject("RoSGNode", "ContentNode")
    'vidContent.url = "https://roku.s.cpl.delvenetworks.com/media/59021fabe3b645968e382ac726cd6c7b/60b4a471ffb74809beb2f7d5a15b3193/roku_ep_111_segment_1_final-cc_mix_033015-a7ec8a288c4bcec001c118181c668de321108861.m3u8"
    'vidContent.url = "http://origin1-edge2.atl.yourstreamlive.com/live/yourstreamlive/amlst:out_3829_5z9xjsug/playlist.m3u8?user_agent=Mozilla%2F5.0+%28iPhone%3B+CPU+iPhone+OS+12_1_2+like+Mac+OS+X%29+AppleWebKit%2F605.1.15+%28KHTML%2C+like+Gecko%29+Version%2F12.0+Mobile%2F15E148+Safari%2F604.1&output_stream_name=out_3829_5z9xjsug"
    vidContent.url = "http://origin1-edge2.atl.yourstreamlive.com/live/yourstreamlive/amlst:out_3829_5z9xjsug/playlist.m3u8?output_stream_name=out_3829_5z9xjsug"
    'vidContent.subtitleconfig = subtitle_config
    vidContent.title = "Closed Captions in Scene Graph"
    vidContent.streamformat = "hls"
    m.video.content = vidContent

    m.video.setFocus(true)
    m.video.control = "play"
end function
]]>
</script>

<children>
    <Video id="myVideo" width="1280" height="720" />
</children>

</component>
0 Kudos
GamerDevGuy
Level 7

Re: HLS Troubleshooting

Does anyone know if there is a way to get the Roku to request m3u8 files using (byte) range requests?

It currently is requesting the *entire* m3u8 every 5-10s for live HLS streams, and for a long video (with a large m3u8 as it approaches the end) , that can really take up a lot of unnecessary bandwidth (100-200kbps).

Our media server is indicating it supports (byte) range requests (using the HTTP response header of "Accept-Ranges: bytes"), but the Roku refuses to request only the incremental range of bytes with each new request.

Any ideas how to convince the Roku to request only what it actually needs? Sample HTTP request and response headers of how it is currently behaving are below:



GET /testvideo/2000000/main_2000000.m3u8 HTTP/1.1
Connection: close
Host: com
User-Agent: Roku/DVP-4.2 (024.02F01006B)
Accept-Encoding: deflate, gzip

HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Type: application/x-mpegURL
Accept-Ranges: bytes
Content-Length: 67212
Date: Wed, 04 Jan 2012 04:39:32 GMT

Although this post is old, does anyone have an idea how to accomplish this with http live streaming?
0 Kudos