Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Level 7

Debugging and Playing live stream wmv content

Hi,
I have deployed package for my channel. I used simplevideoplayer sample and change the url, bitrate and stream format of channel accordingly with my channel. It is live wmv stream. It is running on windows media player and VLC but I am not able to see it playing on my Roku player.

- Can anyone tell me how I figure out the cause of this issue?
- How can I debug bright script application?
- Is Roku player support wmv content?
- Is there any bright script editor is available?

My channels status is processing... for 2 days.

Thanks
0 Kudos
19 Replies
Highlighted
Level 9

Re: Debugging and Playing live stream wmv content

Note that we do not support live wmv streams.

- Can anyone tell me how I figure out the cause of this issue?

Note that we do not support live wmv streams.

- How can I debug bright script application?

After setting your box to developer mode, you can telnet <ipaddr> 8085 and see the console. Pressing <ctrl-c> in the console will bring up the brightscript debugger.

- Is Roku player support wmv content?

It will play wmv vod files, but not live wmv content.

- Is there any bright script editor is available?

Any text editor. The syntax highlighting is similar to VB, so that mode may work for you if you want syntax highlighting.

- My channels status is processing... for 2 days.

You should only submit channels for publishing that are ready to be reviewed by Roku employees to be placed in the public channel store. The "processing" state means your channel needs to be reviewed by Roku before being pushed to users.

--Kevin
0 Kudos
Highlighted
Level 7

Re: Debugging and Playing live stream wmv content

Hi,
I did try to debug my box via telnet <ip> 8085 + <ctrl-c). It does change cursor but not shwoing in debuging inforamtion when I try to play my test channel.

How do I debug my application? How does it break execution?

Thanks
Naeem
0 Kudos
Highlighted
Level 9

Re: Debugging and Playing live stream wmv content

You can put a "stop" statement in your brightscript code where you want the debugger to come up so you can step through the functions giving you problems....

--Kevin
0 Kudos
Highlighted
Level 7

Re: Debugging and Playing live stream wmv content

Hi,
I debug my new test application and get following exception on display video:
"An unexpected problem (but not server timeout or HTTP error) has been detected."

I dont know why it is happen. Can anyone look at my application source below: Exception caught at msg.isRequestFailed() in displayVideo() function.
Thanks


Sub Main()
initTheme()
screenFacade = CreateObject("roPosterScreen")
screenFacade.show()

item = { ContentType:"episode"
SDPosterUrl:"file://pkg:/images/img-islamchannel-logo.png"
HDPosterUrl:"file://pkg:/images/img-islamchannel-logo.png"
IsHD:False
HDBranded:False
ShortDescriptionLine1:"Islam Channel"
ShortDescriptionLine2:""
Description:""
Rating:"NR"
StarRating:"80"
Length:1280
Categories:["Technology","Talk"]
Title:"Islam Channel"}

showSpringboardScreen(item)
screenFacade.showMessage("")
sleep(25)
End Sub

'Sub initTheme()

app = CreateObject("roAppManager")
theme = CreateObject("roAssociativeArray")

theme.OverhangPrimaryLogoOffsetSD_X = "72"
theme.OverhangPrimaryLogoOffsetSD_Y = "15"
theme.OverhangSliceSD = "pkg:/images/Overhang_BackgroundSlice_SD43.png"
theme.OverhangPrimaryLogoSD = "pkg:/images/Logo_Overhang_SD43.png"

theme.OverhangPrimaryLogoOffsetHD_X = "123"
theme.OverhangPrimaryLogoOffsetHD_Y = "20"
theme.OverhangSliceHD = "pkg:/images/Overhang_BackgroundSlice_HD.png"
theme.OverhangPrimaryLogoHD = "pkg:/images/Logo_Overhang_HD.png"

app.SetTheme(theme)

End Sub

Function showSpringboardScreen(item as object) As Boolean
port = CreateObject("roMessagePort")
screen = CreateObject("roSpringboardScreen")

print "showSpringboardScreen"

screen.SetMessagePort(port)
screen.AllowUpdates(false)
if item <> invalid and type(item) = "roAssociativeArray"
screen.SetContent(item)
endif

screen.SetDescriptionStyle("generic") 'audio, movie, video, generic
' generic+episode=4x3,
screen.ClearButtons()
screen.AddButton(1,"Play")
screen.AddButton(2,"Go Back")
screen.SetStaticRatingEnabled(false)
screen.AllowUpdates(true)
screen.Show()

