I’ve started development on a channel to view live TV from my HD Homerun Prime cablecard box. Silicon Dust recently released beta firmware that makes accessing the MPEG2 steams for each channel using an http GET. The code below allows me to view a TV channel on the Windows since the stream does not need to be transcoded. However on my iPhone I get the error saying that the video is in a format that the iPad does not understand.
In the example below, my HDHomeRun Prime IP address is 192.168.1.113, and I’m attempting to view channel 274
<br />
def MainMenu():<br />
<br />
oc = ObjectContainer(view_group='InfoList')<br />
<br />
oc = ObjectContainer(title1="HDHomeRun Prime Player") <br />
mo = MediaObject(parts=[PartObject(key=HTTPLiveStreamURL("http://192.168.1.113:5004/auto/v274"))])<br />
vco = VideoClipObject(title="Play channel 274 stream", url='http://192.168.1.113:5004/auto/v274')<br />
vco.add(mo)<br />
oc.add(vco)<br />
<br />
return oc<br />
I see the following entries in the PMS log when I attempt to view the TV channel on my iPhone:
<br />
Dec 03, 2012 18:46:23:753 [3308] DEBUG - Request: GET /video/test?X-Plex-Client-Capabilities=protocols%3Dhttp-live-streaming%2Chttp-mp4-streaming%2Chttp-streaming-video%2Chttp-streaming-video-720p%2Chttp-mp4-video%2Chttp-mp4-video-720p%3BvideoDecoders%3Dh264%7Bprofile%3Ahigh%26resolution%3A1080%26level%3A41%7D%3BaudioDecoders%3Dmp3%2Caac%7Bbitrate%3A160000%7D&X-Plex-Client-Platform=iOS&X-Plex-Product=Plex%2FiOS&X-Plex-Version=3.0&X-Plex-Token=aHe16y6rsA3AVGnkkVrp&X-Plex-Device-Name=Eric%27s%20iPhone [192.168.1.114:61143] (1 live)<br />
Dec 03, 2012 18:46:23:753 [3308] DEBUG - * X-Plex-Client-Capabilities => protocols=http-live-streaming,http-mp4-streaming,http-streaming-video,http-streaming-video-720p,http-mp4-video,http-mp4-video-720p;videoDecoders=h264{profile:high&resolution:1080&level:41};audioDecoders=mp3,aac{bitrate:160000}<br />
Dec 03, 2012 18:46:23:754 [3308] DEBUG - * X-Plex-Client-Platform => iOS<br />
Dec 03, 2012 18:46:23:754 [3308] DEBUG - * X-Plex-Product => Plex/iOS<br />
Dec 03, 2012 18:46:23:754 [3308] DEBUG - * X-Plex-Version => 3.0<br />
Dec 03, 2012 18:46:23:754 [3308] DEBUG - * X-Plex-Token => aHe16y6rsA3AVGnkkVrp<br />
Dec 03, 2012 18:46:23:754 [3308] DEBUG - * X-Plex-Device-Name => Eric's iPhone<br />
Dec 03, 2012 18:46:23:755 [3308] DEBUG - Plug-in com.plexapp.plugins.test has been used 54 times.<br />
Dec 03, 2012 18:46:23:762 [3308] DEBUG - [com.plexapp.plugins.test] Sending command over HTTP (GET): /video/test<br />
Dec 03, 2012 18:46:23:762 [3308] DEBUG - (Capabilties) Passing down capabilities of 'protocols=http-live-streaming,http-mp4-streaming,http-mp4-video,http-mp4-video-720p,http-streaming-video,http-streaming-video-720p;videoDecoders=h264{profile:high&resolution:1080&level:41};audioDecoders=mp3,aac{bitrate:160000}' to plug-in.<br />
Dec 03, 2012 18:46:23:763 [3308] DEBUG - HTTP requesting to: http://127.0.0.1:51080/video/test<br />
Dec 03, 2012 18:46:24:093 [3308] DEBUG - [com.plexapp.plugins.test] HTTP reply status 200, with 979 bytes of content.<br />
Dec 03, 2012 18:46:26:314 [4160] DEBUG - Request: GET /system/:/services/url/lookup?url=http%3A//192.168.1.113%3A5004/auto/v274&X-Plex-Client-Capabilities=protocols%3Dhttp-live-streaming%2Chttp-mp4-streaming%2Chttp-streaming-video%2Chttp-streaming-video-720p%2Chttp-mp4-video%2Chttp-mp4-video-720p%3BvideoDecoders%3Dh264%7Bprofile%3Ahigh%26resolution%3A1080%26level%3A41%7D%3BaudioDecoders%3Dmp3%2Caac%7Bbitrate%3A160000%7D&X-Plex-Client-Platform=iOS&X-Plex-Product=Plex%2FiOS&X-Plex-Version=3.0&X-Plex-Token=aHe16y6rsA3AVGnkkVrp&X-Plex-Device-Name=Eric%27s%20iPhone [192.168.1.114:61144] (1 live)<br />
Dec 03, 2012 18:46:26:314 [4160] DEBUG - * url => http://192.168.1.113:5004/auto/v274<br />
Dec 03, 2012 18:46:26:315 [4160] DEBUG - * X-Plex-Client-Capabilities => protocols=http-live-streaming,http-mp4-streaming,http-streaming-video,http-streaming-video-720p,http-mp4-video,http-mp4-video-720p;videoDecoders=h264{profile:high&resolution:1080&level:41};audioDecoders=mp3,aac{bitrate:160000}<br />
Dec 03, 2012 18:46:26:315 [4160] DEBUG - * X-Plex-Client-Platform => iOS<br />
Dec 03, 2012 18:46:26:315 [4160] DEBUG - * X-Plex-Product => Plex/iOS<br />
Dec 03, 2012 18:46:26:315 [4160] DEBUG - * X-Plex-Version => 3.0<br />
Dec 03, 2012 18:46:26:315 [4160] DEBUG - * X-Plex-Token => aHe16y6rsA3AVGnkkVrp<br />
Dec 03, 2012 18:46:26:315 [4160] DEBUG - * X-Plex-Device-Name => Eric's iPhone<br />
Dec 03, 2012 18:46:26:316 [4160] DEBUG - [com.plexapp.system] Sending command over HTTP (GET): /system/:/services/url/lookup?url=http%3A//192.168.1.113%3A5004/auto/v274<br />
Dec 03, 2012 18:46:26:316 [4160] DEBUG - (Capabilties) Passing down capabilities of 'protocols=http-live-streaming,http-mp4-streaming,http-mp4-video,http-mp4-video-720p,http-streaming-video,http-streaming-video-720p;videoDecoders=h264{profile:high&resolution:1080&level:41};audioDecoders=mp3,aac{bitrate:160000}' to plug-in.<br />
Dec 03, 2012 18:46:26:317 [4160] DEBUG - HTTP requesting to: http://127.0.0.1:51066/system/:/services/url/lookup?url=http%3A//192.168.1.113%3A5004/auto/v274<br />
Dec 03, 2012 18:46:26:572 [4160] DEBUG - [com.plexapp.system] HTTP reply status 404, with 0 bytes of content.<br />
I'm guessing it's failing on the call to transcode the stream. Is there anything additional I need to add in the channel code for a live stream so that the PMS transcoder will correctly transcode the stream?
