Your Digital Media Has Never Looked So Good

 
dvyz
Posts: 15
Joined: Fri Feb 13, 2015 2:07 pm

Re: HLS Troubleshooting

Tue Feb 17, 2015 10:34 am

Hello,
I am looking for the latest HLS version supported on Roku devices (Including Roku 1, 2, 3 and Dongle)
Please share with me an official info or a link.
It would be great if I can get the release dates/firmware version number etc. of the new version supported in the future release.
Thanks in advance.
 
CASHREEDHAR
Posts: 3
Joined: Sat Mar 07, 2015 5:44 pm

Re: HLS Troubleshooting

Sat Mar 07, 2015 5:50 pm

Dear friends, I'm stuck with TCL Roku TV which I bought 2 months back. This is my first post here.
Basically I'm trying to cast my android screen, and trying to do HLS streaming on TV. The default roku software in TV doesn't have the feature of screen cast. After searching posts and forums, losing the hopes and thinking Chromecast is only solution for this.
Any help getting HLS stream and screen cast will be highly appreciated (TV is HDTV with dlna capabilities)
 
jnelson
Posts: 2
Joined: Tue Jul 21, 2015 11:53 am

Re: HLS Troubleshooting

Tue Jul 21, 2015 11:57 am

So I've gotten HLS to work with my roku box, and have figured out how to write and encode it using the XML file. But i'm trying to write an if statement to detect when the HLS stream is offline with something like isStreamStarted() or perhaps with isRequestFailed() so something like:

if isRequestFailed() = -5
print "The stream is currently offline"
end if

Would this work? If so, where and which Source file would you recommend this being placed?
We're using the video player template for our channel.

When i'm connected to the debugging console - and I click on one of the offline HLS streams it gives me the output of

"ButtonPressed
showHomeScreen | msg = ConnectionContext failure | index = 0
Video status: 0 0
showHomeScreen | msg = Unspecified or invalid track path/url. | index = 0
Video status: 0 0
showHomeScreen | msg = | index = -5
Video request failure: -5 1
showHomeScreen | msg = | index = 0
Screen closed"

If you need to see the code, I can post that as well, but I haven't made many changes from the original Video player template.
 
sablerock
Posts: 1
Joined: Mon Oct 12, 2015 10:26 am

Re: HLS Troubleshooting

Mon Oct 12, 2015 10:32 am

NEW PROBLEM:

My HLS host provider implemented a security feature that has crippled my video stream. The content is open source, so I don't mind posting the link:

http://edge1.tikilive.com:1935/unrestri ... FsdGFsaw==

The original link was as follows:

http://edge1.tikilive.com:1935/roku_tik ... ylist.m3u8

Can someone please tell me why my player can no longer pull up the stream, and how I can fix it?

Erik
 
User avatar
Chris Arnesen
Posts: 1
Joined: Wed Oct 07, 2015 4:19 pm
Location: Hillsboro, Oregon, USA
Contact:

Re: HLS Troubleshooting

Mon Oct 12, 2015 3:28 pm

sablerock wrote:
http://edge1.tikilive.com:1935/unrestricted_tikilive/33657/amlst:A2YknBd37xGD/playlist.m3u8?i=YXBwTmFtZT1VbnJlc3RyaWN0ZWQmY0lEPTMzNjU3JmNOYW1lPWNybnN0dWRpb2xpdmUmb0lEPTEzNDE1OCZvTmFtZT1jcm5kaWdpdGFsdGFsaw==

http://edge1.tikilive.com:1935/roku_tik ... ylist.m3u8

Hi Erik,

Testing these URLs in VLC doesn't load anything either. I wonder if something else changed...
--Chris
 
tim_beynart
Posts: 187
Joined: Wed Jul 15, 2015 8:30 am

Re: HLS Troubleshooting

Wed Oct 28, 2015 7:29 am

sablerock wrote:
NEW PROBLEM:

My HLS host provider implemented a security feature that has crippled my video stream. The content is open source, so I don't mind posting the link:

http://edge1.tikilive.com:1935/unrestri ... FsdGFsaw==

The original link was as follows:

http://edge1.tikilive.com:1935/roku_tik ... ylist.m3u8

