I have cobbled together a quick and dirty channel to allow me to view a security camera feed on my televisions. The script is a stripped-down version of "simplevideoplayer" as the use case is to immediately jump onto the stream without user interaction. While my camera supports HLS it's apparently not close enough to what Roku expects, so I have another system running VLC to transcode the stream. The channel was developed a few months ago and has been working fine up until the recent firmware update. The script is failing on 2 updated Roku 3s. I have a Roku2XD that hasn't been updated and it can load the channel and stream as before (albeit very choppy due to the bitrate of the source stream).
Details (the last octets of IPs have been masked for privacy)The script source can be viewed hereThe feed is generated by VLC with the following command line:
"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" -I dummy http://10.0.0.xxx/live/0/h264.m3u8 vlc://quit --sout=#transcode{width=1920,height=1080,fps=18,vcodec=h264,venc=x264{aud,profile=high,preset=ultrafast,keyint=18},acodec=mp3,ab=96}:std{access=livehttp{seglen=1,delsegs=true,numsegs=3,index=C:\inetpub\wwwroot\stream\mystream.m3u8,index-url=http://10.0.0.xxx:81/stream/mystream-########.ts},mux=ts{use-key-frames},dst=C:\inetpub\wwwroot\stream\mystream-########.ts}
The playlist generated by VLC looks something like this:
#EXTM3U
#EXT-X-TARGETDURATION:1
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:NO
#EXT-X-MEDIA-SEQUENCE:4231
#EXTINF:0.88,
http://10.0.0.xxx:81/stream/mystream-00004231.ts
#EXTINF:0.70,
http://10.0.0.xxx:81/stream/mystream-00004232.ts
#EXTINF:0.91,
http://10.0.0.xxx:81/stream/mystream-00004233.ts
#EXTINF:0.55,
http://10.0.0.xxx:81/stream/mystream-00004234.ts
When I execute the channel the debug console displays the following errors:
------ Running ------
Displaying video:
srt =
Unknown event: 20 msg: Stream started.
Unknown event: 31 msg: Download segment info
Unknown event: 31 msg: Download segment info
Unknown event: 11 msg: Media format cannot be determined.
play failed:
I read about a bug discovered with HLS in the new firmware
described here. My script already has the bitrate set to 0, so that workaround won't help. I also see a suggestion to create a master playlist. I have no idea how to create the "CODECS" tag but it also appears to be listed as optional. I created the following file and I see the same error in the debug console:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=10000000,RESOLUTION=1920x1080
mystream.m3u8
It's frustrating to have my boxes auto update and simultaneously break my custom channels. More frustrating because I have no idea what the heck I'm doing so I don't really even know where to begin with this.