rholicopp
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-27-2017
06:14 PM
Roku bug: Streaming hls to Video RSG component, cert authorization not sent
Hello,
I am trying to switch from using the roVideoScreen element to using an embedded Video element(RSG)
The https server i am streaming from needs certificate authorization to be sent up, but it is not being sent up when using the new Video element (https://sdkdocs.roku.com/display/sdkdoc/Video)
I am setting the certificate file and I believe i am setting everything needed for the Video element, however playback is failing
m.video.errorCode -3
An unexpected problem (but not server timeout or HTTP error) has been detected.
The same error happens when I use the roVideoScreen and don't call video.SetCertificatesFile(getCertFilename())
Does anyone have any ideas why the certificate authorization would not be sent to the server?
Is this a roku bug that anyone is aware of? Can I log this somewhere, so Roku can investigate?
I am trying to switch from using the roVideoScreen element to using an embedded Video element(RSG)
The https server i am streaming from needs certificate authorization to be sent up, but it is not being sent up when using the new Video element (https://sdkdocs.roku.com/display/sdkdoc/Video)
I am setting the certificate file and I believe i am setting everything needed for the Video element, however playback is failing
m.video.errorCode -3
An unexpected problem (but not server timeout or HTTP error) has been detected.
The same error happens when I use the roVideoScreen and don't call video.SetCertificatesFile(getCertFilename())
function setVideo() as void
m.video = m.top.findNode("musicvideos")
m.video.observeField("state", "stateChanged")
httpAgent = CreateObject("roHttpAgent")
m.video.setHttpAgent(httpAgent)
videoContent = createObject("RoSGNode", "ContentNode")
'THIS IS HTTPS m3u8
videoContent.url = m.top.item.StreamUrl
'below WORKS
'videoContent.url = "https://bitmovin-a.akamaihd.net/content/playhouse-vr/m3u8s/105560.m3u8"
videoContent.title = m.top.item.Title
videoContent.streamformat = "hls"
videoContent.SwitchingStrategy = "full-adaptation"
subtitle_config = {
TrackName: "eia608/1"
}
videoContent.SubtitleConfig = subtitle_config
videoContent.HttpSendClientCertificates = true
videoContent.HttpCertificatesFile = getCertFilename()
headers = []
headers.push("x-roku-reserved-dev-id:")
videoContent.HttpHeaders = headers
m.video.content = videoContent
m.video.control = "play"
end function
Does anyone have any ideas why the certificate authorization would not be sent to the server?
Is this a roku bug that anyone is aware of? Can I log this somewhere, so Roku can investigate?
5 REPLIES 5
rholicopp
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-06-2017
06:49 AM
Re: Streaming hls to Video RSG component, playback fails
Bump, we are really in need of assistance from a Roku contact. Thanks
A similar question has come up before (https://forums.roku.com/viewtopic.php?t=93082) and we are just getting ignored.
I have found the way the docs specify how to do it, but they DO not work, this is a serious issue!
To be clear, the issue is, this snippet is NOT sending certificate authorization to the server (tested on roku os 7.5 and 7.6 beta)
A similar question has come up before (https://forums.roku.com/viewtopic.php?t=93082) and we are just getting ignored.
I have found the way the docs specify how to do it, but they DO not work, this is a serious issue!
To be clear, the issue is, this snippet is NOT sending certificate authorization to the server (tested on roku os 7.5 and 7.6 beta)
videoContent.HttpSendClientCertificates = true
videoContent.HttpCertificatesFile = "pkg:/certs/lab/gd_bundle-g2-g1.crt"
httpAgent = CreateObject("roHttpAgent")
m.video.setHttpAgent(httpAgent)
m.video.content = videoContent
m.video.control = "play"
belltown
Roku Guru
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-06-2017
05:06 PM
Re: Streaming hls to Video RSG component, playback fails
"rholicopp" wrote:
Bump, we are really in need of assistance from a Roku contact. Thanks
A similar question has come up before (https://forums.roku.com/viewtopic.php?t=93082) and we are just getting ignored.
I have found the way the docs specify how to do it, but they DO not work, this is a serious issue!
To be clear, the issue is, this snippet is NOT sending certificate authorization to the server (tested on roku os 7.5 and 7.6 beta)
videoContent.HttpSendClientCertificates = true
videoContent.HttpCertificatesFile = "pkg:/certs/lab/gd_bundle-g2-g1.crt"
httpAgent = CreateObject("roHttpAgent")
m.video.setHttpAgent(httpAgent)
m.video.content = videoContent
m.video.control = "play"
I don't see why you're creating a brand new roHttpAgent object, then assigning it to your Video node. I don't think you need to do that. The Video node creates its own roHttpAgent. All you should need to do is set the relevant HTTPS content meta-data attributes.
Try removing these lines:
httpAgent = CreateObject("roHttpAgent")
m.video.setHttpAgent(httpAgent)
If it doesn't work then most likely it's because of what you have in your certificates file.
rholicopp
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-13-2017
10:01 AM
Re: Streaming hls to Video RSG component, playback fails
"belltown" wrote:"rholicopp" wrote:
Bump, we are really in need of assistance from a Roku contact. Thanks
A similar question has come up before (https://forums.roku.com/viewtopic.php?t=93082) and we are just getting ignored.
I have found the way the docs specify how to do it, but they DO not work, this is a serious issue!
To be clear, the issue is, this snippet is NOT sending certificate authorization to the server (tested on roku os 7.5 and 7.6 beta)
videoContent.HttpSendClientCertificates = true
videoContent.HttpCertificatesFile = "pkg:/certs/lab/gd_bundle-g2-g1.crt"
httpAgent = CreateObject("roHttpAgent")
m.video.setHttpAgent(httpAgent)
m.video.content = videoContent
m.video.control = "play"
I don't see why you're creating a brand new roHttpAgent object, then assigning it to your Video node. I don't think you need to do that. The Video node creates its own roHttpAgent. All you should need to do is set the relevant HTTPS content meta-data attributes.
Try removing these lines:httpAgent = CreateObject("roHttpAgent")
m.video.setHttpAgent(httpAgent)
If it doesn't work then most likely it's because of what you have in your certificates file.
Thank you for the response, Belltown.
I have tried removing my own httpagent as well, ive tried so many combinations 🙂 None of em work, it seems like the roku is not setup correctly to send them.
I would imagine since the headers are not being sent either, that its more than the certificates, but I'm in the dark here.
shibuyashadows
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-15-2017
07:05 PM
Re: Roku bug: Streaming hls to Video RSG component, cert authorization not sent
try this approach...
m.httpAgent = CreateObject("roHttpAgent")
m.httpAgent.SetCertificatesFile ("common:/certs/ca-bundle.crt")
m.httpAgent.EnableCookies()
m.videoPlayer.setHttpAgent(m.httpAgent)
kmikz
Binge Watcher
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-31-2017
04:50 AM
Re: Roku bug: Streaming hls to Video RSG component, cert authorization not sent
What worked for me was:
content = createObject("RoSGNode","ContentNode")
content.streamFormat = "hls"
content.title = title
content.description = description
content.url = url
content.HttpSendClientCertificates = true
content.HttpCertificatesFile = "common:/certs/ca-bundle.crt"
m.videoPlayer.content = content
m.videoPlayer.EnableCookies()
m.videoPlayer.SetCertificatesFile("common:/certs/ca-bundle.crt")
m.videoPlayer.InitClientCertificates()
m.videoPlayer.control = "play"