downKey=3
selectKey=6
while true
msg = wait(0, screen.GetMessagePort())
if type(msg) = "roSpringboardScreenEvent"
if msg.isScreenClosed()
print "Screen closed"
exit while
else if msg.isButtonPressed()

print "Data: ";msg.GetData()

if msg.GetIndex() = 1
print "Button pressed: Play"
displayVideo()
else if msg.GetIndex() = 2
print "Button pressed: Go Back"
return true
endif
else
print "Unknown event: "; msg.GetType(); " msg: "; msg.GetMessage()
endif
else
print "wrong type.... type=";msg.GetType(); " msg: "; msg.GetMessage()
endif
end while


return true
End Function

Function displayVideo()
print "Displaying video... "
p = CreateObject("roMessagePort")
video = CreateObject("roVideoScreen")
video.setMessagePort(p)

videoclip = CreateObject("roAssociativeArray")
videoclip.StreamUrls = ["http://92.48.78.127/ibcomtest/test.mp4"]
videoclip.StreamBitrates = [252]
videoclip.StreamQualities = ["SD"]
videoclip.StreamFormat = "mp4"
videoclip.Live = False
videoclip.HDBranded = False
videoclip.Title = "islam channel test"

video.SetContent(videoclip)
video.show()

lastSavedPos = 0
statusInterval = 10 'position must change by more than this number of seconds before saving

while true
msg = wait(0, video.GetMessagePort())
if type(msg) = "roVideoScreenEvent"
if msg.isScreenClosed() then 'ScreenClosed event
print "Closing video screen"
exit while
else if msg.isPlaybackPosition() then
nowpos = msg.GetIndex()
if nowpos > 10000

end if
if nowpos > 0
if abs(nowpos - lastSavedPos) > statusInterval
lastSavedPos = nowpos
end if
end if
else if msg.isRequestFailed()
print "play failed: error_no = ";msg.GetData();" error_msg = "; msg.GetMessage()
else
print "Unknown event: "; msg.GetType(); " msg: "; msg.GetMessage()
endif
end if
end while
End Function


0 Kudos
Highlighted
Level 9

Re: Debugging and Playing live stream wmv content

This looks like a video encoding issue. (252 kpbs is also very low... the lowest bitrate should still be at 350 kbps).

How did you encode this video?

--Kevin
0 Kudos
Highlighted
Level 19

Re: Debugging and Playing live stream wmv content

I get the same error message on my quickly whipped up attempt at implementing HLS. I know it's not a video encoding issue in my case because the DVP never gets as far as trying to request the video. Doing a packet capture I can see the request for the m3u8 file, but that's it. The video file is never requested. I realize I'm jumping into this far too early and should wait for the documentation, but I thought it would be interesting to try something new. For what it's worth, nothing I try in the m3u file makes a difference. I've stripped it down to this:
#EXTM3U
#EXT-X-TARGETDURATION:60,Test
#EXTINF:60,
http://192.168.1.102/test.ts
#EXT-X-ENDLIST

I can also get strange things to happen depending on what meta-data attributes I pass to the video player. For example, if I leave "Qualities" out completely, the m3u file is never even requested and the video screen comes up in perpetual retrieving (I don't know what it thinks it's retrieving). I'm guessing there's either meta-data attributes that are important for HLS that weren't before, or something's missing in the m3u file. Hopefully the documentation will clear it all up when it comes out.

-JT
0 Kudos
Highlighted
Level 7

Re: Debugging and Playing live stream wmv content

Thanks for replies.
I change the bitrate to 350, now it is giving exception of "The Connection is timeout ". But the file is playing properly on VLC with this path.

Any idea what going wrong now?
0 Kudos
Highlighted
Level 7

Re: Debugging and Playing live stream wmv content

renojim, I'm not sure if this is the whole issue, but there is an error in your m3u8 syntax. The EXT-X-TARGETDURATION line should have only one parameter. See if it works better if you remove the ",Test" at the end of the line.

--Mark
0 Kudos
Highlighted
Level 19

Re: Debugging and Playing live stream wmv content

"RokuMarkn" wrote:
renojim, I'm not sure if this is the whole issue, but there is an error in your m3u8 syntax. The EXT-X-TARGETDURATION line should have only one parameter. See if it works better if you remove the ",Test" at the end of the line.

--Mark

Oops! I actually added that after I copied it into the post. I meant to add Test to the end of the #EXTINF line. The Simple Playlist File from the draft spec just had a comma at the end of the #EXTINF line with no title given. I've tried it with and without a title with the same results. My m3u8 file does not have Test at the end of the #EXT-X-TARGETDURATION line.

-JT
0 Kudos