# Newbie: HTTP FLV steaming channel development

**URL:** https://forums.plex.tv/t/newbie-http-flv-steaming-channel-development/28446
**Category:** Dev/API Corner
**Tags:** plugin-dev
**Created:** [February 4, 2013, 6:00pm UTC](https://forums.plex.tv/t/newbie-http-flv-steaming-channel-development/28446 "2013-02-04T18:00:11Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![sacdroid](https://avatars.discourse-cdn.com/v4/letter/s/54ee81/32.png) [@sacdroid](https://forums.plex.tv/u/sacdroid)
#### Post date: [February 4, 2013, 6:00pm UTC](https://forums.plex.tv/t/newbie-http-flv-steaming-channel-development/28446/1 "2013-02-04T18:00:11Z")

</div>

I have started developing channel for news Chanel in native language , I got access to flv steaming link,  
  
  
  
[http://bglive-a.bitgravity.com/web18/secure/feed03?e=2719319564%26h=4225779d9eb8c5199849c9aaea6500dc](http://bglive-a.bitgravity.com/web18/secure/feed03?e=2719319564%26h=4225779d9eb8c5199849c9aaea6500dc)  
  
  
  
I am looking for reference plugin which handles similar type of media, Can anyone point to it? Also I wanted to confirm that I don’t need site configuration as above link direct access to stream.  
  
  
  
Also [Plex Plug-in Kickstarter](http://dev.plexapp.com/tools/plugin_kickstart/) seems to be in broken state.  
  
  
  
Thanks for you help, looking forward to plex channel development.  
  
  
  
– Sachin.

---

<div class="post-metadata">

### Author: ![sacdroid](https://avatars.discourse-cdn.com/v4/letter/s/54ee81/32.png) [@sacdroid](https://forums.plex.tv/u/sacdroid)
#### Post date: [February 5, 2013, 12:51am UTC](https://forums.plex.tv/t/newbie-http-flv-steaming-channel-development/28446/2 "2013-02-05T00:51:38Z")

</div>

Update:  
  
  
  
I went through forum post and come up with following plugin code code,

```auto

<br />
     oc = ObjectContainer(title1="IBN Marathi")<br />
     oc.add(VideoClipObject(title="Play",<br />
                items=[MediaObject(<br />
                        parts = [PartObject(<br />
                                key=HTTPLiveStreamURL("http://bglive-a.bitgravity.com/web18/secure/feed03?e=2719319564%26h=4225779d9eb8c5199849c9aaea6500dc")<br />
                                )]<br />
                        )]<br />
                 )<br />

```

  
  
When I try launch plugin using browser, it crashes with "The media server is not responding" message, following is PMS log,  
  

```auto

Feb 04, 2013 19:42:52:641 [8452] DEBUG - Request: GET /video/ibntv [127.0.0.1:54364] (3 live)<br />
Feb 04, 2013 19:42:52:641 [8452] DEBUG - Plug-in com.plexapp.plugins.ibn has been used 64 times.<br />
Feb 04, 2013 19:42:52:642 [8452] DEBUG - [com.plexapp.plugins.ibn] Sending command over HTTP (GET): /video/ibntv<br />
Feb 04, 2013 19:42:52:642 [2220] DEBUG - Request: GET /system/:/services/url/lookup?url=http%3A//bglive-a.bitgravity.com/web18/secure/feed03%3Fe%3D2719319564%2526h%3D4225779d9eb8c5199849c9aaea6500dc [127.0.0.1:54365] (3 live)<br />
Feb 04, 2013 19:42:52:642 [2220] DEBUG - * url => http://bglive-a.bitgravity.com/web18/secure/feed03?e=2719319564%26h=4225779d9eb8c5199849c9aaea6500dc<br />
Feb 04, 2013 19:42:52:642 [8452] DEBUG - HTTP requesting to: http://127.0.0.1:54319/video/ibntv<br />
Feb 04, 2013 19:42:52:643 [2220] DEBUG - [com.plexapp.system] Sending command over HTTP (GET): /system/:/services/url/lookup?url=http%3A//bglive-a.bitgravity.com/web18/secure/feed03%3Fe%3D2719319564%2526h%3D4225779d9eb8c5199849c9aaea6500dc<br />
Feb 04, 2013 19:42:52:644 [2220] DEBUG - HTTP requesting to: http://127.0.0.1:62844/system/:/services/url/lookup?url=http%3A//bglive-a.bitgravity.com/web18/secure/feed03%3Fe%3D2719319564%2526h%3D4225779d9eb8c5199849c9aaea6500dc<br />
Feb 04, 2013 19:42:52:665 [7496] DEBUG - Request: GET /:/plugins/com.plexapp.system/messaging/function/X1N0b3JlU2VydmljZTpJc0NoYW5uZWxCcm9rZW4_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMjMKY29tLnBsZXhhcHAucGx1Z2lucy5pYm5zMTAKaWRlbnRpZmllcnIwCg__ [127.0.0.1:54368] (4 live)<br />
Feb 04, 2013 19:42:52:665 [7496] DEBUG - [com.plexapp.system] Sending command over HTTP (GET): /:/plugins/com.plexapp.system/messaging/function/X1N0b3JlU2VydmljZTpJc0NoYW5uZWxCcm9rZW4_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMjMKY29tLnBsZXhhcHAucGx1Z2lucy5pYm5zMTAKaWRlbnRpZmllcnIwCg__<br />
Feb 04, 2013 19:42:52:666 [7496] DEBUG - HTTP requesting to: http://127.0.0.1:62844/:/plugins/com.plexapp.system/messaging/function/X1N0b3JlU2VydmljZTpJc0NoYW5uZWxCcm9rZW4_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMjMKY29tLnBsZXhhcHAucGx1Z2lucy5pYm5zMTAKaWRlbnRpZmllcnIwCg__<br />
Feb 04, 2013 19:42:52:684 [7496] DEBUG - [com.plexapp.system] HTTP reply status 200, with 32 bytes of content.<br />
Feb 04, 2013 19:42:52:707 [8452] DEBUG - [com.plexapp.plugins.ibn] HTTP reply status 304, with 0 bytes of content.<br />
Feb 04, 2013 19:42:52:869 [2220] DEBUG - [com.plexapp.system] HTTP reply status 404, with 0 bytes of content.<br />

```

  
  
 Streaming link is very much alive, I can play it using browser and vlc, not sure why I am getting 404 error in PMS, will continue my investigation.   
 Any help will be appreciated!   
  
 Thanks,  
 Sachin.

---

<div class="post-metadata">

### Author: ![sacdroid](https://avatars.discourse-cdn.com/v4/letter/s/54ee81/32.png) [@sacdroid](https://forums.plex.tv/u/sacdroid)
#### Post date: [February 5, 2013, 2:32am UTC](https://forums.plex.tv/t/newbie-http-flv-steaming-channel-development/28446/3 "2013-02-05T02:32:27Z")

</div>

Ok some progress, Above log suggests I needed URL service implementation to get Metadata, so decided to pass metadata object from plugin code, following is updated code,

```auto

def MainMenu():<br />
        <br />
	oc = ObjectContainer()<br />
	title = 'title'<br />
	thumb = 'http://cricscoreapplet.sourceforge.net/screenshot2.jpg'<br />
	type = 'flv'<br />
	id = '1'<br />
	rating_key = '%s%s' % (type, id)<br />
<br />
	oc.add(<br />
		VideoClipObject(<br />
		key = Callback(Lookup, title=title, thumb=thumb, type=type, id=id, rating_key=rating_key),<br />
			title = title,<br />
			thumb = thumb,<br />
			rating_key = rating_key,<br />
			items = [<br />
				MediaObject(<br />
				parts = [PartObject(key=HTTPLiveStreamURL(Callback(PlayVideo)))]<br />
				)<br />
			]<br />
		)<br />
		)<br />
	oc.http_headers = {'User-Agent': 'Shockwave Flash'}<br />
	<br />
	return oc<br />
				<br />
####################################################################################################<br />
<br />
def Lookup(title, thumb, type, id, rating_key):<br />
<br />
	oc = ObjectContainer()<br />
<br />
	oc.add(<br />
		VideoClipObject(<br />
			key = Callback(Lookup, title=title, thumb=thumb, type=type, id=id, rating_key=rating_key),<br />
			title = title,<br />
			thumb = thumb,<br />
			rating_key = rating_key,<br />
			items = [<br />
				MediaObject(<br />
					parts = [PartObject(key=HTTPLiveStreamURL(Callback(PlayVideo)))]<br />
					)<br />
				]<br />
			)<br />
		)<br />
<br />
	return oc<br />
	<br />
def PlayVideo():<br />
    return ("http://bglive-a.bitgravity.com/web18/secure/feed03?e=2719319564%26h=4225779d9eb8c5199849c9aaea6500dc")

```

  
  
Now it seems transcoder is crashing, see following PMS log,  
  

```auto

Feb 04, 2013 21:22:41:728 [3040] DEBUG - Plug-in com.plexapp.plugins.ibn has been used 170 times.<br />
Feb 04, 2013 21:22:41:728 [3040] DEBUG - [com.plexapp.plugins.ibn] Sending command over HTTP (GET): /video/ibntv<br />
Feb 04, 2013 21:22:41:729 [3040] DEBUG - HTTP requesting to: http://127.0.0.1:62174/video/ibntv<br />
Feb 04, 2013 21:22:41:731 [8444] DEBUG - Request: GET /video/ibntv/:/function/Lookup?function_args=Y2VyZWFsMQoxCmRpY3QKNQpzMQoxczIKaWRzMwpmbHZzNAp0eXBlczU0Cmh0dHA6Ly9jcmljc2NvcmVhcHBsZXQuc291cmNlZm9yZ2UubmV0L3NjcmVlbnNob3QyLmpwZ3M1CnRodW1iczQKZmx2MXMxMApyYXRpbmdfa2V5czUKdGl0bGVzNQp0aXRsZXIwCg__ [127.0.0.1:62240] (3 live)<br />
Feb 04, 2013 21:22:41:732 [8444] DEBUG - * function_args => Y2VyZWFsMQoxCmRpY3QKNQpzMQoxczIKaWRzMwpmbHZzNAp0eXBlczU0Cmh0dHA6Ly9jcmljc2NvcmVhcHBsZXQuc291cmNlZm9yZ2UubmV0L3NjcmVlbnNob3QyLmpwZ3M1CnRodW1iczQKZmx2MXMxMApyYXRpbmdfa2V5czUKdGl0bGVzNQp0aXRsZXIwCg__<br />
Feb 04, 2013 21:22:41:732 [8444] DEBUG - Plug-in com.plexapp.plugins.ibn has been used 171 times.<br />
Feb 04, 2013 21:22:41:732 [8444] DEBUG - [com.plexapp.plugins.ibn] Sending command over HTTP (GET): /video/ibntv/:/function/Lookup?function_args=Y2VyZWFsMQoxCmRpY3QKNQpzMQoxczIKaWRzMwpmbHZzNAp0eXBlczU0Cmh0dHA6Ly9jcmljc2NvcmVhcHBsZXQuc291cmNlZm9yZ2UubmV0L3NjcmVlbnNob3QyLmpwZ3M1CnRodW1iczQKZmx2MXMxMApyYXRpbmdfa2V5czUKdGl0bGVzNQp0aXRsZXIwCg__<br />
Feb 04, 2013 21:22:41:732 [8444] DEBUG - HTTP requesting to: http://127.0.0.1:62174/video/ibntv/:/function/Lookup?function_args=Y2VyZWFsMQoxCmRpY3QKNQpzMQoxczIKaWRzMwpmbHZzNAp0eXBlczU0Cmh0dHA6Ly9jcmljc2NvcmVhcHBsZXQuc291cmNlZm9yZ2UubmV0L3NjcmVlbnNob3QyLmpwZ3M1CnRodW1iczQKZmx2MXMxMApyYXRpbmdfa2V5czUKdGl0bGVzNQp0aXRsZXIwCg__<br />
Feb 04, 2013 21:22:41:743 [8444] DEBUG - [com.plexapp.plugins.ibn] HTTP reply status 304, with 0 bytes of content.<br />
Feb 04, 2013 21:22:41:747 [7908] DEBUG - Request: GET /:/plugins/com.plexapp.system/messaging/function/X1N0b3JlU2VydmljZTpJc0NoYW5uZWxCcm9rZW4_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMjMKY29tLnBsZXhhcHAucGx1Z2lucy5pYm5zMTAKaWRlbnRpZmllcnIwCg__ [127.0.0.1:62242] (3 live)<br />
Feb 04, 2013 21:22:41:748 [7908] DEBUG - [com.plexapp.system] Sending command over HTTP (GET): /:/plugins/com.plexapp.system/messaging/function/X1N0b3JlU2VydmljZTpJc0NoYW5uZWxCcm9rZW4_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMjMKY29tLnBsZXhhcHAucGx1Z2lucy5pYm5zMTAKaWRlbnRpZmllcnIwCg__<br />
Feb 04, 2013 21:22:41:748 [7908] DEBUG - HTTP requesting to: http://127.0.0.1:62844/:/plugins/com.plexapp.system/messaging/function/X1N0b3JlU2VydmljZTpJc0NoYW5uZWxCcm9rZW4_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMjMKY29tLnBsZXhhcHAucGx1Z2lucy5pYm5zMTAKaWRlbnRpZmllcnIwCg__<br />
Feb 04, 2013 21:22:41:752 [7908] DEBUG - [com.plexapp.system] HTTP reply status 200, with 32 bytes of content.<br />
Feb 04, 2013 21:22:41:758 [3040] DEBUG - [com.plexapp.plugins.ibn] HTTP reply status 304, with 0 bytes of content.<br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - Request: GET /video/:/transcode/segmented/start.m3u8?identifier=&key=http%3A%2F%2F127.0.0.1%3A32400%2Fvideo%2Fibntv%2F%3A%2Ffunction%2FLookup%3Ffunction_args%3DY2VyZWFsMQoxCmRpY3QKNQpzMQoxczIKaWRzMwpmbHZzNAp0eXBlczU0Cmh0dHA6Ly9jcmljc2NvcmVhcHBsZXQuc291cmNlZm9yZ2UubmV0L3NjcmVlbnNob3QyLmpwZ3M1CnRodW1iczQKZmx2MXMxMApyYXRpbmdfa2V5czUKdGl0bGVzNQp0aXRsZXIwCg__&url=http%3A%2F%2F127.0.0.1%3A32400%2Fvideo%2Fibntv%2F%3A%2Ffunction%2FPlayVideo%3Ffunction_args%3DY2VyZWFsMQoxCmRpY3QKMApyMAo_&session=ok0jw6fom9bgwrk9&offset=0&quality=10&subtitleSize=100&audioBoost=100&3g=0&X-Plex-Client-Identifier=ok0jw6fom9bgwrk9&X-Plex-Product=Web+Client&X-Plex-Device=Windows&X-Plex-Platform=Chrome&X-Plex-Platform-Version=24&X-Plex-Version=0.9.9.4&X-Plex-Access-Key=KQMIY6GATPC63AIMC4R2&X-Plex-Access-Code=Vk4g3vmwkNwblB5OmXyIvpVMwRp4vg3V%2FiTVw0QeGAI%3D&X-Plex-Access-Time=1360030962&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%3A51%7D%3BaudioDecoders%3Dmp3%2Caac%7Bbitrate%3A160000%7D [127.0.0.1:62244] (2 live)<br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - * identifier => <br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - * key => http://127.0.0.1:32400/video/ibntv/:/function/Lookup?function_args=Y2VyZWFsMQoxCmRpY3QKNQpzMQoxczIKaWRzMwpmbHZzNAp0eXBlczU0Cmh0dHA6Ly9jcmljc2NvcmVhcHBsZXQuc291cmNlZm9yZ2UubmV0L3NjcmVlbnNob3QyLmpwZ3M1CnRodW1iczQKZmx2MXMxMApyYXRpbmdfa2V5czUKdGl0bGVzNQp0aXRsZXIwCg__<br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - * url => http://127.0.0.1:32400/video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_<br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - * session => ok0jw6fom9bgwrk9<br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - * offset => 0<br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - * quality => 10<br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - * subtitleSize => 100<br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - * audioBoost => 100<br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - * 3g => 0<br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - * X-Plex-Client-Identifier => ok0jw6fom9bgwrk9<br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - * X-Plex-Product => Web Client<br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - * X-Plex-Device => Windows<br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - * X-Plex-Platform => Chrome<br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - * X-Plex-Platform-Version => 24<br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - * X-Plex-Version => 0.9.9.4<br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - * X-Plex-Access-Key => KQMIY6GATPC63AIMC4R2<br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - * X-Plex-Access-Code => Vk4g3vmwkNwblB5OmXyIvpVMwRp4vg3V/iTVw0QeGAI=<br />
Feb 04, 2013 21:22:41:770 [7056] DEBUG - * X-Plex-Access-Time => 1360030962<br />
Feb 04, 2013 21:22:41:770 [7056] 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:51};audioDecoders=mp3,aac{bitrate:160000}<br />
Feb 04, 2013 21:22:41:771 [7056] DEBUG - Cookie header in secure request: SESSION-GUID=ok0jw6fom9bgwrk9<br />
Feb 04, 2013 21:22:41:771 [7056] DEBUG - Checking cookie 'SESSION-GUID=ok0jw6fom9bgwrk9'<br />
Feb 04, 2013 21:22:41:771 [7056] DEBUG - Found session GUID of ok0jw6fom9bgwrk9 in session start.<br />
Feb 04, 2013 21:22:41:771 [7056] DEBUG - Using session GUID ok0jw6fom9bgwrk9 for new transcode session.<br />
Feb 04, 2013 21:22:41:771 [7056] DEBUG - Cleaning directory for session ok0jw6fom9bgwrk9 (C:\Users\Atul\AppData\Local\Temp\plex-transcode-ok0jw6fom9bgwrk9-31c97dde-853f-4905-a18e-00e623faf0f4)<br />
Feb 04, 2013 21:22:41:771 [7056] DEBUG - Saving session: ok0jw6fom9bgwrk9<br />
Feb 04, 2013 21:22:41:772 [7056] DEBUG - Adding cookie for security headers: 'SESSION-GUID=ok0jw6fom9bgwrk9'<br />
Feb 04, 2013 21:22:42:145 [2704] DEBUG - Request: GET /video/:/transcode/segmented/session/ok0jw6fom9bgwrk9/10/index.m3u8 [127.0.0.1:62245] (2 live)<br />
Feb 04, 2013 21:22:42:145 [2704] DEBUG - Starting a transcode session ok0jw6fom9bgwrk9 at offset -1.0 (stopped=1)<br />
Feb 04, 2013 21:22:42:146 [2704] DEBUG - Setting up segmented session, quality=10<br />
Feb 04, 2013 21:22:42:146 [2704] DEBUG - Computed display width of 7.8"<br />
Feb 04, 2013 21:22:42:146 [2704] DEBUG - Video Stream copy => cp:av, vp:high, vr:1080, vl:51<br />
Feb 04, 2013 21:22:42:147 [2704] DEBUG - Audio Stream copy => ac:mp3,aac=160000<br />
Feb 04, 2013 21:22:42:147 [2704] DEBUG - Job running: C:\Program Files (x86)\Plex\Plex Media Server\PlexTranscoder.exe transcode "http://127.0.0.1:32400/video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_" "C:\Users\Atul\AppData\Local\Temp\plex-transcode-ok0jw6fom9bgwrk9-31c97dde-853f-4905-a18e-00e623faf0f4\media" 10 1 0 any nil 0 yes UTF-8 default "" "" 0.75 av high 1080 51 mp3,aac=160000 3355443 yes "" no "http://127.0.0.1:32400/video/:/transcode/session/ok0jw6fom9bgwrk9/progress" <br />
Feb 04, 2013 21:22:44:257 [6200] DEBUG - [Transcoder] Starting transcoder v306 (t=1s, q=10)<br />
Feb 04, 2013 21:22:44:268 [5776] DEBUG - [Transcoder] Registered components, about to parse arguments.<br />
Feb 04, 2013 21:22:44:279 [9564] DEBUG - [Transcoder] Video caps: ca=1, cv=1, ac=libmp3lame, mp3=0, aac=160000,1, ac3=-1, dts=-1, pcm=-1, vp=64, vr=1080, vl=51, mss=3355443, anam=1<br />
Feb 04, 2013 21:22:44:280 [1920] DEBUG - [Transcoder] About to apply initial settings.<br />
Feb 04, 2013 21:22:44:290 [8208] DEBUG - [Transcoder] Opening the input file.<br />
Feb 04, 2013 21:22:44:301 [9236] DEBUG - Request: GET /video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_ [127.0.0.1:62251] (3 live)<br />
Feb 04, 2013 21:22:44:301 [9236] DEBUG - * function_args => Y2VyZWFsMQoxCmRpY3QKMApyMAo_<br />
Feb 04, 2013 21:22:44:301 [9236] DEBUG - Plug-in com.plexapp.plugins.ibn has been used 172 times.<br />
Feb 04, 2013 21:22:44:301 [9236] DEBUG - [com.plexapp.plugins.ibn] Sending command over HTTP (GET): /video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_<br />
Feb 04, 2013 21:22:44:301 [9236] DEBUG - HTTP requesting to: http://127.0.0.1:62174/video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_<br />
Feb 04, 2013 21:22:44:315 [9236] DEBUG - [com.plexapp.plugins.ibn] HTTP reply status 200, with 100 bytes of content.<br />
Feb 04, 2013 21:22:44:317 [6276] ERROR - [Transcoder] Exiting after failure.<br />
Feb 04, 2013 21:23:15:204 [6388] DEBUG - Request: GET /video/:/transcode/segmented/ping?session=ok0jw6fom9bgwrk9 [127.0.0.1:62283] (2 live)<br />
Feb 04, 2013 21:23:15:204 [6388] DEBUG - * session => ok0jw6fom9bgwrk9<br />
Feb 04, 2013 21:23:15:204 [6388] DEBUG - Received transcode session ping for session ok0jw6fom9bgwrk9.<br />
Feb 04, 2013 21:23:45:204 [8784] DEBUG - Request: GET /video/:/transcode/segmented/ping?session=ok0jw6fom9bgwrk9 [127.0.0.1:62313] (2 live)<br />
Feb 04, 2013 21:23:45:204 [8784] DEBUG - * session => ok0jw6fom9bgwrk9<br />

```

  
  
 Any pointers?  
  
Thanks,  
Sachin.

---

<div class="post-metadata">

### Author: ![sander1](https://avatars.discourse-cdn.com/v4/letter/s/4bbf92/32.png) [@sander1](https://forums.plex.tv/u/sander1)
#### Post date: [February 6, 2013, 12:37am UTC](https://forums.plex.tv/t/newbie-http-flv-steaming-channel-development/28446/4 "2013-02-06T00:37:56Z")

</div>

Hi Sachin!  
  
I have not tested this, but some changes are required:  
  
  
  
Change

```auto

parts = [PartObject(key=HTTPLiveStreamURL(Callback(PlayVideo)))]

```

to

```auto

parts = [PartObject(key=Callback(PlayVideo))]

```

(in both the MainMenu and Lookup function).  
  
_HTTPLiveStreamURL_ is for HLS streams only. Your stream is just a “normal” flv over http one.  
  
  
  
And change

```auto

def PlayVideo():<br />
    return ("http://bglive-a.bitgravity.com/web18/secure/feed03?e=2719319564%26h=4225779d9eb8c5199849c9aaea6500dc")

```

to

```auto

def PlayVideo():<br />
    return Redirect("http://bglive-a.bitgravity.com/web18/secure/feed03?e=2719319564%26h=4225779d9eb8c5199849c9aaea6500dc")

```

---

<div class="post-metadata">

### Author: ![sacdroid](https://avatars.discourse-cdn.com/v4/letter/s/54ee81/32.png) [@sacdroid](https://forums.plex.tv/u/sacdroid)
#### Post date: [February 6, 2013, 2:09am UTC](https://forums.plex.tv/t/newbie-http-flv-steaming-channel-development/28446/5 "2013-02-06T02:09:51Z")

</div>

Thanks Sander1 for tips, I tried your suggestion but no luck. Now its failing with 302 error code(redirection), see log,

```auto

Feb 05, 2013 20:54:13:892 [7340] DEBUG - Request: GET /video/ibntv [127.0.0.1:61011] (2 live)<br />
Feb 05, 2013 20:54:13:892 [7340] DEBUG - Plug-in com.plexapp.plugins.ibn has been used 275 times.<br />
Feb 05, 2013 20:54:13:892 [7340] DEBUG - [com.plexapp.plugins.ibn] Sending command over HTTP (GET): /video/ibntv<br />
Feb 05, 2013 20:54:13:893 [7340] DEBUG - HTTP requesting to: http://127.0.0.1:60986/video/ibntv<br />
Feb 05, 2013 20:54:13:920 [2348] DEBUG - Request: GET /:/plugins/com.plexapp.system/messaging/function/X1N0b3JlU2VydmljZTpJc0NoYW5uZWxCcm9rZW4_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMjMKY29tLnBsZXhhcHAucGx1Z2lucy5pYm5zMTAKaWRlbnRpZmllcnIwCg__ [127.0.0.1:61013] (3 live)<br />
Feb 05, 2013 20:54:13:920 [2348] DEBUG - [com.plexapp.system] Sending command over HTTP (GET): /:/plugins/com.plexapp.system/messaging/function/X1N0b3JlU2VydmljZTpJc0NoYW5uZWxCcm9rZW4_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMjMKY29tLnBsZXhhcHAucGx1Z2lucy5pYm5zMTAKaWRlbnRpZmllcnIwCg__<br />
Feb 05, 2013 20:54:13:921 [2348] DEBUG - HTTP requesting to: http://127.0.0.1:58479/:/plugins/com.plexapp.system/messaging/function/X1N0b3JlU2VydmljZTpJc0NoYW5uZWxCcm9rZW4_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMjMKY29tLnBsZXhhcHAucGx1Z2lucy5pYm5zMTAKaWRlbnRpZmllcnIwCg__<br />
Feb 05, 2013 20:54:13:934 [2348] DEBUG - [com.plexapp.system] HTTP reply status 200, with 32 bytes of content.<br />
Feb 05, 2013 20:54:13:955 [7340] DEBUG - [com.plexapp.plugins.ibn] HTTP reply status 304, with 0 bytes of content.<br />
Feb 05, 2013 20:54:13:959 [5620] DEBUG - Request: GET /video/ibntv/:/function/Lookup?function_args=Y2VyZWFsMQoxCmRpY3QKNQpzMQoxczIKaWRzMwpmbHZzNAp0eXBlczU0Cmh0dHA6Ly9jcmljc2NvcmVhcHBsZXQuc291cmNlZm9yZ2UubmV0L3NjcmVlbnNob3QyLmpwZ3M1CnRodW1iczQKZmx2MXMxMApyYXRpbmdfa2V5czUKdGl0bGVzNQp0aXRsZXIwCg__ [127.0.0.1:61015] (2 live)<br />
Feb 05, 2013 20:54:13:959 [5620] DEBUG - * function_args => Y2VyZWFsMQoxCmRpY3QKNQpzMQoxczIKaWRzMwpmbHZzNAp0eXBlczU0Cmh0dHA6Ly9jcmljc2NvcmVhcHBsZXQuc291cmNlZm9yZ2UubmV0L3NjcmVlbnNob3QyLmpwZ3M1CnRodW1iczQKZmx2MXMxMApyYXRpbmdfa2V5czUKdGl0bGVzNQp0aXRsZXIwCg__<br />
Feb 05, 2013 20:54:13:959 [5620] DEBUG - Plug-in com.plexapp.plugins.ibn has been used 276 times.<br />
Feb 05, 2013 20:54:13:960 [5620] DEBUG - [com.plexapp.plugins.ibn] Sending command over HTTP (GET): /video/ibntv/:/function/Lookup?function_args=Y2VyZWFsMQoxCmRpY3QKNQpzMQoxczIKaWRzMwpmbHZzNAp0eXBlczU0Cmh0dHA6Ly9jcmljc2NvcmVhcHBsZXQuc291cmNlZm9yZ2UubmV0L3NjcmVlbnNob3QyLmpwZ3M1CnRodW1iczQKZmx2MXMxMApyYXRpbmdfa2V5czUKdGl0bGVzNQp0aXRsZXIwCg__<br />
Feb 05, 2013 20:54:13:960 [5620] DEBUG - HTTP requesting to: http://127.0.0.1:60986/video/ibntv/:/function/Lookup?function_args=Y2VyZWFsMQoxCmRpY3QKNQpzMQoxczIKaWRzMwpmbHZzNAp0eXBlczU0Cmh0dHA6Ly9jcmljc2NvcmVhcHBsZXQuc291cmNlZm9yZ2UubmV0L3NjcmVlbnNob3QyLmpwZ3M1CnRodW1iczQKZmx2MXMxMApyYXRpbmdfa2V5czUKdGl0bGVzNQp0aXRsZXIwCg__<br />
Feb 05, 2013 20:54:14:029 [5620] DEBUG - [com.plexapp.plugins.ibn] HTTP reply status 304, with 0 bytes of content.<br />
Feb 05, 2013 20:54:14:398 [8496] DEBUG - Request: GET /clients [127.0.0.1:61017] (2 live)<br />
Feb 05, 2013 20:54:14:399 [8496] DEBUG - It took 0.000000 sec to serialize a list with 0 elements.<br />
Feb 05, 2013 20:54:16:267 [6912] DEBUG - Request: GET /video/ibntv/:/function/Lookup?function_args=Y2VyZWFsMQoxCmRpY3QKNQpzMQoxczIKaWRzMwpmbHZzNAp0eXBlczU0Cmh0dHA6Ly9jcmljc2NvcmVhcHBsZXQuc291cmNlZm9yZ2UubmV0L3NjcmVlbnNob3QyLmpwZ3M1CnRodW1iczQKZmx2MXMxMApyYXRpbmdfa2V5czUKdGl0bGVzNQp0aXRsZXIwCg__ [127.0.0.1:61020] (3 live)<br />
Feb 05, 2013 20:54:16:267 [6912] DEBUG - * function_args => Y2VyZWFsMQoxCmRpY3QKNQpzMQoxczIKaWRzMwpmbHZzNAp0eXBlczU0Cmh0dHA6Ly9jcmljc2NvcmVhcHBsZXQuc291cmNlZm9yZ2UubmV0L3NjcmVlbnNob3QyLmpwZ3M1CnRodW1iczQKZmx2MXMxMApyYXRpbmdfa2V5czUKdGl0bGVzNQp0aXRsZXIwCg__<br />
Feb 05, 2013 20:54:16:267 [6872] DEBUG - Request: GET /video/ibntv [127.0.0.1:61019] (3 live)<br />
Feb 05, 2013 20:54:16:267 [6912] DEBUG - Plug-in com.plexapp.plugins.ibn has been used 277 times.<br />
Feb 05, 2013 20:54:16:267 [6912] DEBUG - [com.plexapp.plugins.ibn] Sending command over HTTP (GET): /video/ibntv/:/function/Lookup?function_args=Y2VyZWFsMQoxCmRpY3QKNQpzMQoxczIKaWRzMwpmbHZzNAp0eXBlczU0Cmh0dHA6Ly9jcmljc2NvcmVhcHBsZXQuc291cmNlZm9yZ2UubmV0L3NjcmVlbnNob3QyLmpwZ3M1CnRodW1iczQKZmx2MXMxMApyYXRpbmdfa2V5czUKdGl0bGVzNQp0aXRsZXIwCg__<br />
Feb 05, 2013 20:54:16:267 [6872] DEBUG - Plug-in com.plexapp.plugins.ibn has been used 278 times.<br />
Feb 05, 2013 20:54:16:268 [6872] DEBUG - [com.plexapp.plugins.ibn] Sending command over HTTP (GET): /video/ibntv<br />
Feb 05, 2013 20:54:16:268 [6912] DEBUG - HTTP requesting to: http://127.0.0.1:60986/video/ibntv/:/function/Lookup?function_args=Y2VyZWFsMQoxCmRpY3QKNQpzMQoxczIKaWRzMwpmbHZzNAp0eXBlczU0Cmh0dHA6Ly9jcmljc2NvcmVhcHBsZXQuc291cmNlZm9yZ2UubmV0L3NjcmVlbnNob3QyLmpwZ3M1CnRodW1iczQKZmx2MXMxMApyYXRpbmdfa2V5czUKdGl0bGVzNQp0aXRsZXIwCg__<br />
Feb 05, 2013 20:54:16:268 [6872] DEBUG - HTTP requesting to: http://127.0.0.1:60986/video/ibntv<br />
Feb 05, 2013 20:54:16:326 [6936] DEBUG - Request: GET /:/plugins/com.plexapp.system/messaging/function/X1N0b3JlU2VydmljZTpJc0NoYW5uZWxCcm9rZW4_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMjMKY29tLnBsZXhhcHAucGx1Z2lucy5pYm5zMTAKaWRlbnRpZmllcnIwCg__ [127.0.0.1:61023] (4 live)<br />
Feb 05, 2013 20:54:16:326 [6936] DEBUG - [com.plexapp.system] Sending command over HTTP (GET): /:/plugins/com.plexapp.system/messaging/function/X1N0b3JlU2VydmljZTpJc0NoYW5uZWxCcm9rZW4_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMjMKY29tLnBsZXhhcHAucGx1Z2lucy5pYm5zMTAKaWRlbnRpZmllcnIwCg__<br />
Feb 05, 2013 20:54:16:327 [6936] DEBUG - HTTP requesting to: http://127.0.0.1:58479/:/plugins/com.plexapp.system/messaging/function/X1N0b3JlU2VydmljZTpJc0NoYW5uZWxCcm9rZW4_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMjMKY29tLnBsZXhhcHAucGx1Z2lucy5pYm5zMTAKaWRlbnRpZmllcnIwCg__<br />
Feb 05, 2013 20:54:16:333 [6912] DEBUG - [com.plexapp.plugins.ibn] HTTP reply status 304, with 0 bytes of content.<br />
Feb 05, 2013 20:54:16:350 [6936] DEBUG - [com.plexapp.system] HTTP reply status 200, with 32 bytes of content.<br />
Feb 05, 2013 20:54:16:368 [6872] DEBUG - [com.plexapp.plugins.ibn] HTTP reply status 304, with 0 bytes of content.<br />
Feb 05, 2013 20:54:16:563 [4272] DEBUG - Request: GET /video/:/transcode/segmented/start.m3u8?identifier=&key=http%3A%2F%2F127.0.0.1%3A32400%2Fvideo%2Fibntv%2F%3A%2Ffunction%2FLookup%3Ffunction_args%3DY2VyZWFsMQoxCmRpY3QKNQpzMQoxczIKaWRzMwpmbHZzNAp0eXBlczU0Cmh0dHA6Ly9jcmljc2NvcmVhcHBsZXQuc291cmNlZm9yZ2UubmV0L3NjcmVlbnNob3QyLmpwZ3M1CnRodW1iczQKZmx2MXMxMApyYXRpbmdfa2V5czUKdGl0bGVzNQp0aXRsZXIwCg__&url=http%3A%2F%2F127.0.0.1%3A32400%2Fvideo%2Fibntv%2F%3A%2Ffunction%2FPlayVideo%3Ffunction_args%3DY2VyZWFsMQoxCmRpY3QKMApyMAo_&session=tglgx6pybzb&offset=0&quality=7&subtitleSize=100&audioBoost=100&3g=0&X-Plex-Client-Identifier=tglgx6pybzb&X-Plex-Product=Web+Client&X-Plex-Device=Windows&X-Plex-Platform=Firefox&X-Plex-Platform-Version=18&X-Plex-Version=0.9.9.4&X-Plex-Access-Key=KQMIY6GATPC63AIMC4R2&X-Plex-Access-Code=L8hauefcKftUEoVyy%2BTFvW7NIAICcYabbB3TjWSQZMs%3D&X-Plex-Access-Time=1360115656&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%3A51%7D%3BaudioDecoders%3Dmp3%2Caac%7Bbitrate%3A160000%7D [127.0.0.1:61025] (2 live)<br />
Feb 05, 2013 20:54:16:563 [4272] DEBUG - * identifier => <br />
Feb 05, 2013 20:54:16:564 [4272] DEBUG - * key => http://127.0.0.1:32400/video/ibntv/:/function/Lookup?function_args=Y2VyZWFsMQoxCmRpY3QKNQpzMQoxczIKaWRzMwpmbHZzNAp0eXBlczU0Cmh0dHA6Ly9jcmljc2NvcmVhcHBsZXQuc291cmNlZm9yZ2UubmV0L3NjcmVlbnNob3QyLmpwZ3M1CnRodW1iczQKZmx2MXMxMApyYXRpbmdfa2V5czUKdGl0bGVzNQp0aXRsZXIwCg__<br />
Feb 05, 2013 20:54:16:564 [4272] DEBUG - * url => http://127.0.0.1:32400/video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_<br />
Feb 05, 2013 20:54:16:564 [4272] DEBUG - * session => tglgx6pybzb<br />
Feb 05, 2013 20:54:16:564 [4272] DEBUG - * offset => 0<br />
Feb 05, 2013 20:54:16:564 [4272] DEBUG - * quality => 7<br />
Feb 05, 2013 20:54:16:564 [4272] DEBUG - * subtitleSize => 100<br />
Feb 05, 2013 20:54:16:564 [4272] DEBUG - * audioBoost => 100<br />
Feb 05, 2013 20:54:16:564 [4272] DEBUG - * 3g => 0<br />
Feb 05, 2013 20:54:16:564 [4272] DEBUG - * X-Plex-Client-Identifier => tglgx6pybzb<br />
Feb 05, 2013 20:54:16:565 [4272] DEBUG - * X-Plex-Product => Web Client<br />
Feb 05, 2013 20:54:16:565 [4272] DEBUG - * X-Plex-Device => Windows<br />
Feb 05, 2013 20:54:16:565 [4272] DEBUG - * X-Plex-Platform => Firefox<br />
Feb 05, 2013 20:54:16:565 [4272] DEBUG - * X-Plex-Platform-Version => 18<br />
Feb 05, 2013 20:54:16:565 [4272] DEBUG - * X-Plex-Version => 0.9.9.4<br />
Feb 05, 2013 20:54:16:565 [4272] DEBUG - * X-Plex-Access-Key => KQMIY6GATPC63AIMC4R2<br />
Feb 05, 2013 20:54:16:565 [4272] DEBUG - * X-Plex-Access-Code => L8hauefcKftUEoVyy+TFvW7NIAICcYabbB3TjWSQZMs=<br />
Feb 05, 2013 20:54:16:565 [4272] DEBUG - * X-Plex-Access-Time => 1360115656<br />
Feb 05, 2013 20:54:16:565 [4272] 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:51};audioDecoders=mp3,aac{bitrate:160000}<br />
Feb 05, 2013 20:54:16:566 [4272] DEBUG - Cookie header in secure request: SESSION-GUID=tglgx6pybzb<br />
Feb 05, 2013 20:54:16:566 [4272] DEBUG - Checking cookie 'SESSION-GUID=tglgx6pybzb'<br />
Feb 05, 2013 20:54:16:566 [4272] DEBUG - Found session GUID of tglgx6pybzb in session start.<br />
Feb 05, 2013 20:54:16:566 [4272] DEBUG - Using session GUID tglgx6pybzb for new transcode session.<br />
Feb 05, 2013 20:54:16:567 [4272] DEBUG - Cleaning directory for session tglgx6pybzb (C:\Users\Atul\AppData\Local\Temp\plex-transcode-tglgx6pybzb-2151469f-b5b4-48e6-ac34-52310208c1aa)<br />
Feb 05, 2013 20:54:16:567 [4272] DEBUG - Saving session: tglgx6pybzb<br />
Feb 05, 2013 20:54:16:567 [4272] DEBUG - Adding cookie for security headers: 'SESSION-GUID=tglgx6pybzb'<br />
Feb 05, 2013 20:54:17:854 [6724] DEBUG - Request: GET /video/:/transcode/segmented/session/tglgx6pybzb/7/index.m3u8 [127.0.0.1:61026] (2 live)<br />
Feb 05, 2013 20:54:17:855 [6724] DEBUG - Starting a transcode session tglgx6pybzb at offset -1.0 (stopped=1)<br />
Feb 05, 2013 20:54:17:857 [6724] DEBUG - Setting up segmented session, quality=7<br />
Feb 05, 2013 20:54:17:858 [6724] DEBUG - Computed display width of 7.8"<br />
Feb 05, 2013 20:54:17:858 [6724] DEBUG - Video Stream copy => cp:av, vp:high, vr:1080, vl:51<br />
Feb 05, 2013 20:54:17:859 [6724] DEBUG - Audio Stream copy => ac:mp3,aac=160000<br />
Feb 05, 2013 20:54:17:859 [6724] DEBUG - Job running: C:\Program Files (x86)\Plex\Plex Media Server\PlexTranscoder.exe transcode "http://127.0.0.1:32400/video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_" "C:\Users\Atul\AppData\Local\Temp\plex-transcode-tglgx6pybzb-2151469f-b5b4-48e6-ac34-52310208c1aa\media" 7 4 0 any nil 0 yes UTF-8 default "" "" 0.75 av high 1080 51 mp3,aac=160000 3355443 yes "" no "http://127.0.0.1:32400/video/:/transcode/session/tglgx6pybzb/progress" <br />
Feb 05, 2013 20:54:20:374 [1400] DEBUG - [Transcoder] Starting transcoder v306 (t=4s, q=7)<br />
Feb 05, 2013 20:54:20:388 [3712] DEBUG - [Transcoder] Registered components, about to parse arguments.<br />
Feb 05, 2013 20:54:20:392 [6484] DEBUG - [Transcoder] Video caps: ca=1, cv=1, ac=libmp3lame, mp3=0, aac=160000,1, ac3=-1, dts=-1, pcm=-1, vp=64, vr=1080, vl=51, mss=3355443, anam=1<br />
Feb 05, 2013 20:54:20:396 [8924] DEBUG - [Transcoder] About to apply initial settings.<br />
Feb 05, 2013 20:54:20:399 [4732] DEBUG - [Transcoder] Opening the input file.<br />
Feb 05, 2013 20:54:20:403 [1984] DEBUG - Request: GET /video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_ [127.0.0.1:61033] (3 live)<br />
Feb 05, 2013 20:54:20:404 [1984] DEBUG - * function_args => Y2VyZWFsMQoxCmRpY3QKMApyMAo_<br />
Feb 05, 2013 20:54:20:404 [1984] DEBUG - Plug-in com.plexapp.plugins.ibn has been used 279 times.<br />
Feb 05, 2013 20:54:20:404 [1984] DEBUG - [com.plexapp.plugins.ibn] Sending command over HTTP (GET): /video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_<br />
Feb 05, 2013 20:54:20:405 [1984] DEBUG - HTTP requesting to: http://127.0.0.1:60986/video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_<br />
Feb 05, 2013 20:54:20:429 [1984] DEBUG - [com.plexapp.plugins.ibn] HTTP reply status 302, with 0 bytes of content.<br />
Feb 05, 2013 20:54:22:339 [2188] DEBUG - Request: GET /video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_ [127.0.0.1:61037] (3 live)<br />
Feb 05, 2013 20:54:22:339 [2188] DEBUG - * function_args => Y2VyZWFsMQoxCmRpY3QKMApyMAo_<br />
Feb 05, 2013 20:54:22:339 [2188] DEBUG - Request range: 1073741820 to 0<br />
Feb 05, 2013 20:54:22:339 [2188] DEBUG - Plug-in com.plexapp.plugins.ibn has been used 280 times.<br />
Feb 05, 2013 20:54:22:340 [2188] DEBUG - [com.plexapp.plugins.ibn] Sending command over HTTP (GET): /video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_<br />
Feb 05, 2013 20:54:22:340 [2188] DEBUG - HTTP requesting to: http://127.0.0.1:60986/video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_<br />
Feb 05, 2013 20:54:22:355 [2188] DEBUG - [com.plexapp.plugins.ibn] HTTP reply status 302, with 0 bytes of content.<br />
Feb 05, 2013 20:54:22:438 [3036] DEBUG - Request: GET /video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_ [127.0.0.1:61040] (3 live)<br />
Feb 05, 2013 20:54:22:438 [3036] DEBUG - * function_args => Y2VyZWFsMQoxCmRpY3QKMApyMAo_<br />
Feb 05, 2013 20:54:22:438 [3036] DEBUG - Request range: 81 to 0<br />
Feb 05, 2013 20:54:22:439 [3036] DEBUG - Plug-in com.plexapp.plugins.ibn has been used 281 times.<br />
Feb 05, 2013 20:54:22:439 [3036] DEBUG - [com.plexapp.plugins.ibn] Sending command over HTTP (GET): /video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_<br />
Feb 05, 2013 20:54:22:440 [3036] DEBUG - HTTP requesting to: http://127.0.0.1:60986/video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_<br />
Feb 05, 2013 20:54:22:458 [3036] DEBUG - [com.plexapp.plugins.ibn] HTTP reply status 302, with 0 bytes of content.<br />
Feb 05, 2013 20:54:22:555 [9892] ERROR - [Transcoder] Exiting after failure.

```

  
  
 But when I open link in browser, it direct Http 200 with xflv response, I don't see url is being redirected in firebug or Httpfox. Any idea why PMS is getting 302? Anything to do with setting Http Headers?  
  
  
 Thanks,  
 Sachin.

---

<div class="post-metadata">

### Author: ![sander1](https://avatars.discourse-cdn.com/v4/letter/s/4bbf92/32.png) [@sander1](https://forums.plex.tv/u/sander1)
#### Post date: [February 6, 2013, 2:52am UTC](https://forums.plex.tv/t/newbie-http-flv-steaming-channel-development/28446/6 "2013-02-06T02:52:12Z")

</div>

The 302 is PMS redirecting to the video url - with the Redirect() in PlayVideo. This is normal behaviour.  
  
  
  
I forgot about this in my previous post, adding information to the MediaObject can help the client determine how to play back the video:

```auto

MediaObject(<br />
	parts = [PartObject(key=Callback(PlayVideo))],<br />
	video_resolution = '360',<br />
	container = 'flv',<br />
	video_codec = VideoCodec.H264,<br />
	audio_codec = AudioCodec.AAC,<br />
	audio_channels = 2,<br />
	optimized_for_streaming = True<br />
)

```

---

<div class="post-metadata">

### Author: ![sacdroid](https://avatars.discourse-cdn.com/v4/letter/s/54ee81/32.png) [@sacdroid](https://forums.plex.tv/u/sacdroid)
#### Post date: [February 6, 2013, 4:08am UTC](https://forums.plex.tv/t/newbie-http-flv-steaming-channel-development/28446/7 "2013-02-06T04:08:45Z")

</div>

> [@](#):
>
> The 302 is PMS redirecting to the video url - with the Redirect() in PlayVideo. This is normal behaviour.  
>   
> I forgot about this in my previous post, adding information to the MediaObject can help the client determine how to play back the video:  
> 
> ```auto
> 
> MediaObject(<br />
> parts = [PartObject(key=Callback(PlayVideo))],<br />
> video_resolution = '360',<br />
> container = 'flv',<br />
> video_codec = VideoCodec.H264,<br />
> audio_codec = AudioCodec.AAC,<br />
> audio_channels = 2,<br />
> optimized_for_streaming = True<br />
> )
> 
> ```

  
  
I don't see "[Transcoder] Exiting after failure" error in log anymore but player fails to load media with "Error loading player: No playable sources found" error.

---

<div class="post-metadata">

### Author: ![sacdroid](https://avatars.discourse-cdn.com/v4/letter/s/54ee81/32.png) [@sacdroid](https://forums.plex.tv/u/sacdroid)
#### Post date: [February 6, 2013, 5:06am UTC](https://forums.plex.tv/t/newbie-http-flv-steaming-channel-development/28446/8 "2013-02-06T05:06:03Z")

</div>

> [@](#):
>
> I don't see "[Transcoder] Exiting after failure" error in log anymore but player fails to load media with "Error loading player: No playable sources found" error.

  
  
  
  
Media Container xml,  
  

```auto

<MediaContainer title1="IBN TV" art="/:/plugins/com.plexapp.plugins.ibn/resources/art-default.jpg?t=1352137634" size="1" identifier="com.plexapp.plugins.ibn" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1358648992"><br />
  <Video key="/video/ibntv/:/function/Lookup?function_args=Y2VyZWFsMQoxCmRpY3QKNQpzMQoxczIKaWRzMwpmbHZzNAp0eXBlczU0Cmh0dHA6Ly9jcmljc2NvcmVhcHBsZXQuc291cmNlZm9yZ2UubmV0L3NjcmVlbnNob3QyLmpwZ3M1CnRodW1iczQKZmx2MXMxMApyYXRpbmdfa2V5czUKdGl0bGVzNQp0aXRsZXIwCg__" type="clip" title="title" ratingKey="flv1" thumb="http://cricscoreapplet.sourceforge.net/screenshot2.jpg"><br />
    <Media audioChannels="2" container="flv" optimizedForStreaming="1" height="360" width="640" audioCodec="aac" videoCodec="h264" videoResolution="360"><br />
      <Part container="flv" key="/video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_" file="" optimizedForStreaming="1"><br />
        <Stream index="0" streamType="1" height="360" width="640" codec="h264" id="1"/><br />
        <Stream index="1" streamType="2" channels="2" codec="aac" id="2"/><br />
      </Part><br />
    </Media><br />
  </Video><br />
</MediaContainer><br />

```

  
  
I am suspecting file="" is causing "Error loading player: No playable sources found" error.

---

<div class="post-metadata">

### Author: ![sacdroid](https://avatars.discourse-cdn.com/v4/letter/s/54ee81/32.png) [@sacdroid](https://forums.plex.tv/u/sacdroid)
#### Post date: [February 6, 2013, 7:00am UTC](https://forums.plex.tv/t/newbie-http-flv-steaming-channel-development/28446/9 "2013-02-06T07:00:42Z")

</div>

After some changes in code, Plex Desktop client can play video(it does not need transcoding) but it fails on Roku XS as transcoder keeps crashing. I tried transcoder running from command line,

```auto

C:\Program Files (x86)\Plex\Plex Media Server>PlexTranscoder.exe transcode "http<br />
://127.0.0.1:32400/video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCm<br />
RpY3QKMApyMAo_" "C:\Users\Atul\AppData\Local\Temp\plex-transcode-2749c518-0647-4<br />
6c7-ba34-d3501f67bfa5-1a31fb5a-d323-4c9a-bda8-36297c227b9a\media" 8 10 0 any nil<br />
 0 yes UTF-8 default "" "" 0.9375 av high 1080 40 aac,ac3 3355443 yes "" no "htt<br />
p://127.0.0.1:32400/video/:/transcode/session/2749c518-0647-46c7-ba34-d3501f67bf<br />
a5/progress"<br />
--> Continous Mode<br />
Starting transcoder v306 (t=10s, q=8)<br />
Registered components, about to parse arguments.<br />
Opening http://127.0.0.1:32400/video/ibntv/:/function/PlayVideo?function_args=Y2<br />
VyZWFsMQoxCmRpY3QKMApyMAo_, Video caps: ca=1, cv=1, ac=libvo_aacenc, mp3=-1, aac<br />
=0,1, ac3=0, dts=-1, pcm=-1, vp=64, vr=1080, vl=40, mss=3355443, anam=1<br />
About to apply initial settings.<br />
Opening the input file.<br />
Could not find codec parameters (Video: h264)<br />
[flv @ 036a8920] Could not find codec parameters (Audio: [0][0][0][0] / 0x0000,<br />
0 channels)<br />
[flv @ 036a8920] Estimating duration from bitrate, this may be inaccurate<br />
http://127.0.0.1:32400/video/ibntv/:/function/PlayVideo?function_args=Y2VyZWFsMQ<br />
oxCmRpY3QKMApyMAo_: could not find codec parameters<br />
Unable to configure input files.<br />
Exiting after failure.<br />
Shuting Down!<br />
C:\Program Files (x86)\Plex\Plex Media Server>

```

---

<div class="post-metadata">

### Author: ![sander1](https://avatars.discourse-cdn.com/v4/letter/s/4bbf92/32.png) [@sander1](https://forums.plex.tv/u/sander1)
#### Post date: [February 6, 2013, 11:37pm UTC](https://forums.plex.tv/t/newbie-http-flv-steaming-channel-development/28446/10 "2013-02-06T23:37:26Z")

</div>

> [@](#):
>
> I am suspecting file="" is causing "Error loading player: No playable sources found" error.

  
Hi,  
\*file\* being empty is normal.

---

<div class="post-metadata">

### Author: ![sacdroid](https://avatars.discourse-cdn.com/v4/letter/s/54ee81/32.png) [@sacdroid](https://forums.plex.tv/u/sacdroid)
#### Post date: [February 7, 2013, 12:08am UTC](https://forums.plex.tv/t/newbie-http-flv-steaming-channel-development/28446/11 "2013-02-07T00:08:09Z")

</div>

> [@](#):
>
> Hi,  
> \*file\* being empty is normal.

  
Got it, after checking other plugin's media container(for e.g. youtube) I figured it out. Also my plugin works fine on desktop client but it does not roku(it will my main platform) where transcoding is required.  
  
Where can I see exact transcoder errors? In log I only see "Exiting after failure.".  
  
Thanks for your help.  
  
Sachin.

---

<div class="post-metadata">

### Author: ![pradeepkg](https://avatars.discourse-cdn.com/v4/letter/p/e56c9b/32.png) [@pradeepkg](https://forums.plex.tv/u/pradeepkg)
#### Post date: [April 25, 2013, 4:34pm UTC](https://forums.plex.tv/t/newbie-http-flv-steaming-channel-development/28446/12 "2013-04-25T16:34:53Z")

</div>

Based on Sachin and Sander's inputs I started with a channel to stream Flash over HTTP. For test purposes I am using the same URL feed as Sachin is using.

I get the following error when playing video **Error loading player: No playable sources found**

```
def Lookup(title, thumb, streamType, streamID, rating_key):
    oc = ObjectContainer()
    oc.add(
        VideoClipObject(
            key=Callback(Lookup, title=title, thumb=thumb, streamType=streamType, streamID=streamID, rating_key=rating_key),
            title=title,
            thumb=thumb,
            rating_key=rating_key,
            items=[
                   MediaObject(
                               parts=[
                                      PartObject(key=Callback(PlayVideo))
                                      ],
                               video_resolution='360', 
                               container='flv', 
                               video_codec=VideoCodec.H264,
                               audio_codec=AudioCodec.AAC, 
                               audio_channels=2, 
                               optimized_for_streaming=True
                               )
                   ]
            )
        )

    return oc
    
def PlayVideo():
    return Redirect("http://bglive-a.bitgravity.com/web18/secure/feed03?e=2719319564%26h=4225779d9eb8c5199849c9aaea6500dc")
```

I removed the meta data for the MediaObject and the

```
def Lookup(title, thumb, streamType, streamID, rating_key):
    oc = ObjectContainer()
    oc.add(
        VideoClipObject(
            key=Callback(Lookup, title=title, thumb=thumb, streamType=streamType, streamID=streamID, rating_key=rating_key),
            title=title,
            thumb=thumb,
            rating_key=rating_key,
            items=[
                   MediaObject(
                               parts=[
                                      PartObject(key=Callback(PlayVideo))
                                      ]
                               )
                   ]
            )
        )

    return oc
```

I get **Cannot load M3U8: 404 not found**

```
Apr 25, 2013 11:33:23:874 [8696] DEBUG - HTTP requesting to: http://127.0.0.1:53831/video/ndtv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_
Apr 25, 2013 11:33:23:891 [8696] DEBUG - [com.plexapp.plugins.ndtv] HTTP reply status 302, with 0 bytes of content.
Apr 25, 2013 11:33:24:213 [10276] ERROR - [Transcoder] http://127.0.0.1:32400/video/ndtv/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMApyMAo_: could not find codec parameters
Apr 25, 2013 11:33:24:240 [9364] ERROR - PeekNamedPipe failed: 0x6d
```

Any help would be nice as I have tried the URL service approach too with similar results.

---

<div class="post-metadata">

### Author: ![system](https://global.discourse-cdn.com/plex/original/3X/2/a/2acb9765406f63293d357b4ec509ec39aa28f2ad.png) [@system](https://forums.plex.tv/u/system)
#### Post date: [December 20, 2019, 10:51pm UTC](https://forums.plex.tv/t/newbie-http-flv-steaming-channel-development/28446/13 "2019-12-20T22:51:08Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
