正在剥离Roku SDK 2.0视频节点标题

时间:2017-03-17 14:38:14

标签: roku

我目前遇到的问题是,在请求播放视频节点时我的标题被剥离了。服务器要求这些标头能够播放内容。

device=CreateObject("roDeviceInfo")
hvideo = CreateObject("roHttpAgent")
hvideoheaders = {
"Device": device.GetDeviceUniqueId(),
"DeviceProf": device.GetModelDisplayName()+"("+device.GetModel()+";"+device.GetVersion()+";Roku;roku)",
"Version": "C4.9.9_S0",
"x-roku-reserved-dev-id": "",
}
hvideo.SetHeaders(hvideoheaders)

'set videoContent Parameters

videoContent = createObject("RoSGNode", "ContentNode")
videoContent.url = streamUrl
videoContent.Title = m.top.item.Title
videoContent.StreamFormat = "hls"
videoContent.SubtitleConfig = subtitle_config
videoContent.HttpSendClientCertificates = true


'Set Video
m.video = m.top.findNode("musicvideos")
m.video.SetConnectionTimeout(30)
'm.video.notificationInterval = 30
m.video.observeField("state", "stateChanged")
m.video.observeField("streamInfo", "streamInfoChanged")
m.video.observeField("streamingSegment", "streamingSegmentChanged") 
m.video.content = videoContent
m.video.setHttpAgent(hvideo)
m.video.control = "play"

使用不同的HTTP代理时,遇到的唯一标头是x-roku-reserved-dev-id。

如果我使用视频节点内容元数据作为标头,则所有标头都存在,除了x-roku-reserved-dev-id,这将使Web服务器访问规则失败。这就是我试图设置这些的方法:

headers = []
headers.push("x-roku-reserved-dev-id:")
headers.push("Device:" + device.GetDeviceUniqueId())
headers.push("DeviceProf:" + device.GetModelDisplayName()+"("+device.GetModel()+";"+device.GetVersion()+";Roku;roku)")
headers.push("Version:C4.9.9_S0")

videoContent.HttpHeaders = headers

我尝试过设置没有x-roku-reserved-dev-id的内容节点和带有x-roku-reserved-dev-id的HTTPAgent但是它的结果是相同的......

有什么想法?

2 个答案:

答案 0 :(得分:0)

您应该将标头添加到roUrlTransfer对象:

request = CreateObject("roUrlTransfer")
request.SetRequest("POST")
request.AddHeader(headerName1, headerValue1)
request.AddHeader(headerName2, headerValue2)
request.AddHeader(headerName3, headerValue3)

答案 1 :(得分:0)

这实际上最终成为Roku的固件问题。此后,ROKU发布了固定固件v7.7 b 4061 +