こことここでYouTube から mp4 URL を抽出する方法についての議論があります。
Roku でエアプレイ スタイルのビデオ再生を行う方法に関しては、外部制御プロトコルを使用して、再生したいビデオの URL でチャネルを起動するか、チャネルが起動したら、ECP と組み合わせて使用します。 roInput コンポーネントを使用して、URL をチャンネルに送信します。次に、チャンネルは URL をビデオ再生コンポーネントに送信し、YouTube または送信したソースからの再生を開始します。デバイス (android/IOS) から URL を再生する場合は、デバイスにビデオを提供するために、デバイスで Web サーバーを実行する必要があります。
これは、その 2 番目のスレッドで参照されているオープン ソースの YouTube プロジェクトです。
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を使用して、LAN上のrokuを見つけることができます。これは、上記のリンクのECPガイドにも記載されています