有关如何从 YouTube此处和此处提取 mp4 URL 的讨论
关于如何在 Roku 上进行 airplay 风格的视频播放,您可以使用外部控制协议启动一个带有您希望播放的视频 URL 的频道,或者一旦您的频道启动,我们将 ECP 与roInput 组件将 URL 发送到您的频道。然后,您的频道会将 URL 发送到视频播放组件,该组件将从 Youtube 或您发送的任何来源开始播放。如果您想从您的设备 (android/IOS) 播放 URL,您需要在设备上运行 Web 服务器以向设备提供视频。
这是第二个线程中引用的开源 YouTube 项目。
如果他们认为您的项目不符合他们的目标,则任何播放 YouTube 视频的非官方项目都会被 YouTube 删除 DMCA。
roInput 并没有很好的记录,下面是一个演示 roInput 和启动参数的示例(启动参数是您在 http POST 中包含的关键字):
function main(params as object)
if params.parameter <> invalid then
print "This channnel was launched with Launch Parameters!"
print params
else
print "launched without input parameters"
end if
port=CreateObject("roMessagePort")
input=createobject("roInput")
input.setmessageport(port)
while true
msg=wait(100,port)
if type(msg)="roInputEvent" then
params=msg.getinfo()
print params
end if
end while
end function
因此,如果您想发送多个比特率视频,您的参数可能是“vidurl=http://myserver.com/video300k.mp4&vidurl=http://myserver.com/video600k.mp4”。
RokuSDK 中有很多关于如何在 Roku 上播放视频的示例,最简单的是 simplevideoplayer 示例。
关于 UPNP 问题的最后一部分,您可以通过端口 8060 上的蛮力 telnet 到每个 ip 或使用 SSDP 在您的局域网上找到一个 roku,也记录在上面链接的 ECP 指南中