Can someone please tell me why my player can no longer pull up the stream, and how I can fix it?

Erik


That query string is base64 encoded, it decodes to
appName=Unrestricted&cID=33657&cName=crnstudiolive&oID=134158&oName=crndigitaltalk

But there's no telling what the host is doing with that information.
I did come across an issue with HLS where the Roku will append the querystring params from the playlist URL to the segment (.ts) requests. This broke our streams with our host, so it's worth looking at.
 
accessfletch
Posts: 7
Joined: Wed Dec 30, 2015 10:23 pm

Re: HLS Troubleshooting

Sun Jan 03, 2016 10:33 am

jnelson wrote:
So I've gotten HLS to work with my roku box, and have figured out how to write and encode it using the XML file. But i'm trying to write an if statement to detect when the HLS stream is offline with something like isStreamStarted() or perhaps with isRequestFailed() so something like:

if isRequestFailed() = -5
print "The stream is currently offline"
end if

Would this work? If so, where and which Source file would you recommend this being placed?
We're using the video player template for our channel.

When i'm connected to the debugging console - and I click on one of the offline HLS streams it gives me the output of

"ButtonPressed
showHomeScreen | msg = ConnectionContext failure | index = 0
Video status: 0 0
showHomeScreen | msg = Unspecified or invalid track path/url. | index = 0
Video status: 0 0
showHomeScreen | msg = | index = -5
Video request failure: -5 1
showHomeScreen | msg = | index = 0
Screen closed"

If you need to see the code, I can post that as well, but I haven't made many changes from the original Video player template.


Did you ever get 1) a reply to this elsewhere, or 2) success on your own? I'm trying to figure out how to give appropriate error messaging to viewers (i.e. check back next Sunday at 8am). Note that I'm not a programmer, but I take direction well, so please take that into consideration when giving any replies to mine!
 
User avatar
mkammes
Posts: 65
Joined: Fri Sep 17, 2010 5:31 pm
Location: Hollywood, CA.
Contact:

Re: HLS Troubleshooting

Mon Jul 25, 2016 3:31 pm

Running into some HLS sync issues, and some metadata is pointing to a problem, but I can't resolve it.

This is a spawn of viewtopic.php?f=34&t=95362 .

To summarize, i find when I encode HLS files for my channel (Apple; .ts segments and m3u8 playlist), the first ~2 seconds never play....first frame of action is 2 seconds into the video. I noticed that this also throws off the captions (sidecar SRT), too...they play ~2 seconds later out of sync (late).

I tried remedying this by encoding 2 seconds of black before the video begins, and retimed the captions. While this works visually - e.g. the video plays fully - the captions are the same amount off.

It's not a keyframe issue (as first frame is an I), however, tearing apart the metadata yields the following metadata:

This is of the first fragment:


Duration : 00:00:05.839
Delay : 2000.000000
Delay : 2s 0ms
Delay : 2s 0ms
Delay : 2s 0ms
Delay : 00:00:02.000


While this is not a smoking gun, the 2 seconds do seem to correspond to the sync issue I'm seeing. FWIW, I'm using Sorenson Desktop 10 Pro, and I don't appear to have any options to enable/disable this delay. If there are not any suggestions to remove this delay, I'm open to other encoding suggestions that can do segmentation; other transcoders (Compressor, Episode, etc) don't seem to do segments. I do understand ffmpeg can be scripted to do this, but I'd prefer a GUI.

Thanks!
 
sarada
Posts: 9
Joined: Tue May 31, 2016 11:23 am

Re: HLS Troubleshooting

Sun Oct 16, 2016 7:52 am

Hi Roku team,
Please help, how can i play the below m3u8 file in roku .

When i play the file it picks up different .ts file and does not sync with the actual m3u8 player when i test via https://www.hlsplayer.net or when i play in vlc.

"Roku video player does not in sync with actual stream"


This has option of #EXT-X-CUE-OUT-CONT:CAID=0x43524E5A494F4449454E4741564F44303035,ElapsedTime=18.480,Duration=30,SCTE35=/DA+AAAAAAAAAP/wBQb+eaxT4AAoAiZDVUVJAAAAfn/MAAApMuAMEkNSTlpJT0RJRU5HQVZPRDAwNTQAAE2ujvk=

