2014-10-20 1 views
1

igmp 라이브 스트리밍에 참여하여 roku 상자에서 재생하려고했습니다. 그러나 그것은 효과가 없었습니다. Roku 상자에서 멀티 캐스트 스트리밍에 참여할 수 있습니까? HLS를 통해 수행 할 수 있다면 솔루션이 될 수 있습니까? https://github.com/thetrime/trimeplay/blob/master/source/trimeplay.brs 이 참조하십시오 내가 참조로 사용하고 다른 코드 : 나는 당신이 일을하려고하는 것은 완전히 불가능하다는 말을하지 않을거야라이브 채널 (일부 채널) Roku Box를 통해 재생

function SetupJoin() 
ssdpAddress = "239.60.60.7:6607" 
ssdpPort = 6607 
timeout = 300 * 60 * 1000 
groupAddr = CreateObject("roSocketAddress") 
groupAddr.setAddress(ssdpAddress) 
groupAddr.setPort(ssdpPort) 
listenAddr = CreateObject("roSocketAddress") 
listenAddr.setPort(ssdpPort) 
listenAddr.setAddress("0.0.0.0") 
listen = CreateObject("roDatagramSocket") 
listen.setReuseAddr(true) 
listen.setAddress(listenAddr) 
result = listen.joinGroup(groupAddr) 
listen.setMessagePort(canvas.GetMessagePort()) 
listen.notifyReadable(true) 
numResponses= Wait_SSDP(listen, timeout) 
? "Result : " result 
? "SSDP Listen got"; numResponses; " responses" 
end function 

function Wait_SSDP(socket as Object, timeout as Integer) as Integer 
numResponses = 0 
elapsed = CreateObject("roTimespan") 
remaining = timeout - elapsed.totalMilliseconds() 
while remaining > 0 
msg = wait(remaining, socket.getMessagePort()) 
if type(msg)="roSocketEvent" 
if socket.isReadable() 
results = socket.receiveStr(255) 
print "SSDP Listen gets from "; socket.getReceivedFromAddress().getAddress(); ":" 
print results 
numResponses = numResponses + 1 
end if 
else 
exit while 'enter code here 
end if 
remaining = timeout - elapsed.totalMilliseconds() 
end while 
return numResponses 
end function 

답변

3

, 그러나 그것을 나는 링크에서 GitHub의에서 참조를 시도 비실용적이다.

이 같은 종류의 일을 할 것입니다 : 아마 HLS 청크로, 다음 비디오를 가리/H.264 비디오 파일로 다음 UDP 데이터를 수집 및 TMP에 기입 할

사용 roStreamSockets을 .m3u8 파일을 통해 파일을 재생할 수도 있습니다. 이것은 Brightscript에서해야 할 것입니다. 나는 Brightscript가 이것을 수행하기에 충분히 빠르다고 확신하지 못합니다. 나는 그것을 할 수 없다는 말은 아니지만, Roku는 기본적으로 멀티 캐스트 또는 다른 UDP 비디오 스트림 형식을 재생하지 않습니다.

라이브 방송을위한 공식적으로 지원되는 비디오 형식은 HLS 및 Microsoft Smooth뿐입니다.

+0

당신이 그것을 추가 해주지 않겠습니까? (UDP 스트림의 재생) 꽤하시기 바랍니다 – nhed