looks like this option is not recognized by roku player and always taking the first video stream.

http://www.tvdiary.net/roku/livetv/sports/live1.m3u8
 
jeswin
Posts: 24
Joined: Wed Dec 07, 2016 9:30 am

Re: HLS Troubleshooting

Thu Dec 08, 2016 11:43 pm

Hi,
I am facing a problem while pulling the live streaming video (HLS) which has some token in the link, refer below link (altered the real link)
http://sample.net/live/s/xdph/ipad_in.m ... 53189bc3ad

But it is working fine with normal .m3u8 video files
My code is as follows,

Feed.xml

<item sdImg="http://sample.com/roku/videoplayer/images/sd_logo.jpg" hdImg="http://sample.com/roku/videoplayer/images/hd_logo.jpg">
<title>Content</title>
                <contentId>10002</contentId>
                <contentType>LiveTV</contentType>
                <contentQuality>SD</contentQuality>
                
                <media>
                  <streamFormat>HLS</streamFormat>
                        <streamQuality>SD</streamQuality>
                        <streamBitrate>700</streamBitrate>
                        <streamUrl>http://sample.net/live/s/xdph/ipad_in.m3u8?p=38&amp;cf=1483253940&amp;e=1483253940&amp;h=48d0ac76464d5c50ae49dd53189bc3ad</streamUrl>
                </media>
                <synopsis>It a test video</synopsis>
                <genres>kids</genres>
                <runtime>5000</runtime>
        </item>



Runtime i have tried with 24 hours also.

Feed.brs


Function parse_show_feed(xml As Object, feed As Object) As Void

    showCount = 0
    showList = xml.GetChildElements()

    for each curShow in showList

        'for now, don't process meta info about the feed size
        if curShow.GetName() = "resultLength" or curShow.GetName() = "endIndex" then
            goto skipitem
        endif

        item = init_show_feed_item()

        'fetch all values from the xml for the current show
        item.hdImg            = validstr(curShow@hdImg) 
        item.sdImg            = validstr(curShow@sdImg) 
        item.ContentId        = validstr(curShow.contentId.GetText()) 
        item.Title            = validstr(curShow.title.GetText()) 
        item.Description      = validstr(curShow.description.GetText()) 
        item.ContentType      = validstr(curShow.contentType.GetText())
        item.ContentQuality   = validstr(curShow.contentQuality.GetText())
        item.Synopsis         = validstr(curShow.synopsis.GetText())
        item.Genre            = validstr(curShow.genres.GetText())
        item.Runtime          = validstr(curShow.runtime.GetText())
        item.HDBifUrl         = validstr(curShow.hdBifUrl.GetText())
        item.SDBifUrl         = validstr(curShow.sdBifUrl.GetText())
        item.StreamFormat = validstr(curShow.streamFormat.GetText())
        if item.StreamFormat = "" then  'set default streamFormat to mp4 if doesn't exist in xml
            item.StreamFormat = "hls"
        endif
        
        'map xml attributes into screen specific variables
        item.ShortDescriptionLine1 = item.Title 
        item.ShortDescriptionLine2 = item.Description
        item.HDPosterUrl           = item.hdImg
        item.SDPosterUrl           = item.sdImg

        item.Length = strtoi(item.Runtime)
        item.Categories = CreateObject("roArray", 5, true)
        item.Categories.Push(item.Genre)
        item.Actors = CreateObject("roArray", 5, true)
        item.Actors.Push(item.Genre)
        item.Description = item.Synopsis
        
        'Set Default screen values for items not in feed
        item.HDBranded = false
        item.IsHD = false
        item.StarRating = "90"
        item.ContentType = "episode" 

        'media may be at multiple bitrates, so parse an build arrays
        for idx = 0 to 4
            e = curShow.media[idx]
            if e  <> invalid then
                item.StreamBitrates.Push(strtoi(validstr(e.streamBitrate.GetText())))
                item.StreamQualities.Push(validstr(e.streamQuality.GetText()))
                item.StreamUrls.Push(validstr(e.streamUrl.GetText()))
            endif
        next idx
        
        showCount = showCount + 1
        feed.Push(item)

        skipitem:

    next

End Function



After installing in roku and opening the video, it loads 33% and exits after 10 to 15 seconds
Am i missing anything? or do i need to change the code?
Do i want to change anything in Feeditem parsing like item.IsLive=true
kindly help me!!!
 
jeswin
Posts: 24
Joined: Wed Dec 07, 2016 9:30 am

Re: HLS Troubleshooting

Sat Dec 10, 2016 3:05 am

Hi,

I found out the solution, this might help if any one face the same problem.
The streaming url is protected one, so we have to enable cookie in screen


screen.EnableCookies()


It is working fine now
 
Masonnixon
Posts: 2
Joined: Mon Dec 05, 2016 11:10 pm

Re: HLS Troubleshooting

Sun Dec 11, 2016 6:21 pm

I have an issue that came up in the Roku Premiere+. I had m3u8 HLS adaptive streams working for my channel just fine on the Roku 3. However some of these same streams only reach the loading screen, show about 10% and then hang indefinitely on the Premiere+. The streams that still work appear to be identical to the ones that do not in the m3u8 files at the top level. Any ideas as to why this is happening?

Roku 3 Specs:
Model: 4200X - Roku 3
Firmware v. 7.5.0 build 4099-04

Roku Premiere+ Specs:
Model: Roku 4630X - Roku Premiere+
Firmware v. 7.2.2 build 7146-29
 
tintumonkb
Posts: 25
Joined: Mon Jun 30, 2014 4:48 pm

Re: HLS Troubleshooting

Sat Feb 11, 2017 2:45 pm

Hello, I can't play ssl hls link in my roku.. it is working in vlc and all other players 
please someone help me sort the issue

i can play the same url without ssl (http) 

i have added the certificate file but it doesn't help
  port = CreateObject("roMessagePort")
  screen = CreateObject("roVideoScreen")
  screen.SetMessagePort(port)
  screen.SetPositionNotificationPeriod(1)
  screen.SetCertificatesFile("common:/certs/ca-bundle.crt")
  screen.SetCertificatesDepth(0)
  screen.InitClientCertificates()
  screen.SetContent(content)
  while true
  screen.Show()
 
tutash
Posts: 12
Joined: Tue Sep 20, 2016 4:33 pm

Re: HLS Troubleshooting

Tue Feb 28, 2017 3:43 pm

I'm having an issue with HLS. There are times when our clients are forced to stop the stream (this would be during playback of an ad which contains video) to play another video. 

The issue is that, for some of our clients, the m3u8 file has a TTL (time to live) of five minutes, and the stream URL cannot be re-requested, as it is no longer there. 

The .ts files that made up the m3u8 file are still there, but the playlist (m3u8) isn't. 

The solution I'm trying is to store the m3u8 file in "tmp:" filesystem, then retrieve it to use to restart the stream where it left of (or just after the ad).  

Unfortunately, this doesn't work, as the paths to .ts files are relative to the request URL for the file itself.

I would parse the m3u8 file to add the appropriate base-url to each .ts file, but that doesn't seem to work either (see above).

Do you know of a way to define the base URL for a m3u8 file, either in the file, or by a command to the player itself? 

This is causing major headaches for our clients, as they have to deal with TTL on these files (for security reasons) while still allowing for dynamic advertising that contains video. 

Since the Roku cannot have two "connected" video objects at any given time, when the stopped video is re-started, another request for the m3u8 file is made, and the process breaks due to TTL.

This is a huge restriction for our clients who wish to use ads with video content while serving their content video with HLS.

Any ideas on how to resolve this issue would be appreciated.

-tutash
 
tutash
Posts: 12
Joined: Tue Sep 20, 2016 4:33 pm

Re: HLS Troubleshooting

Tue Feb 28, 2017 3:58 pm

tutash wrote:
I'm having an issue with HLS. There are times when our clients are forced to stop the stream (this would be during playback of an ad which contains video) to play another video. 

-tutash

It looks like I will be able to store it locally, and restart the "stream" after all.

this approach is possible.

Who is online

Users browsing this forum: tim_beynart, Veeta and 7 guests