# play local mpegts

**URL:** <https://forums.plex.tv/t/play-local-mpegts/48895>\
**Category:** Dev/API Corner\
**Tags:** plugin-dev\
**Created:** [December 6, 2013, 1:25pm UTC](https://forums.plex.tv/t/play-local-mpegts/48895 "2013-12-06T13:25:59Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![maxefa](https://avatars.discourse-cdn.com/v4/letter/m/c67d28/32.png) [@maxefa](https://forums.plex.tv/u/maxefa)\
**Post date:** [December 6, 2013, 1:25pm UTC](https://forums.plex.tv/t/play-local-mpegts/48895/1 "2013-12-06T13:25:59Z")

</div>

when I try to play mpegts local file in a web client:

```
def Test(title):
	oc = ObjectContainer(title2=L(title), no_cache = True)
	oc.add(CreateVideoClipObject(
		url = "http://test",
		title = "Play local ts",
		thumb = R(ICON)
	))

```
if len(oc) < 1:
	return ObjectContainer(header="Empty", message="There aren't any items")
return oc

```

@route(PREFIX + ‘/createvideoclipobject’)  
def CreateVideoClipObject(url, title, thumb, container = False):  
vco = VideoClipObject(  
key = Callback(CreateVideoClipObject, url = url, title = title, thumb = thumb, container = True),  
rating\_key = url,  
title = title,  
thumb = thumb,  
summary = “Firts test”,  
items = [  
MediaObject(  
container = ‘mpegts’, # MP4, MKV, MOV, AVI  
video\_codec = VideoCodec.H264, # H264  
audio\_codec = AudioCodec.MP3, # ACC, MP3  
audio\_channels = 2, # 2, 6  
optimized\_for\_streaming = True,  
parts = [PartObject(key = Callback(PlayVideo, path=’/storage/video/20131205113648.ts’))]# HTTPLiveStreamURL(Callback(PlayStream, url=url)))],  
)  
]  
)  
if container:  
return ObjectContainer(objects = [vco])  
else:  
return vco

def PlayVideo(path):  
return Redirect(Stream.LocalFile(path))
```

I have a lot of errors in the log:

```
Dec 06, 2013 15:55:25 [0x7ff02ffff700] DEBUG - Request: GET /:/stream/38e2959e-6d9e-4dfc-ac8f-970f7293cc59.ts [172.16.1.5:37882] (5 live)
Dec 06, 2013 15:55:25 [0x7ff02ffff700] DEBUG - [com.plexapp.system] Sending command over HTTP (GET): /:/stream/token/38e2959e-6d9e-4dfc-ac8f-970f7293cc59.ts
Dec 06, 2013 15:55:25 [0x7ff02ffff700] DEBUG - HTTP requesting to: http://127.0.0.1:42850/:/stream/token/38e2959e-6d9e-4dfc-ac8f-970f7293cc59.ts
Dec 06, 2013 15:55:25 [0x7ff02ffff700] DEBUG - [com.plexapp.system] HTTP reply status 404, with 0 bytes of content.
Dec 06, 2013 15:55:25 [0x7ff02ffff700] ERROR - Error parsing content.
Dec 06, 2013 15:55:25 [0x7ff02ffff700] ERROR - Error parsing response from stream token request for token 38e2959e-6d9e-4dfc-ac8f-970f7293cc59.ts
Dec 06, 2013 15:55:25 [0x7ff02e7fc700] ERROR - [Transcoder] http://127.0.0.1:32400/video/acestreamclient/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMzIKL3N0b3JhZ2UvdmlkZW8vMjAxMzEyMDUxMTM2NDgudHNzNApwYXRocjAK&X-Plex-Token=BkNmfiDp9gP2y3n1Ky1z: Invalid data found when processing input
Dec 06, 2013 15:55:26 [0x7ff02effd700] ERROR - Failed to start session successfully.
```

I can not understand where the error

---

<div class="post-metadata">

**Author:** ![dane22](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/dane22/32/4389_2.png) [@dane22](https://forums.plex.tv/u/dane22)\
**Post date:** [December 6, 2013, 5:37pm UTC](https://forums.plex.tv/t/play-local-mpegts/48895/2 "2013-12-06T17:37:50Z")

</div>

Maybe this one:

[http://wiki.plexapp.com/index.php/Frequently\_Asked\_Questions#What\_is\_the\_best\_format\_for\_my\_video\_content.3F](http://wiki.plexapp.com/index.php/Frequently_Asked_Questions#What_is_the_best_format_for_my_video_content.3F)

/T

---

<div class="post-metadata">

**Author:** ![mikedm139](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/mikedm139/32/96909_2.png) [@mikedm139](https://forums.plex.tv/u/mikedm139)\
**Post date:** [December 6, 2013, 7:49pm UTC](https://forums.plex.tv/t/play-local-mpegts/48895/3 "2013-12-06T19:49:26Z")

</div>

AKAIK, Stream.LocalFile() was never really a “supported” method and has been deprecated. However, if you want to continue banging on it, try making your PlayVideo() indirect.

```
@indirect
def PlayVideo(path):
  return IndirectResponse(VideoClipObject, key=path)
```

---

<div class="post-metadata">

**Author:** ![dane22](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/dane22/32/4389_2.png) [@dane22](https://forums.plex.tv/u/dane22)\
**Post date:** [December 6, 2013, 9:51pm UTC](https://forums.plex.tv/t/play-local-mpegts/48895/4 "2013-12-06T21:51:46Z")

</div>

> AKAIK, Stream.LocalFile() was never really a "supported" method and has been deprecated. However, if you want to continue banging on it, try making your PlayVideo() indirect.
> 
> ```
> @indirect
> def PlayVideo(path):
> return IndirectResponse(VideoClipObject, key=path)
> ```

So not a problem streaming a ts file?

---

<div class="post-metadata">

**Author:** ![mikedm139](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/mikedm139/32/96909_2.png) [@mikedm139](https://forums.plex.tv/u/mikedm139)\
**Post date:** [December 7, 2013, 3:26am UTC](https://forums.plex.tv/t/play-local-mpegts/48895/5 "2013-12-07T03:26:21Z")

</div>

TS files are a bit of a hot topic. My understanding is that TS files themselves are not an issue. The ways in which some people want to use them, can be problematic. Specifically; DVD-structured Video\_TS folders or live streams/growing recordings from TV capture cards.  
On the other hand, it’s been quite a while since I did any messing with playback of local files via a plugin. That may prove to be a bigger problem than the file format. I need to do a little digging yet to see if there’s still any (unofficial) support for that.

---

<div class="post-metadata">

**Author:** ![maxefa](https://avatars.discourse-cdn.com/v4/letter/m/c67d28/32.png) [@maxefa](https://forums.plex.tv/u/maxefa)\
**Post date:** [December 8, 2013, 6:27pm UTC](https://forums.plex.tv/t/play-local-mpegts/48895/6 "2013-12-08T18:27:13Z")

</div>

> AKAIK, Stream.LocalFile() was never really a "supported" method and has been deprecated. However, if you want to continue banging on it, try making your PlayVideo() indirect.
> 
> ```
> @indirect
> def PlayVideo(path):
> return IndirectResponse(VideoClipObject, key=path)
> ```

Hello mikedm139,&nbsp;unfortunately it did not help

```
Dec 08, 2013 22:14:46 [0x7fb35effd700] DEBUG - Request: GET /video/:/transcode/universal/session/qaorwancvkc07ldi/base/index.m3u8 [172.16.1.18:51550] (5 live)
Dec 08, 2013 22:14:46 [0x7fb35effd700] INFO - Play+local+ts: unable to obtain value for video.width
Dec 08, 2013 22:14:46 [0x7fb35effd700] INFO - Play+local+ts: unable to obtain value for audio.bitrate
Dec 08, 2013 22:14:46 [0x7fb35effd700] DEBUG - Transcoding to hls/mpegts/h264/mp3
Dec 08, 2013 22:14:46 [0x7fb35effd700] DEBUG - Starting a transcode session qaorwancvkc07ldi at offset -1.0 (stopped=1)
Dec 08, 2013 22:14:46 [0x7fb35effd700] DEBUG - Job running: /usr/lib/plexmediaserver/Resources/Plex New Transcoder -i http://127.0.0.1:32400/storage/video/20131205113648.ts?X-Plex-Token=kBsBxoa2qfYKJx5sXwLe -threads 0 -y -segment_format mpegts -f segment -loglevel quiet -loglevel_plex error -map_metadata -1 -progressurl http://127.0.0.1:32400/video/:/transcode/session/qaorwancvkc07ldi/progress -vcodec libx264 -crf 17 -maxrate 3000k -bufsize 6000k -vsi 1920x1080 -preset veryfast -x264opts cabac=0:me=dia:subme=0:me_range=4:no_chroma_me:8x8dct=0:bframes=0:rc_lookahead=1:qcomp=0.50:qpmin=10:qpmax=51:qpstep=4:partitions=none:cabac=0 -flags -global_header -segment_time 1 -segment_start_number 0 -force_key_frames expr:gte(t,n_forced*1) -sn -acodec libmp3lame -ac 2 -aq 2 media-%05d.ts 
Dec 08, 2013 22:14:46 [0x7fb37d7fa700] DEBUG - Request: GET /storage/video/20131205113648.ts?X-Plex-Token=kBsBxoa2qfYKJx5sXwLe [127.0.0.1:48099] (5 live)
Dec 08, 2013 22:14:46 [0x7fb37d7fa700] DEBUG - * X-Plex-Token => kBsBxoa2qfYK1Jx5sXwLe
Dec 08, 2013 22:14:46 [0x7fb37d7fa700] DEBUG - We found auth token (kBsBxoa2qfYK1Jx5sXwLe), enabling token-based authentication.
Dec 08, 2013 22:14:46 [0x7fb37d7fa700] DEBUG - Came in with a super-token, authorization succeeded.
Dec 08, 2013 22:14:46 [0x7fb37dffb700] ERROR - [Transcoder] http://127.0.0.1:32400/storage/video/20131205113648.ts?X-Plex-Token=kBsBxoa2qfYK1Jx5sXwLe: Operation not permitted
Dec 08, 2013 22:14:47 [0x7fb35effd700] ERROR - Failed to start session successfully.
```

---

<div class="post-metadata">

**Author:** ![mikedm139](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/mikedm139/32/96909_2.png) [@mikedm139](https://forums.plex.tv/u/mikedm139)\
**Post date:** [December 8, 2013, 11:36pm UTC](https://forums.plex.tv/t/play-local-mpegts/48895/7 "2013-12-08T23:36:22Z")

</div>

Hmmm... I wonder if it would work if the Stream.LocalFile() is included in the IndirectResponse:

```
@indirect
def PlayVideo(path):
  return IndirectResponse(VideoClipObject, key=Stream.LocalFile(path))
```

---

<div class="post-metadata">

**Author:** ![maxefa](https://avatars.discourse-cdn.com/v4/letter/m/c67d28/32.png) [@maxefa](https://forums.plex.tv/u/maxefa)\
**Post date:** [December 10, 2013, 2:38pm UTC](https://forums.plex.tv/t/play-local-mpegts/48895/8 "2013-12-10T14:38:09Z")

</div>

> Hmmm... I wonder if it would work if the Stream.LocalFile() is included in the IndirectResponse:
> 
> ```
> @indirect
> def PlayVideo(path):
> return IndirectResponse(VideoClipObject, key=Stream.LocalFile(path))
> ```

it does not work

```
2013-12-10 18:30:22,859 (7fbca1ffb700) : CRITICAL (objects:73) - Exception setting attribute 'key' of object to http://172.16.1.5:32400/:/stream/2145e764-918c-4ca2-b640-e48b476f644f.ts (type: ) (most recent call last):
  File "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/modelling/objects.py", line 71, in _set_attribute
    el.set(convert_name(name), value)
  File "lxml.etree.pyx", line 699, in lxml.etree._Element.set (src/lxml/lxml.etree.c:34531)
  File "apihelpers.pxi", line 563, in lxml.etree._setAttributeValue (src/lxml/lxml.etree.c:15781)
  File "apihelpers.pxi", line 1364, in lxml.etree._utf8 (src/lxml/lxml.etree.c:22190)
TypeError: Argument must be bytes or unicode, got 'LocalFileStreamInitiator'
```

---

<div class="post-metadata">

**Author:** ![mikedm139](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/mikedm139/32/96909_2.png) [@mikedm139](https://forums.plex.tv/u/mikedm139)\
**Post date:** [December 10, 2013, 5:51pm UTC](https://forums.plex.tv/t/play-local-mpegts/48895/9 "2013-12-10T17:51:52Z")

</div>

i'm running out of ideas, but here's one more to try:

```
@indirect
def PlayVideo(path):
  return IndirectResponse(VideoClipObject, key=HTTPLiveStreamURL(Stream.LocalFile(path)))
```

---

<div class="post-metadata">

**Author:** ![mikedm139](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/mikedm139/32/96909_2.png) [@mikedm139](https://forums.plex.tv/u/mikedm139)\
**Post date:** [December 11, 2013, 5:26pm UTC](https://forums.plex.tv/t/play-local-mpegts/48895/10 "2013-12-11T17:26:32Z")

</div>

I just got confirmation that Stream.LocalFile() is in fact deprecated so, there's no point in messing with it any further. That being the case, you may be better off putting your efforts towards streamlining the addition of the mpegts files into your PMS library.

---

<div class="post-metadata">

**Author:** ![joecowboy](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/joecowboy/32/5537_2.png) [@joecowboy](https://forums.plex.tv/u/joecowboy)\
**Post date:** [December 13, 2013, 5:32am UTC](https://forums.plex.tv/t/play-local-mpegts/48895/11 "2013-12-13T05:32:21Z")

</div>

Playing around with the idea too,&nbsp;trying to get the ObjectContainer correct for it to work.&nbsp; I noticed you set container = False but this will not create an object container for it to show up on the client device title and summary blank.&nbsp; When I tried it on the Roku with your code setup it kept kicking me out of the Plex Channel,&nbsp; So I set the initial container = True and it didn't kick me out anymore. But, still not working properly:

Add&nbsp;the following statement to the&nbsp;bottom of Plex Meda Server Python file _ **docutils.py** _:  
&nbsp;

_ **#StreamKit** _

_ **Stream = Framework.api.streamkit.StreamKit** _  
&nbsp;

Found in: Resources\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework

Maker sure you restart Plex Media Server after you do this.

This will once again allow you to access local media streaming with the statement: _**Stream.LocalFile(path)&nbsp;**_

This statement&nbsp;creates a local URL&nbsp;to your local media&nbsp;file for the transcoder to use.  
&nbsp;

maxefa if you do this please post your functions so we can see how you got it to work.  
  
  
  
  
  
&nbsp;

---

<div class="post-metadata">

**Author:** ![joecowboy](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/joecowboy/32/5537_2.png) [@joecowboy](https://forums.plex.tv/u/joecowboy)\
**Post date:** [December 13, 2013, 9:46am UTC](https://forums.plex.tv/t/play-local-mpegts/48895/12 "2013-12-13T09:46:42Z")

</div>

_ **This is what I have so far and it errors:** _  
&nbsp;

```
####################################################################################################
@route(PREFIX + ‘/PlaybackDownloads’)
def PlaybackDownloads(title):

```
oc = ObjectContainer(title2=L(title), no_cache = True)

title = "Testing Playback"
summary = "This is a test of local streaming playback of file!!!!!"
thumb = ""
path = "C:\Documents and Settings\Administrator\Local Settings\Application Data\Plex Media Server\Plug-in Support\Data\com.plexapp.plugins.movie2k\Videos\Prisoners_1384394037.51.flv"

oc.add(MovieObject(
		title = title,
		summary = summary,
		thumb = Callback(GetThumb, url=thumb),
		rating_key = path,
		key = Callback(PlaybackDownloadDetails, path=path, title=title),
		items = MediaObjectsForURL(path)
		))

return oc

```

####################################################################################################  
@route(PREFIX + ‘/PlaybackDownloadDetails’)  
def PlaybackDownloadDetails(path, title):

```
oc = ObjectContainer(title2=title)

title = "Testing Playback"
summary = "This is a test of local streaming playback of file!!!!!"
thumb = ""

oc.add(MovieObject(
		title = title,
		summary = summary,
		thumb = Callback(GetThumb, url=thumb),
		rating_key = path,
		key = Callback(PlaybackDownloadDetails, path=path, title=title),
		items = MediaObjectsForURL(path)
		))

return oc

```

####################################################################################################  
@route(PREFIX + ‘/MediaObjectsForURL’)  
def MediaObjectsForURL(path):

```
obj = [MediaObject(
		video_frame_rate = "30",
		video_resolution = "1080",
		protocols = None,
		container = None,
		video_codec = None,
		audio_codec = None,
		bitrate = None,
		audio_channels = 2,
		optimized_for_streaming = True,
		parts = [PartObject(key=Callback(PlayVideo, path=path))]
	)]

return obj

```

###################################################################################################  
@route(PREFIX + ‘/PlayVideo’)  
def PlayVideo(path):

```
oc = ObjectContainer()

oc.add(VideoClipObject(
	items = [
			MediaObject(
				parts = [PartObject(key= Callback(CreateLocalURL, path=path))]
			)
    		]
))

return oc

```

###################################################################################################  
@route(PREFIX + ‘/CreateLocalURL’)  
def CreateLocalURL(path):  
return Stream.LocalFile(path)
```
_ **This is the Error from the plugin log:** _  
&nbsp;  
  
  

```
2013-12-13 04:01:37,892 (a64) : INFO (pipeinterface:25) - Entering run loop
2013-12-13 04:01:37,892 (a64) : DEBUG (runtime:717) - Handling request GET /:/prefixes
2013-12-13 04:01:37,892 (a64) : DEBUG (runtime:814) - Found route matching /:/prefixes
2013-12-13 04:01:37,907 (a64) : DEBUG (runtime:914) - Response: [200] MediaContainer, 441 bytes
2013-12-13 04:01:38,017 (878) : DEBUG (runtime:717) - Handling request GET /video/movie2k/PlaybackDownloads?title=Playback+Local+Test
2013-12-13 04:01:38,032 (878) : DEBUG (runtime:814) - Found route matching /video/movie2k/PlaybackDownloads
2013-12-13 04:01:38,032 (878) : WARNING (objectkit:199) - Media part has no streams - attempting to synthesize
2013-12-13 04:01:38,049 (878) : DEBUG (runtime:914) - Response: [200] MediaContainer, 1792 bytes
2013-12-13 04:01:40,549 (684) : DEBUG (runtime:717) - Handling request GET /video/movie2k/PlaybackDownloadDetails?path=C%3A%5CDocuments+and+Settings%5CAdministrator%5CLocal+Settings%5CApplication+Data%5CPlex+Media+Server%5CPlug-in+Support%5CData%5Ccom.plexapp.plugins.movie2k%5CVideos%5CPrisoners_1384394037.51.flv&title=Testing+Playback
2013-12-13 04:01:40,549 (684) : DEBUG (runtime:814) - Found route matching /video/movie2k/PlaybackDownloadDetails
2013-12-13 04:01:40,549 (684) : DEBUG (runtime:914) - Response: [200] MediaContainer, 1777 bytes
2013-12-13 04:01:42,690 (c20) : DEBUG (runtime:717) - Handling request GET /video/movie2k/PlaybackDownloadDetails?path=C%3A%5CDocuments%2Band%2BSettings%5CAdministrator%5CLocal%2BSettings%5CApplication%2BData%5CPlex%2BMedia%2BServer%5CPlug-in%2BSupport%5CData%5Ccom%2Eplexapp%2Eplugins%2Emovie2k%5CVideos%5CPrisoners_1384394037%2E51%2Eflv&title=Testing%2BPlayback
2013-12-13 04:01:42,704 (c20) : DEBUG (runtime:814) - Found route matching /video/movie2k/PlaybackDownloadDetails
2013-12-13 04:01:42,704 (c20) : DEBUG (runtime:914) - Response: [200] MediaContainer, 1805 bytes
2013-12-13 04:01:44,065 (ba8) : DEBUG (runtime:717) - Handling request GET /video/movie2k/PlaybackDownloadDetails?path=C%3A%5CDocuments%2Band%2BSettings%5CAdministrator%5CLocal%2BSettings%5CApplication%2BData%5CPlex%2BMedia%2BServer%5CPlug-in%2BSupport%5CData%5Ccom%2Eplexapp%2Eplugins%2Emovie2k%5CVideos%5CPrisoners_1384394037%2E51%2Eflv&title=Testing%2BPlayback
2013-12-13 04:01:44,065 (ba8) : DEBUG (runtime:814) - Found route matching /video/movie2k/PlaybackDownloadDetails
2013-12-13 04:01:44,065 (ba8) : DEBUG (runtime:914) - Response: [200] MediaContainer, 1805 bytes
2013-12-13 04:01:44,392 (e6c) : DEBUG (runtime:717) - Handling request GET /video/movie2k/PlayVideo?path=C%3A%5CDocuments%2Band%2BSettings%5CAdministrator%5CLocal%2BSettings%5CApplication%2BData%5CPlex%2BMedia%2BServer%5CPlug-in%2BSupport%5CData%5Ccom.plexapp.plugins.movie2k%5CVideos%5CPrisoners_1384394037.51.flv
2013-12-13 04:01:44,392 (e6c) : DEBUG (runtime:814) - Found route matching /video/movie2k/PlayVideo
2013-12-13 04:01:44,392 (e6c) : CRITICAL (core:561) - Exception when constructing response (most recent call last):
File “C:\Documents and Settings\Administrator\Local Settings\Application Data\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components\runtime.py”, line 941, in construct_response
el = result._to_xml()
File “C:\Documents and Settings\Administrator\Local Settings\Application Data\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\api\objectkit.py”, line 612, in _to_xml
el = Framework.modelling.objects.ModelInterfaceObjectContainer._to_xml(self)
File “C:\Documents and Settings\Administrator\Local Settings\Application Data\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\modelling\objects.py”, line 382, in _to_xml
root = Container._to_xml(self)
File “C:\Documents and Settings\Administrator\Local Settings\Application Data\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\modelling\objects.py”, line 139, in _to_xml
self._append_children(root, self._objects)
File “C:\Documents and Settings\Administrator\Local Settings\Application Data\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\modelling\objects.py”, line 145, in _append_children
el = obj._to_xml()
File “C:\Documents and Settings\Administrator\Local Settings\Application Data\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\api\objectkit.py”, line 496, in _to_xml
raise Framework.exceptions.AttributeException(‘If no URL is provided, the key and rating_key attributes must be set.’)
AttributeException: If no URL is provided, the key and rating_key attributes must be set.

2013-12-13 04:01:44,407 (e6c) : DEBUG (runtime:1017) - Unable to handle response type: \<class ‘Framework.modelling.objects.MediaContainer’\>  
2013-12-13 04:01:44,407 (e6c) : DEBUG (runtime:914) - Response: [500] MediaContainer, 0 bytes
```

---

<div class="post-metadata">

**Author:** ![mikedm139](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/mikedm139/32/96909_2.png) [@mikedm139](https://forums.plex.tv/u/mikedm139)\
**Post date:** [December 13, 2013, 2:09pm UTC](https://forums.plex.tv/t/play-local-mpegts/48895/13 "2013-12-13T14:09:03Z")

</div>

If your PlayVideo function is returning an object container, it needs the @indirect decorator.

```
@indirect
@route(...)
def PlayVideo(...):
```

---

<div class="post-metadata">

**Author:** ![joecowboy](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/joecowboy/32/5537_2.png) [@joecowboy](https://forums.plex.tv/u/joecowboy)\
**Post date:** [December 13, 2013, 7:12pm UTC](https://forums.plex.tv/t/play-local-mpegts/48895/14 "2013-12-13T19:12:46Z")

</div>

_ **Updated Code Per Mikedm139:** _  
&nbsp;

  

```
###################################################################################################
@indirect
def PlayVideo(path):

```
oc = ObjectContainer()

oc.add(VideoClipObject(
	items = [
			MediaObject(
				parts = [PartObject(key=Callback(CreateLocalURL, path=path))]
			)
    		]
))

return oc

```

###################################################################################################  
@route(PREFIX + ‘/CreateLocalURL’)  
def CreateLocalURL(path):  
return Redirect(Stream.LocalFile(path))
```

_**Plugin Log before changing Stream.LocalFile(path):**_  
&nbsp;

  

```
2013-12-13 13:06:42,921 (b44) : DEBUG (runtime:814) - Found route matching /video/movie2k/CreateLocalURL
2013-12-13 13:06:42,921 (b44) : DEBUG (networking:172) - Requesting 'http://127.0.0.1:32400/:/plugins/com.plexapp.system/messaging/function/X1N0cmVhbVNlcnZpY2U6UmVnaXN0ZXJMb2NhbEZpbGU_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMgpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aG5zNApzaXplcjAK'
2013-12-13 13:06:42,937 (b44) : DEBUG (runtime:1017) - Unable to handle response type: 
2013-12-13 13:06:42,937 (b44) : DEBUG (runtime:914) - Response: [500] LocalFileStreamInitiator, 0 bytes
```

_**Plugin Log after changing code to Redirect(Stream.LocalFile(path)):**_  
&nbsp;

  

```
2013-12-13 13:18:42,842 (8a8) : DEBUG (runtime:814) - Found route matching /video/movie2k/CreateLocalURL
2013-12-13 13:18:42,842 (8a8) : DEBUG (networking:172) - Requesting 'http://127.0.0.1:32400/:/plugins/com.plexapp.system/messaging/function/X1N0cmVhbVNlcnZpY2U6UmVnaXN0ZXJMb2NhbEZpbGU_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMgpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aG5zNApzaXplcjAK'
2013-12-13 13:18:42,872 (8a8) : DEBUG (networking:172) - Requesting 'http://127.0.0.1:32400/:/plugins/com.plexapp.system/messaging/function/X1N0cmVhbVNlcnZpY2U6SXNTdHJlYW1WYWxpZA __/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMzYKNDgwNjNlNWQtNTYwZS00NjY5LWFjNjctMjNhZTU4YjQxNWU3czQKdXVpZHIwCg__'
2013-12-13 13:18:42,936 (8a8) : DEBUG (runtime:914) - Response: [302] Redirect, 0 bytes
```

&nbsp;  
_ **Server log after changing code Transcoder kicks up then quits:** _  
&nbsp;

```
Dec 13, 2013 12:55:37:976 [2716] VERBOSE - Finished writing response for GET /video/movie2k, 0 bytes in 15516ms
Dec 13, 2013 12:55:37:976 [3880] VERBOSE - Completed request: GET /video/movie2k: 200
Dec 13, 2013 12:55:42:835 [1576] DEBUG - Request: GET /video/movie2k/PlaybackDownloads?title=Playback+Local+Test [192.168.1.131:55503] (3 live)
Dec 13, 2013 12:55:42:835 [1576] DEBUG - * title => Playback Local Test
Dec 13, 2013 12:55:42:835 [1576] DEBUG - Plug-in com.plexapp.plugins.movie2k has been used 2 times.
Dec 13, 2013 12:55:42:835 [1576] DEBUG - [com.plexapp.plugins.movie2k] Sending command over HTTP (GET): /video/movie2k/PlaybackDownloads?title=Playback+Local+Test
Dec 13, 2013 12:55:42:835 [1576] DEBUG - (Capabilities) Adding WebKit.
Dec 13, 2013 12:55:42:835 [1576] 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,webkit;audioDecoders=aac;videoPlayer={playsAnamorphic:no}' to plug-in.
Dec 13, 2013 12:55:42:835 [1576] DEBUG - HTTP requesting to: http://127.0.0.1:1361/video/movie2k/PlaybackDownloads?title=Playback+Local+Test
Dec 13, 2013 12:55:42:851 [1576] DEBUG - [com.plexapp.plugins.movie2k] HTTP reply status 200, with 2375 bytes of content.
Dec 13, 2013 12:55:42:851 [1576] VERBOSE - Completed request: GET /video/movie2k/PlaybackDownloads?title=Playback+Local+Test: 200
Dec 13, 2013 12:55:42:851 [2716] VERBOSE - Finished writing response for GET /video/movie2k/PlaybackDownloads?title=Playback+Local+Test, 0 bytes in 4906ms
Dec 13, 2013 12:55:44:898 [3104] DEBUG - Request: GET /video/movie2k/PlaybackDownloadDetails?path=C%3A%5CDocuments+and+Settings%5CAdministrator%5CLocal+Settings%5CApplication+Data%5CPlex+Media+Server%5CPlug-in+Support%5CData%5Ccom.plexapp.plugins.movie2k%5CVideos%5CPrisoners_1384394037.51.flv&title=Testing+Playback [192.168.1.131:55507] (3 live)
Dec 13, 2013 12:55:44:898 [3104] DEBUG - * path => C:\Documents and Settings\Administrator\Local Settings\Application Data\Plex Media Server\Plug-in Support\Data\com.plexapp.plugins.movie2k\Videos\Prisoners_1384394037.51.flv
Dec 13, 2013 12:55:44:898 [3104] DEBUG - * title => Testing Playback
Dec 13, 2013 12:55:44:898 [3104] DEBUG - Plug-in com.plexapp.plugins.movie2k has been used 3 times.
Dec 13, 2013 12:55:44:898 [3104] DEBUG - [com.plexapp.plugins.movie2k] Sending command over HTTP (GET): /video/movie2k/PlaybackDownloadDetails?path=C%3A%5CDocuments+and+Settings%5CAdministrator%5CLocal+Settings%5CApplication+Data%5CPlex+Media+Server%5CPlug-in+Support%5CData%5Ccom.plexapp.plugins.movie2k%5CVideos%5CPrisoners_1384394037.51.flv&title=Testing+Playback
Dec 13, 2013 12:55:44:898 [3104] DEBUG - (Capabilities) Adding WebKit.
Dec 13, 2013 12:55:44:898 [3104] 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,webkit;audioDecoders=aac;videoPlayer={playsAnamorphic:no}' to plug-in.
Dec 13, 2013 12:55:44:898 [3104] DEBUG - HTTP requesting to: http://127.0.0.1:1361/video/movie2k/PlaybackDownloadDetails?path=C%3A\Documents+and+Settings\Administrator\Local+Settings\Application+Data\Plex+Media+Server\Plug-in+Support\Data\com.plexapp.plugins.movie2k\Videos\Prisoners_1384394037.51.flv&title=Testing+Playback
Dec 13, 2013 12:55:44:914 [3104] DEBUG - [com.plexapp.plugins.movie2k] HTTP reply status 200, with 2360 bytes of content.
Dec 13, 2013 12:55:44:914 [3104] VERBOSE - Completed request: GET /video/movie2k/PlaybackDownloadDetails?path=C%3A%5CDocuments+and+Settings%5CAdministrator%5CLocal+Settings%5CApplication+Data%5CPlex+Media+Server%5CPlug-in+Support%5CData%5Ccom.plexapp.plugins.movie2k%5CVideos%5CPrisoners_1384394037.51.flv&title=Testing+Playback: 200
Dec 13, 2013 12:55:44:914 [2716] VERBOSE - Finished writing response for GET /video/movie2k/PlaybackDownloadDetails?path=C%3A%5CDocuments+and+Settings%5CAdministrator%5CLocal+Settings%5CApplication+Data%5CPlex+Media+Server%5CPlug-in+Support%5CData%5Ccom.plexapp.plugins.movie2k%5CVideos%5CPrisoners_1384394037.51.flv&title=Testing+Playback, 0 bytes in 2078ms
Dec 13, 2013 12:55:47:461 [1576] DEBUG - Request: GET /video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cyBhbmQgU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCBTZXR0aW5nc1xBcHBsaWNhdGlvbiBEYXRhXFBsZXggTWVkaWEgU2VydmVyXFBsdWctaW4gU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo=%7B%22audio_channels%22%3A%202%2C%20%22protocol%22%3A%20null%2C%20%22optimized_for_streaming%22%3A%20true%2C%20%22video_frame_rate%22%3A%20%2230%22%2C%20%22duration%22%3A%20null%2C%20%22height%22%3A%201080%2C%20%22width%22%3A%201920%2C%20%22container%22%3A%20null%2C%20%22audio_codec%22%3A%20null%2C%20%22aspect_ratio%22%3A%20null%2C%20%22video_codec%22%3A%20null%2C%20%22video_resolution%22%3A%20%221080%22%2C%20%22bitrate%22%3A%20null%7D [192.168.1.131:55509] (3 live)
Dec 13, 2013 12:55:47:461 [1576] DEBUG - * function_args => Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cyBhbmQgU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCBTZXR0aW5nc1xBcHBsaWNhdGlvbiBEYXRhXFBsZXggTWVkaWEgU2VydmVyXFBsdWctaW4gU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__
Dec 13, 2013 12:55:47:461 [1576] DEBUG - * indirect => 1
Dec 13, 2013 12:55:47:461 [1576] DEBUG - * mediaInfo => {"audio_channels": 2, "protocol": null, "optimized_for_streaming": true, "video_frame_rate": "30", "duration": null, "height": 1080, "width": 1920, "container": null, "audio_codec": null, "aspect_ratio": null, "video_codec": null, "video_resolution": "1080", "bitrate": null}
Dec 13, 2013 12:55:47:461 [1576] DEBUG - Plug-in com.plexapp.plugins.movie2k has been used 4 times.
Dec 13, 2013 12:55:47:461 [1576] DEBUG - [com.plexapp.plugins.movie2k] Sending command over HTTP (GET): /video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cyBhbmQgU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCBTZXR0aW5nc1xBcHBsaWNhdGlvbiBEYXRhXFBsZXggTWVkaWEgU2VydmVyXFBsdWctaW4gU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo=%7B%22audio_channels%22%3A%202%2C%20%22protocol%22%3A%20null%2C%20%22optimized_for_streaming%22%3A%20true%2C%20%22video_frame_rate%22%3A%20%2230%22%2C%20%22duration%22%3A%20null%2C%20%22height%22%3A%201080%2C%20%22width%22%3A%201920%2C%20%22container%22%3A%20null%2C%20%22audio_codec%22%3A%20null%2C%20%22aspect_ratio%22%3A%20null%2C%20%22video_codec%22%3A%20null%2C%20%22video_resolution%22%3A%20%221080%22%2C%20%22bitrate%22%3A%20null%7D
Dec 13, 2013 12:55:47:461 [1576] DEBUG - (Capabilities) Adding WebKit.
Dec 13, 2013 12:55:47:461 [1576] 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,webkit;audioDecoders=aac;videoPlayer={playsAnamorphic:no}' to plug-in.
Dec 13, 2013 12:55:47:461 [1576] DEBUG - HTTP requesting to: http://127.0.0.1:1361/video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cyBhbmQgU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCBTZXR0aW5nc1xBcHBsaWNhdGlvbiBEYXRhXFBsZXggTWVkaWEgU2VydmVyXFBsdWctaW4gU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo={"audio_channels"%3A%202%2C%20"protocol"%3A%20null%2C%20"optimized_for_streaming"%3A%20true%2C%20"video_frame_rate"%3A%20"30"%2C%20"duration"%3A%20null%2C%20"height"%3A%201080%2C%20"width"%3A%201920%2C%20"container"%3A%20null%2C%20"audio_codec"%3A%20null%2C%20"aspect_ratio"%3A%20null%2C%20"video_codec"%3A%20null%2C%20"video_resolution"%3A%20"1080"%2C%20"bitrate"%3A%20null}
Dec 13, 2013 12:55:47:492 [1576] DEBUG - [com.plexapp.plugins.movie2k] HTTP reply status 200, with 1694 bytes of content.
Dec 13, 2013 12:55:47:492 [1576] VERBOSE - Completed request: GET /video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cyBhbmQgU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCBTZXR0aW5nc1xBcHBsaWNhdGlvbiBEYXRhXFBsZXggTWVkaWEgU2VydmVyXFBsdWctaW4gU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo=%7B%22audio_channels%22%3A%202%2C%20%22protocol%22%3A%20null%2C%20%22optimized_for_streaming%22%3A%20true%2C%20%22video_frame_rate%22%3A%20%2230%22%2C%20%22duration%22%3A%20null%2C%20%22height%22%3A%201080%2C%20%22width%22%3A%201920%2C%20%22container%22%3A%20null%2C%20%22audio_codec%22%3A%20null%2C%20%22aspect_ratio%22%3A%20null%2C%20%22video_codec%22%3A%20null%2C%20%22video_resolution%22%3A%20%221080%22%2C%20%22bitrate%22%3A%20null%7D: 200
Dec 13, 2013 12:55:47:492 [2716] VERBOSE - Finished writing response for GET /video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cyBhbmQgU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCBTZXR0aW5nc1xBcHBsaWNhdGlvbiBEYXRhXFBsZXggTWVkaWEgU2VydmVyXFBsdWctaW4gU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo=%7B%22audio_channels%22%3A%202%2C%20%22protocol%22%3A%20null%2C%20%22optimized_for_streaming%22%3A%20true%2C%20%22video_frame_rate%22%3A%20%2230%22%2C%20%22duration%22%3A%20null%2C%20%22height%22%3A%201080%2C%20%22width%22%3A%201920%2C%20%22container%22%3A%20null%2C%20%22audio_codec%22%3A%20null%2C%20%22aspect_ratio%22%3A%20null%2C%20%22video_codec%22%3A%20null%2C%20%22video_resolution%22%3A%20%221080%22%2C%20%22bitrate%22%3A%20null%7D, 0 bytes in 2593ms
Dec 13, 2013 12:55:48:570 [3104] DEBUG - Request: HEAD /video/:/transcode/universal/start.m3u8?protocol=hls&path=http%3A%2F%2F127.0.0.1%3A32400%2Fvideo%2Fmovie2k%2FPlaybackDownloadDetails%3Fpath%3DC%253A%255CDocuments%2Band%2BSettings%255CAdministrator%255CLocal%2BSettings%255CApplication%2BData%255CPlex%2BMedia%2BServer%255CPlug-in%2BSupport%255CData%255Ccom.plexapp.plugins.movie2k%255CVideos%255CPrisoners_1384394037.51.flv%26title%3DTesting%2BPlayback&session=K0A146005800&waitForSegments=1&offset=0&directPlay=0&directStream=0&videoQuality=60&videoResolution=1920x1080&maxVideoBitrate=8000&subtitleSize=125&audioBoost=100&partIndex=0&X-Plex-Platform=Roku&X-Plex-Client-Profile-Extra=add-limitation%28scope%3DvideoCodec%26scopeName%3Dh264%26type%3DupperBound%26name%3Dvideo.level%26value%3D41%26isRequired%3Dtrue%29&X-Plex-Platform-Version=3.1&X-Plex-Version=2.6.9&X-Plex-Product=Plex%20for%20Roku&X-Plex-Device=Roku%20XD%7CS [192.168.1.131:55511] (2 live)
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * protocol => hls
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * path => http://127.0.0.1:32400/video/movie2k/PlaybackDownloadDetails?path=C%3A\Documents+and+Settings\Administrator\Local+Settings\Application+Data\Plex+Media+Server\Plug-in+Support\Data\com.plexapp.plugins.movie2k\Videos\Prisoners_1384394037.51.flv&title=Testing+Playback
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * session => K0A146005800
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * waitForSegments => 1
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * offset => 0
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * directPlay => 0
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * directStream => 0
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * videoQuality => 60
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * videoResolution => 1920x1080
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * maxVideoBitrate => 8000
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * subtitleSize => 125
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * audioBoost => 100
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * partIndex => 0
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * X-Plex-Platform => Roku
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * X-Plex-Client-Profile-Extra => add-limitation(scope=videoCodec&scopeName=h264&type=upperBound&name=video.level&value=41&isRequired=true)
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * X-Plex-Platform-Version => 3.1
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * X-Plex-Version => 2.6.9
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * X-Plex-Product => Plex for Roku
Dec 13, 2013 12:55:48:570 [3104] DEBUG - * X-Plex-Device => Roku XD|S
Dec 13, 2013 12:55:48:695 [3104] DEBUG - Using augmented profile Roku 3.x
Dec 13, 2013 12:55:48:695 [3104] DEBUG - Downloading document http://127.0.0.1:32400/video/movie2k/PlaybackDownloadDetails?path=C%3A\Documents%2Band%2BSettings\Administrator\Local%2BSettings\Application%2BData\Plex%2BMedia%2BServer\Plug-in%2BSupport\Data\com.plexapp.plugins.movie2k\Videos\Prisoners_1384394037.51.flv&title=Testing%2BPlayback
Dec 13, 2013 12:55:48:711 [3104] DEBUG - HTTP requesting to: http://127.0.0.1:32400/video/movie2k/PlaybackDownloadDetails?path=C%3A\Documents%2Band%2BSettings\Administrator\Local%2BSettings\Application%2BData\Plex%2BMedia%2BServer\Plug-in%2BSupport\Data\com.plexapp.plugins.movie2k\Videos\Prisoners_1384394037.51.flv&title=Testing%2BPlayback
Dec 13, 2013 12:55:48:711 [1576] DEBUG - Request: GET /video/movie2k/PlaybackDownloadDetails?path=C%3A%5CDocuments%2Band%2BSettings%5CAdministrator%5CLocal%2BSettings%5CApplication%2BData%5CPlex%2BMedia%2BServer%5CPlug-in%2BSupport%5CData%5Ccom%2Eplexapp%2Eplugins%2Emovie2k%5CVideos%5CPrisoners_1384394037%2E51%2Eflv&title=Testing%2BPlayback [127.0.0.1:1386] (3 live)
Dec 13, 2013 12:55:48:711 [1576] DEBUG - * path => C:\Documents+and+Settings\Administrator\Local+Settings\Application+Data\Plex+Media+Server\Plug-in+Support\Data\com.plexapp.plugins.movie2k\Videos\Prisoners_1384394037.51.flv
Dec 13, 2013 12:55:48:711 [1576] DEBUG - * title => Testing+Playback
Dec 13, 2013 12:55:48:711 [1576] DEBUG - Plug-in com.plexapp.plugins.movie2k has been used 5 times.
Dec 13, 2013 12:55:48:711 [1576] DEBUG - [com.plexapp.plugins.movie2k] Sending command over HTTP (GET): /video/movie2k/PlaybackDownloadDetails?path=C%3A%5CDocuments%2Band%2BSettings%5CAdministrator%5CLocal%2BSettings%5CApplication%2BData%5CPlex%2BMedia%2BServer%5CPlug-in%2BSupport%5CData%5Ccom%2Eplexapp%2Eplugins%2Emovie2k%5CVideos%5CPrisoners_1384394037%2E51%2Eflv&title=Testing%2BPlayback
Dec 13, 2013 12:55:48:711 [1576] DEBUG - (Capabilities) Adding WebKit.
Dec 13, 2013 12:55:48:711 [1576] DEBUG - (Capabilties) Passing down capabilities of 'protocols=http-streaming-video,webkit;videoDecoders=h264{profile:high&resolution:1080&level:41};audioDecoders=aac{bitrate:256&channels:2},ac3{channels:6}' to plug-in.
Dec 13, 2013 12:55:48:711 [1576] DEBUG - HTTP requesting to: http://127.0.0.1:1361/video/movie2k/PlaybackDownloadDetails?path=C%3A\Documents%2Band%2BSettings\Administrator\Local%2BSettings\Application%2BData\Plex%2BMedia%2BServer\Plug-in%2BSupport\Data\com.plexapp.plugins.movie2k\Videos\Prisoners_1384394037.51.flv&title=Testing%2BPlayback
Dec 13, 2013 12:55:48:727 [1576] DEBUG - [com.plexapp.plugins.movie2k] HTTP reply status 200, with 2374 bytes of content.
Dec 13, 2013 12:55:48:727 [1576] VERBOSE - Completed request: GET /video/movie2k/PlaybackDownloadDetails?path=C%3A%5CDocuments%2Band%2BSettings%5CAdministrator%5CLocal%2BSettings%5CApplication%2BData%5CPlex%2BMedia%2BServer%5CPlug-in%2BSupport%5CData%5Ccom%2Eplexapp%2Eplugins%2Emovie2k%5CVideos%5CPrisoners_1384394037%2E51%2Eflv&title=Testing%2BPlayback: 200
Dec 13, 2013 12:55:48:727 [2716] VERBOSE - Finished writing response for GET /video/movie2k/PlaybackDownloadDetails?path=C%3A%5CDocuments%2Band%2BSettings%5CAdministrator%5CLocal%2BSettings%5CApplication%2BData%5CPlex%2BMedia%2BServer%5CPlug-in%2BSupport%5CData%5Ccom%2Eplexapp%2Eplugins%2Emovie2k%5CVideos%5CPrisoners_1384394037%2E51%2Eflv&title=Testing%2BPlayback, 0 bytes in 156ms
Dec 13, 2013 12:55:48:742 [3104] DEBUG - Downloading document http://127.0.0.1:32400/video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo={"audio_channels"%3A%202%2C%20"protocol"%3A%20null%2C%20"optimized_for_streaming"%3A%20true%2C%20"video_frame_rate"%3A%20"30"%2C%20"duration"%3A%20null%2C%20"height"%3A%201080%2C%20"width"%3A%201920%2C%20"container"%3A%20null%2C%20"audio_codec"%3A%20null%2C%20"aspect_ratio"%3A%20null%2C%20"video_codec"%3A%20null%2C%20"video_resolution"%3A%20"1080"%2C%20"bitrate"%3A%20null}
Dec 13, 2013 12:55:48:742 [3104] DEBUG - HTTP requesting to: http://127.0.0.1:32400/video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo={"audio_channels"%3A%202%2C%20"protocol"%3A%20null%2C%20"optimized_for_streaming"%3A%20true%2C%20"video_frame_rate"%3A%20"30"%2C%20"duration"%3A%20null%2C%20"height"%3A%201080%2C%20"width"%3A%201920%2C%20"container"%3A%20null%2C%20"audio_codec"%3A%20null%2C%20"aspect_ratio"%3A%20null%2C%20"video_codec"%3A%20null%2C%20"video_resolution"%3A%20"1080"%2C%20"bitrate"%3A%20null}
Dec 13, 2013 12:55:48:742 [0360] DEBUG - Request: GET /video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo=%7B%22audio_channels%22%3A%202%2C%20%22protocol%22%3A%20null%2C%20%22optimized_for_streaming%22%3A%20true%2C%20%22video_frame_rate%22%3A%20%2230%22%2C%20%22duration%22%3A%20null%2C%20%22height%22%3A%201080%2C%20%22width%22%3A%201920%2C%20%22container%22%3A%20null%2C%20%22audio_codec%22%3A%20null%2C%20%22aspect_ratio%22%3A%20null%2C%20%22video_codec%22%3A%20null%2C%20%22video_resolution%22%3A%20%221080%22%2C%20%22bitrate%22%3A%20null%7D [127.0.0.1:1388] (3 live)
Dec 13, 2013 12:55:48:742 [0360] DEBUG - * function_args => Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__
Dec 13, 2013 12:55:48:742 [0360] DEBUG - * indirect => 1
Dec 13, 2013 12:55:48:742 [0360] DEBUG - * mediaInfo => {"audio_channels": 2, "protocol": null, "optimized_for_streaming": true, "video_frame_rate": "30", "duration": null, "height": 1080, "width": 1920, "container": null, "audio_codec": null, "aspect_ratio": null, "video_codec": null, "video_resolution": "1080", "bitrate": null}
Dec 13, 2013 12:55:48:742 [0360] DEBUG - Plug-in com.plexapp.plugins.movie2k has been used 6 times.
Dec 13, 2013 12:55:48:742 [0360] DEBUG - [com.plexapp.plugins.movie2k] Sending command over HTTP (GET): /video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo=%7B%22audio_channels%22%3A%202%2C%20%22protocol%22%3A%20null%2C%20%22optimized_for_streaming%22%3A%20true%2C%20%22video_frame_rate%22%3A%20%2230%22%2C%20%22duration%22%3A%20null%2C%20%22height%22%3A%201080%2C%20%22width%22%3A%201920%2C%20%22container%22%3A%20null%2C%20%22audio_codec%22%3A%20null%2C%20%22aspect_ratio%22%3A%20null%2C%20%22video_codec%22%3A%20null%2C%20%22video_resolution%22%3A%20%221080%22%2C%20%22bitrate%22%3A%20null%7D
Dec 13, 2013 12:55:48:742 [0360] DEBUG - (Capabilities) Adding WebKit.
Dec 13, 2013 12:55:48:742 [0360] DEBUG - (Capabilties) Passing down capabilities of 'protocols=http-streaming-video,webkit;videoDecoders=h264{profile:high&resolution:1080&level:41};audioDecoders=aac{bitrate:256&channels:2},ac3{channels:6}' to plug-in.
Dec 13, 2013 12:55:48:742 [0360] DEBUG - HTTP requesting to: http://127.0.0.1:1361/video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo={"audio_channels"%3A%202%2C%20"protocol"%3A%20null%2C%20"optimized_for_streaming"%3A%20true%2C%20"video_frame_rate"%3A%20"30"%2C%20"duration"%3A%20null%2C%20"height"%3A%201080%2C%20"width"%3A%201920%2C%20"container"%3A%20null%2C%20"audio_codec"%3A%20null%2C%20"aspect_ratio"%3A%20null%2C%20"video_codec"%3A%20null%2C%20"video_resolution"%3A%20"1080"%2C%20"bitrate"%3A%20null}
Dec 13, 2013 12:55:48:758 [0360] DEBUG - [com.plexapp.plugins.movie2k] HTTP reply status 200, with 1694 bytes of content.
Dec 13, 2013 12:55:48:758 [0360] VERBOSE - Completed request: GET /video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo=%7B%22audio_channels%22%3A%202%2C%20%22protocol%22%3A%20null%2C%20%22optimized_for_streaming%22%3A%20true%2C%20%22video_frame_rate%22%3A%20%2230%22%2C%20%22duration%22%3A%20null%2C%20%22height%22%3A%201080%2C%20%22width%22%3A%201920%2C%20%22container%22%3A%20null%2C%20%22audio_codec%22%3A%20null%2C%20%22aspect_ratio%22%3A%20null%2C%20%22video_codec%22%3A%20null%2C%20%22video_resolution%22%3A%20%221080%22%2C%20%22bitrate%22%3A%20null%7D: 200
Dec 13, 2013 12:55:48:758 [2716] VERBOSE - Finished writing response for GET /video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo=%7B%22audio_channels%22%3A%202%2C%20%22protocol%22%3A%20null%2C%20%22optimized_for_streaming%22%3A%20true%2C%20%22video_frame_rate%22%3A%20%2230%22%2C%20%22duration%22%3A%20null%2C%20%22height%22%3A%201080%2C%20%22width%22%3A%201920%2C%20%22container%22%3A%20null%2C%20%22audio_codec%22%3A%20null%2C%20%22aspect_ratio%22%3A%20null%2C%20%22video_codec%22%3A%20null%2C%20%22video_resolution%22%3A%20%221080%22%2C%20%22bitrate%22%3A%20null%7D, 0 bytes in 47ms
Dec 13, 2013 12:55:48:758 [3104] DEBUG - Transcoding to hls/mpegts/h264/aac
Dec 13, 2013 12:55:48:758 [3104] DEBUG - Found session GUID of K0A146005800 in session start.
Dec 13, 2013 12:55:48:758 [3104] DEBUG - Using session GUID K0A146005800 for new transcode session.
Dec 13, 2013 12:55:48:758 [3104] VERBOSE - [IDLE] Adding (0->1) work item transcoder - K0A146005800
Dec 13, 2013 12:55:48:758 [3104] VERBOSE - [IDLE] Server is now active
Dec 13, 2013 12:55:48:773 [3104] VERBOSE - [IDLE] * transcoder - K0A146005800 - 1 active item(s)
Dec 13, 2013 12:55:48:789 [3104] DEBUG - Cleaning directory for session K0A146005800 (C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\plex-transcode-K0A146005800-99d6c1e8-a771-49b0-8ab9-b170866d69af)
Dec 13, 2013 12:55:48:805 [3104] VERBOSE - Completed request: HEAD /video/:/transcode/universal/start.m3u8?protocol=hls&path=http%3A%2F%2F127.0.0.1%3A32400%2Fvideo%2Fmovie2k%2FPlaybackDownloadDetails%3Fpath%3DC%253A%255CDocuments%2Band%2BSettings%255CAdministrator%255CLocal%2BSettings%255CApplication%2BData%255CPlex%2BMedia%2BServer%255CPlug-in%2BSupport%255CData%255Ccom.plexapp.plugins.movie2k%255CVideos%255CPrisoners_1384394037.51.flv%26title%3DTesting%2BPlayback&session=K0A146005800&waitForSegments=1&offset=0&directPlay=0&directStream=0&videoQuality=60&videoResolution=1920x1080&maxVideoBitrate=8000&subtitleSize=125&audioBoost=100&partIndex=0: 200
Dec 13, 2013 12:55:48:805 [2716] VERBOSE - Finished writing response for HEAD /video/:/transcode/universal/start.m3u8?protocol=hls&path=http%3A%2F%2F127.0.0.1%3A32400%2Fvideo%2Fmovie2k%2FPlaybackDownloadDetails%3Fpath%3DC%253A%255CDocuments%2Band%2BSettings%255CAdministrator%255CLocal%2BSettings%255CApplication%2BData%255CPlex%2BMedia%2BServer%255CPlug-in%2BSupport%255CData%255Ccom.plexapp.plugins.movie2k%255CVideos%255CPrisoners_1384394037.51.flv%26title%3DTesting%2BPlayback&session=K0A146005800&waitForSegments=1&offset=0&directPlay=0&directStream=0&videoQuality=60&videoResolution=1920x1080&maxVideoBitrate=8000&subtitleSize=125&audioBoost=100&partIndex=0, 0 bytes in 1359ms
Dec 13, 2013 12:55:48:836 [1576] DEBUG - [roku] Starting to play transcoded video
Dec 13, 2013 12:55:48:836 [2716] VERBOSE - Finished writing response for GET /log?source=roku&level=3&message=Starting%20to%20play%20transcoded%20video, 0 bytes in 94ms
Dec 13, 2013 12:55:50:195 [0360] DEBUG - Request: GET /video/:/transcode/universal/start.m3u8?protocol=hls&path=http%3A%2F%2F127.0.0.1%3A32400%2Fvideo%2Fmovie2k%2FPlaybackDownloadDetails%3Fpath%3DC%253A%255CDocuments%2Band%2BSettings%255CAdministrator%255CLocal%2BSettings%255CApplication%2BData%255CPlex%2BMedia%2BServer%255CPlug-in%2BSupport%255CData%255Ccom.plexapp.plugins.movie2k%255CVideos%255CPrisoners_1384394037.51.flv%26title%3DTesting%2BPlayback&session=K0A146005800&waitForSegments=1&offset=0&directPlay=0&directStream=0&videoQuality=60&videoResolution=1920x1080&maxVideoBitrate=8000&subtitleSize=125&audioBoost=100&partIndex=0&X-Plex-Platform=Roku&X-Plex-Client-Profile-Extra=add-limitation%28scope%3DvideoCodec%26scopeName%3Dh264%26type%3DupperBound%26name%3Dvideo.level%26value%3D41%26isRequired%3Dtrue%29&X-Plex-Platform-Version=3.1&X-Plex-Version=2.6.9&X-Plex-Product=Plex%20for%20Roku&X-Plex-Device=Roku%20XD%7CS [192.168.1.131:55514] (4 live)
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * protocol => hls
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * path => http://127.0.0.1:32400/video/movie2k/PlaybackDownloadDetails?path=C%3A\Documents+and+Settings\Administrator\Local+Settings\Application+Data\Plex+Media+Server\Plug-in+Support\Data\com.plexapp.plugins.movie2k\Videos\Prisoners_1384394037.51.flv&title=Testing+Playback
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * session => K0A146005800
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * waitForSegments => 1
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * offset => 0
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * directPlay => 0
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * directStream => 0
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * videoQuality => 60
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * videoResolution => 1920x1080
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * maxVideoBitrate => 8000
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * subtitleSize => 125
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * audioBoost => 100
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * partIndex => 0
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * X-Plex-Platform => Roku
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * X-Plex-Client-Profile-Extra => add-limitation(scope=videoCodec&scopeName=h264&type=upperBound&name=video.level&value=41&isRequired=true)
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * X-Plex-Platform-Version => 3.1
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * X-Plex-Version => 2.6.9
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * X-Plex-Product => Plex for Roku
Dec 13, 2013 12:55:50:195 [0360] DEBUG - * X-Plex-Device => Roku XD|S
Dec 13, 2013 12:55:50:195 [0360] DEBUG - Using augmented profile Roku 3.x
Dec 13, 2013 12:55:50:195 [0360] DEBUG - Downloading document http://127.0.0.1:32400/video/movie2k/PlaybackDownloadDetails?path=C%3A\Documents%2Band%2BSettings\Administrator\Local%2BSettings\Application%2BData\Plex%2BMedia%2BServer\Plug-in%2BSupport\Data\com.plexapp.plugins.movie2k\Videos\Prisoners_1384394037.51.flv&title=Testing%2BPlayback
Dec 13, 2013 12:55:50:195 [0360] DEBUG - HTTP requesting to: http://127.0.0.1:32400/video/movie2k/PlaybackDownloadDetails?path=C%3A\Documents%2Band%2BSettings\Administrator\Local%2BSettings\Application%2BData\Plex%2BMedia%2BServer\Plug-in%2BSupport\Data\com.plexapp.plugins.movie2k\Videos\Prisoners_1384394037.51.flv&title=Testing%2BPlayback
Dec 13, 2013 12:55:50:211 [3104] DEBUG - Request: GET /video/movie2k/PlaybackDownloadDetails?path=C%3A%5CDocuments%2Band%2BSettings%5CAdministrator%5CLocal%2BSettings%5CApplication%2BData%5CPlex%2BMedia%2BServer%5CPlug-in%2BSupport%5CData%5Ccom%2Eplexapp%2Eplugins%2Emovie2k%5CVideos%5CPrisoners_1384394037%2E51%2Eflv&title=Testing%2BPlayback [127.0.0.1:1396] (3 live)
Dec 13, 2013 12:55:50:211 [3104] DEBUG - * path => C:\Documents+and+Settings\Administrator\Local+Settings\Application+Data\Plex+Media+Server\Plug-in+Support\Data\com.plexapp.plugins.movie2k\Videos\Prisoners_1384394037.51.flv
Dec 13, 2013 12:55:50:211 [3104] DEBUG - * title => Testing+Playback
Dec 13, 2013 12:55:50:211 [3104] DEBUG - Plug-in com.plexapp.plugins.movie2k has been used 7 times.
Dec 13, 2013 12:55:50:211 [3104] DEBUG - [com.plexapp.plugins.movie2k] Sending command over HTTP (GET): /video/movie2k/PlaybackDownloadDetails?path=C%3A%5CDocuments%2Band%2BSettings%5CAdministrator%5CLocal%2BSettings%5CApplication%2BData%5CPlex%2BMedia%2BServer%5CPlug-in%2BSupport%5CData%5Ccom%2Eplexapp%2Eplugins%2Emovie2k%5CVideos%5CPrisoners_1384394037%2E51%2Eflv&title=Testing%2BPlayback
Dec 13, 2013 12:55:50:211 [3104] DEBUG - (Capabilities) Adding WebKit.
Dec 13, 2013 12:55:50:211 [3104] DEBUG - (Capabilties) Passing down capabilities of 'protocols=http-streaming-video,webkit;videoDecoders=h264{profile:high&resolution:1080&level:41};audioDecoders=aac{bitrate:256&channels:2},ac3{channels:6}' to plug-in.
Dec 13, 2013 12:55:50:227 [3104] DEBUG - HTTP requesting to: http://127.0.0.1:1361/video/movie2k/PlaybackDownloadDetails?path=C%3A\Documents%2Band%2BSettings\Administrator\Local%2BSettings\Application%2BData\Plex%2BMedia%2BServer\Plug-in%2BSupport\Data\com.plexapp.plugins.movie2k\Videos\Prisoners_1384394037.51.flv&title=Testing%2BPlayback
Dec 13, 2013 12:55:50:336 [3104] DEBUG - [com.plexapp.plugins.movie2k] HTTP reply status 200, with 2374 bytes of content.
Dec 13, 2013 12:55:50:336 [3104] VERBOSE - Completed request: GET /video/movie2k/PlaybackDownloadDetails?path=C%3A%5CDocuments%2Band%2BSettings%5CAdministrator%5CLocal%2BSettings%5CApplication%2BData%5CPlex%2BMedia%2BServer%5CPlug-in%2BSupport%5CData%5Ccom%2Eplexapp%2Eplugins%2Emovie2k%5CVideos%5CPrisoners_1384394037%2E51%2Eflv&title=Testing%2BPlayback: 200
Dec 13, 2013 12:55:50:336 [2716] VERBOSE - Finished writing response for GET /video/movie2k/PlaybackDownloadDetails?path=C%3A%5CDocuments%2Band%2BSettings%5CAdministrator%5CLocal%2BSettings%5CApplication%2BData%5CPlex%2BMedia%2BServer%5CPlug-in%2BSupport%5CData%5Ccom%2Eplexapp%2Eplugins%2Emovie2k%5CVideos%5CPrisoners_1384394037%2E51%2Eflv&title=Testing%2BPlayback, 0 bytes in 328ms
Dec 13, 2013 12:55:50:336 [0360] DEBUG - Downloading document http://127.0.0.1:32400/video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo={"audio_channels"%3A%202%2C%20"protocol"%3A%20null%2C%20"optimized_for_streaming"%3A%20true%2C%20"video_frame_rate"%3A%20"30"%2C%20"duration"%3A%20null%2C%20"height"%3A%201080%2C%20"width"%3A%201920%2C%20"container"%3A%20null%2C%20"audio_codec"%3A%20null%2C%20"aspect_ratio"%3A%20null%2C%20"video_codec"%3A%20null%2C%20"video_resolution"%3A%20"1080"%2C%20"bitrate"%3A%20null}
Dec 13, 2013 12:55:50:336 [0360] DEBUG - HTTP requesting to: http://127.0.0.1:32400/video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo={"audio_channels"%3A%202%2C%20"protocol"%3A%20null%2C%20"optimized_for_streaming"%3A%20true%2C%20"video_frame_rate"%3A%20"30"%2C%20"duration"%3A%20null%2C%20"height"%3A%201080%2C%20"width"%3A%201920%2C%20"container"%3A%20null%2C%20"audio_codec"%3A%20null%2C%20"aspect_ratio"%3A%20null%2C%20"video_codec"%3A%20null%2C%20"video_resolution"%3A%20"1080"%2C%20"bitrate"%3A%20null}
Dec 13, 2013 12:55:50:367 [1576] DEBUG - Request: GET /video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo=%7B%22audio_channels%22%3A%202%2C%20%22protocol%22%3A%20null%2C%20%22optimized_for_streaming%22%3A%20true%2C%20%22video_frame_rate%22%3A%20%2230%22%2C%20%22duration%22%3A%20null%2C%20%22height%22%3A%201080%2C%20%22width%22%3A%201920%2C%20%22container%22%3A%20null%2C%20%22audio_codec%22%3A%20null%2C%20%22aspect_ratio%22%3A%20null%2C%20%22video_codec%22%3A%20null%2C%20%22video_resolution%22%3A%20%221080%22%2C%20%22bitrate%22%3A%20null%7D [127.0.0.1:1398] (3 live)
Dec 13, 2013 12:55:50:367 [1576] DEBUG - * function_args => Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__
Dec 13, 2013 12:55:50:367 [1576] DEBUG - * indirect => 1
Dec 13, 2013 12:55:50:367 [1576] DEBUG - * mediaInfo => {"audio_channels": 2, "protocol": null, "optimized_for_streaming": true, "video_frame_rate": "30", "duration": null, "height": 1080, "width": 1920, "container": null, "audio_codec": null, "aspect_ratio": null, "video_codec": null, "video_resolution": "1080", "bitrate": null}
Dec 13, 2013 12:55:50:367 [1576] DEBUG - Plug-in com.plexapp.plugins.movie2k has been used 8 times.
Dec 13, 2013 12:55:50:367 [1576] DEBUG - [com.plexapp.plugins.movie2k] Sending command over HTTP (GET): /video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo=%7B%22audio_channels%22%3A%202%2C%20%22protocol%22%3A%20null%2C%20%22optimized_for_streaming%22%3A%20true%2C%20%22video_frame_rate%22%3A%20%2230%22%2C%20%22duration%22%3A%20null%2C%20%22height%22%3A%201080%2C%20%22width%22%3A%201920%2C%20%22container%22%3A%20null%2C%20%22audio_codec%22%3A%20null%2C%20%22aspect_ratio%22%3A%20null%2C%20%22video_codec%22%3A%20null%2C%20%22video_resolution%22%3A%20%221080%22%2C%20%22bitrate%22%3A%20null%7D
Dec 13, 2013 12:55:50:367 [1576] DEBUG - (Capabilities) Adding WebKit.
Dec 13, 2013 12:55:50:367 [1576] DEBUG - (Capabilties) Passing down capabilities of 'protocols=http-streaming-video,webkit;videoDecoders=h264{profile:high&resolution:1080&level:41};audioDecoders=aac{bitrate:256&channels:2},ac3{channels:6}' to plug-in.
Dec 13, 2013 12:55:50:367 [1576] DEBUG - HTTP requesting to: http://127.0.0.1:1361/video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo={"audio_channels"%3A%202%2C%20"protocol"%3A%20null%2C%20"optimized_for_streaming"%3A%20true%2C%20"video_frame_rate"%3A%20"30"%2C%20"duration"%3A%20null%2C%20"height"%3A%201080%2C%20"width"%3A%201920%2C%20"container"%3A%20null%2C%20"audio_codec"%3A%20null%2C%20"aspect_ratio"%3A%20null%2C%20"video_codec"%3A%20null%2C%20"video_resolution"%3A%20"1080"%2C%20"bitrate"%3A%20null}
Dec 13, 2013 12:55:50:492 [1576] DEBUG - [com.plexapp.plugins.movie2k] HTTP reply status 200, with 1694 bytes of content.
Dec 13, 2013 12:55:50:492 [1576] VERBOSE - Completed request: GET /video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo=%7B%22audio_channels%22%3A%202%2C%20%22protocol%22%3A%20null%2C%20%22optimized_for_streaming%22%3A%20true%2C%20%22video_frame_rate%22%3A%20%2230%22%2C%20%22duration%22%3A%20null%2C%20%22height%22%3A%201080%2C%20%22width%22%3A%201920%2C%20%22container%22%3A%20null%2C%20%22audio_codec%22%3A%20null%2C%20%22aspect_ratio%22%3A%20null%2C%20%22video_codec%22%3A%20null%2C%20%22video_resolution%22%3A%20%221080%22%2C%20%22bitrate%22%3A%20null%7D: 200
Dec 13, 2013 12:55:50:492 [2716] VERBOSE - Finished writing response for GET /video/movie2k/:/function/PlayVideo?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__&indirect=1&mediaInfo=%7B%22audio_channels%22%3A%202%2C%20%22protocol%22%3A%20null%2C%20%22optimized_for_streaming%22%3A%20true%2C%20%22video_frame_rate%22%3A%20%2230%22%2C%20%22duration%22%3A%20null%2C%20%22height%22%3A%201080%2C%20%22width%22%3A%201920%2C%20%22container%22%3A%20null%2C%20%22audio_codec%22%3A%20null%2C%20%22aspect_ratio%22%3A%20null%2C%20%22video_codec%22%3A%20null%2C%20%22video_resolution%22%3A%20%221080%22%2C%20%22bitrate%22%3A%20null%7D, 0 bytes in 296ms
Dec 13, 2013 12:55:50:492 [0360] DEBUG - Transcoding to hls/mpegts/h264/aac
Dec 13, 2013 12:55:50:492 [0360] DEBUG - Found session GUID of K0A146005800 in session start.
Dec 13, 2013 12:55:50:492 [0360] DEBUG - Using session GUID K0A146005800 for new transcode session.
Dec 13, 2013 12:55:50:492 [0360] DEBUG - Using existing transcode session.
Dec 13, 2013 12:55:50:492 [0360] VERBOSE - Completed request: GET /video/:/transcode/universal/start.m3u8?protocol=hls&path=http%3A%2F%2F127.0.0.1%3A32400%2Fvideo%2Fmovie2k%2FPlaybackDownloadDetails%3Fpath%3DC%253A%255CDocuments%2Band%2BSettings%255CAdministrator%255CLocal%2BSettings%255CApplication%2BData%255CPlex%2BMedia%2BServer%255CPlug-in%2BSupport%255CData%255Ccom.plexapp.plugins.movie2k%255CVideos%255CPrisoners_1384394037.51.flv%26title%3DTesting%2BPlayback&session=K0A146005800&waitForSegments=1&offset=0&directPlay=0&directStream=0&videoQuality=60&videoResolution=1920x1080&maxVideoBitrate=8000&subtitleSize=125&audioBoost=100&partIndex=0: 200
Dec 13, 2013 12:55:50:492 [2716] VERBOSE - Finished writing response for GET /video/:/transcode/universal/start.m3u8?protocol=hls&path=http%3A%2F%2F127.0.0.1%3A32400%2Fvideo%2Fmovie2k%2FPlaybackDownloadDetails%3Fpath%3DC%253A%255CDocuments%2Band%2BSettings%255CAdministrator%255CLocal%2BSettings%255CApplication%2BData%255CPlex%2BMedia%2BServer%255CPlug-in%2BSupport%255CData%255Ccom.plexapp.plugins.movie2k%255CVideos%255CPrisoners_1384394037.51.flv%26title%3DTesting%2BPlayback&session=K0A146005800&waitForSegments=1&offset=0&directPlay=0&directStream=0&videoQuality=60&videoResolution=1920x1080&maxVideoBitrate=8000&subtitleSize=125&audioBoost=100&partIndex=0, 0 bytes in 1656ms
Dec 13, 2013 12:55:50:695 [3104] DEBUG - Request: GET /video/:/transcode/universal/session/K0A146005800/base/index.m3u8?protocol=hls&path=http%3A%2F%2F127.0.0.1%3A32400%2Fvideo%2Fmovie2k%2FPlaybackDownloadDetails%3Fpath%3DC%253A%255CDocuments%2Band%2BSettings%255CAdministrator%255CLocal%2BSettings%255CApplication%2BData%255CPlex%2BMedia%2BServer%255CPlug-in%2BSupport%255CData%255Ccom.plexapp.plugins.movie2k%255CVideos%255CPrisoners_1384394037.51.flv%26title%3DTesting%2BPlayback&session=K0A146005800&waitForSegments=1&offset=0&directPlay=0&directStream=0&videoQuality=60&videoResolution=1920x1080&maxVideoBitrate=8000&subtitleSize=125&audioBoost=100&partIndex=0&X-Plex-Platform=Roku&X-Plex-Client-Profile-Extra=add-limitation%28scope%3DvideoCodec%26scopeName%3Dh264%26type%3DupperBound%26name%3Dvideo.level%26value%3D41%26isRequired%3Dtrue%29&X-Plex-Platform-Version=3.1&X-Plex-Version=2.6.9&X-Plex-Product=Plex%20for%20Roku&X-Plex-Device=Roku%20XD%7CS [192.168.1.131:55515] (3 live)
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * protocol => hls
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * path => http://127.0.0.1:32400/video/movie2k/PlaybackDownloadDetails?path=C%3A\Documents+and+Settings\Administrator\Local+Settings\Application+Data\Plex+Media+Server\Plug-in+Support\Data\com.plexapp.plugins.movie2k\Videos\Prisoners_1384394037.51.flv&title=Testing+Playback
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * session => K0A146005800
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * waitForSegments => 1
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * offset => 0
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * directPlay => 0
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * directStream => 0
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * videoQuality => 60
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * videoResolution => 1920x1080
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * maxVideoBitrate => 8000
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * subtitleSize => 125
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * audioBoost => 100
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * partIndex => 0
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * X-Plex-Platform => Roku
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * X-Plex-Client-Profile-Extra => add-limitation(scope=videoCodec&scopeName=h264&type=upperBound&name=video.level&value=41&isRequired=true)
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * X-Plex-Platform-Version => 3.1
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * X-Plex-Version => 2.6.9
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * X-Plex-Product => Plex for Roku
Dec 13, 2013 12:55:50:695 [3104] DEBUG - * X-Plex-Device => Roku XD|S
Dec 13, 2013 12:55:50:695 [3104] DEBUG - Transcoding to hls/mpegts/h264/aac
Dec 13, 2013 12:55:50:695 [3104] DEBUG - Starting a transcode session K0A146005800 at offset -1.0 (stopped=1)
Dec 13, 2013 12:55:50:727 [3104] DEBUG - Clipped max bitrate to 8000Kbps based on limit.
Dec 13, 2013 12:55:50:742 [3104] VERBOSE - [Event] Firing plex.event.transcodesessionmanager.sessionstarted to 0 sink(s)
Dec 13, 2013 12:55:50:742 [3104] DEBUG - Job running: C:\Program Files\Plex\Plex Media Server\PlexNewTranscoder.exe -i "http://127.0.0.1:32400/video/movie2k/:/function/CreateLocalURL?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__" -threads 0 -y -segment_format mpegts -f segment -loglevel quiet -loglevel_plex error -map_metadata -1 -progressurl http://127.0.0.1:32400/video/:/transcode/session/K0A146005800/progress -vcodec libx264 -crf 20 -maxrate 8000k -bufsize 16000k -vsi 0x0 -preset veryfast -vsync 0 -x264opts cabac=0:me=hex:subme=0:me_range=4:8x8dct=1:bframes=0:rc_lookahead=1:subme=0:me_range=4:rc_lookahead=10:cabac=1 -flags -global_header -segment_time 1 -segment_start_number 0 -force_key_frames expr:gte(t,n_forced*1) -async 1 "-sn" -acodec aac -strict -2 -cutoff 15000 -ac 2 -ab 256k media-%05d.ts 
Dec 13, 2013 12:55:51:821 [1576] DEBUG - Request: GET /video/movie2k/:/function/CreateLocalURL?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__ [127.0.0.1:1400] (3 live)
Dec 13, 2013 12:55:51:821 [1576] DEBUG - * function_args => Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__
Dec 13, 2013 12:55:51:821 [1576] DEBUG - Plug-in com.plexapp.plugins.movie2k has been used 9 times.
Dec 13, 2013 12:55:51:821 [1576] DEBUG - [com.plexapp.plugins.movie2k] Sending command over HTTP (GET): /video/movie2k/:/function/CreateLocalURL?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__
Dec 13, 2013 12:55:51:821 [1576] DEBUG - HTTP requesting to: http://127.0.0.1:1361/video/movie2k/:/function/CreateLocalURL?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__
Dec 13, 2013 12:55:51:836 [0360] DEBUG - Request: GET /:/plugins/com.plexapp.system/messaging/function/X1N0cmVhbVNlcnZpY2U6UmVnaXN0ZXJMb2NhbEZpbGU_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMgpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aG5zNApzaXplcjAK [127.0.0.1:1402] (4 live)
Dec 13, 2013 12:55:51:836 [0360] DEBUG - [com.plexapp.system] Sending command over HTTP (GET): /:/plugins/com.plexapp.system/messaging/function/X1N0cmVhbVNlcnZpY2U6UmVnaXN0ZXJMb2NhbEZpbGU_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMgpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aG5zNApzaXplcjAK
Dec 13, 2013 12:55:51:836 [0360] DEBUG - HTTP requesting to: http://127.0.0.1:4358/:/plugins/com.plexapp.system/messaging/function/X1N0cmVhbVNlcnZpY2U6UmVnaXN0ZXJMb2NhbEZpbGU_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMgpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aG5zNApzaXplcjAK
Dec 13, 2013 12:55:51:852 [0360] DEBUG - [com.plexapp.system] HTTP reply status 200, with 68 bytes of content.
Dec 13, 2013 12:55:51:852 [0360] VERBOSE - Completed request: GET /:/plugins/com.plexapp.system/messaging/function/X1N0cmVhbVNlcnZpY2U6UmVnaXN0ZXJMb2NhbEZpbGU_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMgpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aG5zNApzaXplcjAK: 200
Dec 13, 2013 12:55:51:852 [2716] VERBOSE - Finished writing response for GET /:/plugins/com.plexapp.system/messaging/function/X1N0cmVhbVNlcnZpY2U6UmVnaXN0ZXJMb2NhbEZpbGU_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMgpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aG5zNApzaXplcjAK, 0 bytes in 31ms
Dec 13, 2013 12:55:51:867 [2788] DEBUG - Request: GET /:/plugins/com.plexapp.system/messaging/function/X1N0cmVhbVNlcnZpY2U6SXNTdHJlYW1WYWxpZA __/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMzYKNDdlYjBiNzktM2Q0Zi00ODZhLTk5YjMtZTk4MDExNjM3Y2E3czQKdXVpZHIwCg__ [127.0.0.1:1406] (4 live)
Dec 13, 2013 12:55:51:867 [2788] DEBUG - [com.plexapp.system] Sending command over HTTP (GET): /:/plugins/com.plexapp.system/messaging/function/X1N0cmVhbVNlcnZpY2U6SXNTdHJlYW1WYWxpZA __/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMzYKNDdlYjBiNzktM2Q0Zi00ODZhLTk5YjMtZTk4MDExNjM3Y2E3czQKdXVpZHIwCg__
Dec 13, 2013 12:55:51:867 [2788] DEBUG - HTTP requesting to: http://127.0.0.1:4358/:/plugins/com.plexapp.system/messaging/function/X1N0cmVhbVNlcnZpY2U6SXNTdHJlYW1WYWxpZA __/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMzYKNDdlYjBiNzktM2Q0Zi00ODZhLTk5YjMtZTk4MDExNjM3Y2E3czQKdXVpZHIwCg__
Dec 13, 2013 12:55:51:883 [2788] DEBUG - [com.plexapp.system] HTTP reply status 200, with 16 bytes of content.
Dec 13, 2013 12:55:51:883 [2788] VERBOSE - Completed request: GET /:/plugins/com.plexapp.system/messaging/function/X1N0cmVhbVNlcnZpY2U6SXNTdHJlYW1WYWxpZA __/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMzYKNDdlYjBiNzktM2Q0Zi00ODZhLTk5YjMtZTk4MDExNjM3Y2E3czQKdXVpZHIwCg__ : 200
Dec 13, 2013 12:55:51:883 [2716] VERBOSE - Finished writing response for GET /:/plugins/com.plexapp.system/messaging/function/X1N0cmVhbVNlcnZpY2U6SXNTdHJlYW1WYWxpZA __/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMzYKNDdlYjBiNzktM2Q0Zi00ODZhLTk5YjMtZTk4MDExNjM3Y2E3czQKdXVpZHIwCg__ , 0 bytes in 47ms
Dec 13, 2013 12:55:51:914 [1576] DEBUG - [com.plexapp.plugins.movie2k] HTTP reply status 302, with 0 bytes of content.
Dec 13, 2013 12:55:51:914 [1576] VERBOSE - Completed request: GET /video/movie2k/:/function/CreateLocalURL?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__: 302
Dec 13, 2013 12:55:51:914 [0360] DEBUG - Request: GET /:/stream/47eb0b79-3d4f-486a-99b3-e98011637ca7.flv [192.168.1.119:1412] (4 live)
Dec 13, 2013 12:55:51:914 [0360] DEBUG - [com.plexapp.system] Sending command over HTTP (GET): /:/stream/token/47eb0b79-3d4f-486a-99b3-e98011637ca7.flv
Dec 13, 2013 12:55:51:914 [0360] DEBUG - HTTP requesting to: http://127.0.0.1:4358/:/stream/token/47eb0b79-3d4f-486a-99b3-e98011637ca7.flv
Dec 13, 2013 12:55:52:024 [0360] DEBUG - [com.plexapp.system] HTTP reply status 404, with 0 bytes of content.
Dec 13, 2013 12:55:52:024 [0360] ERROR - Error parsing content.
Dec 13, 2013 12:55:52:055 [0360] ERROR - Error parsing response from stream token request for token 47eb0b79-3d4f-486a-99b3-e98011637ca7.flv
Dec 13, 2013 12:55:52:055 [0360] VERBOSE - Completed request: GET /:/stream/47eb0b79-3d4f-486a-99b3-e98011637ca7.flv: 500
Dec 13, 2013 12:55:52:102 [2788] ERROR - [Transcoder] http://127.0.0.1:32400/video/movie2k/:/function/CreateLocalURL?function_args=Y2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__: Invalid data found when processing input
Dec 13, 2013 12:55:52:102 [2716] VERBOSE - Finished writing response for GET /log?level=0&source=Transcoder&message=http%3A%2F%2F127.0.0.1%3A32400%2Fvideo%2Fmovie2k%2F%3A%2Ffunction%2FCreateLocalURL%3Ffunction_args%3DY2VyZWFsMQoxCmRpY3QKMQpzMTczCkM6XERvY3VtZW50cythbmQrU2V0dGluZ3NcQWRtaW5pc3RyYXRvclxMb2NhbCtTZXR0aW5nc1xBcHBsaWNhdGlvbitEYXRhXFBsZXgrTWVkaWErU2VydmVyXFBsdWctaW4rU3VwcG9ydFxEYXRhXGNvbS5wbGV4YXBwLnBsdWdpbnMubW92aWUya1xWaWRlb3NcUHJpc29uZXJzXzEzODQzOTQwMzcuNTEuZmx2czQKcGF0aHIwCg__%3A%20Invalid%20data%20found%20when%20processing%20input, 0 bytes in 188ms
Dec 13, 2013 12:55:52:133 [3104] ERROR - PeekNamedPipe failed: 0x6d
Dec 13, 2013 12:55:52:133 [3104] ERROR - Failed to start session successfully.
Dec 13, 2013 12:55:52:133 [3104] VERBOSE - Completed request: GET /video/:/transcode/universal/session/K0A146005800/base/index.m3u8?protocol=hls&path=http%3A%2F%2F127.0.0.1%3A32400%2Fvideo%2Fmovie2k%2FPlaybackDownloadDetails%3Fpath%3DC%253A%255CDocuments%2Band%2BSettings%255CAdministrator%255CLocal%2BSettings%255CApplication%2BData%255CPlex%2BMedia%2BServer%255CPlug-in%2BSupport%255CData%255Ccom.plexapp.plugins.movie2k%255CVideos%255CPrisoners_1384394037.51.flv%26title%3DTesting%2BPlayback&session=K0A146005800&waitForSegments=1&offset=0&directPlay=0&directStream=0&videoQuality=60&videoResolution=1920x1080&maxVideoBitrate=8000&subtitleSize=125&audioBoost=100&partIndex=0: 404
Dec 13, 2013 12:55:52:196 [1576] DEBUG - Request: GET /video/:/transcode/segmented/stop [192.168.1.131:55516] (4 live)
Dec 13, 2013 12:55:52:196 [1576] VERBOSE - Completed request: GET /video/:/transcode/segmented/stop: 200
Dec 13, 2013 12:55:52:196 [2716] VERBOSE - Finished writing response for GET /video/:/transcode/segmented/stop, 0 bytes in 94ms
Dec 13, 2013 12:55:52:196 [3056] DEBUG - * Cookie: SESSION-GUID=K0A146005800; expires=Thu, 13-Aug-2020 23:59:59 GMT; Path=/;
Dec 13, 2013 12:55:52:196 [3056] DEBUG - Killing job.
Dec 13, 2013 12:55:52:196 [3056] DEBUG - Job was already killed, not killing again.
Dec 13, 2013 12:55:52:196 [3056] DEBUG - Stopping transcode session K0A146005800
Dec 13, 2013 12:55:52:196 [3056] DEBUG - Cleaning directory for session K0A146005800 (C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\plex-transcode-K0A146005800-99d6c1e8-a771-49b0-8ab9-b170866d69af)
Dec 13, 2013 12:55:52:211 [3056] VERBOSE - [Event] Firing plex.event.transcodesessionmanager.idle to 0 sink(s)
Dec 13, 2013 12:55:52:211 [3056] DEBUG - Whacked session, 0 remaining.
Dec 13, 2013 12:55:52:211 [3056] DEBUG - It took 0.000000 sec to serialize a list with 0 elements.
Dec 13, 2013 12:55:52:211 [3056] VERBOSE - [IDLE] Removing (1->0) work item transcoder - K0A146005800
Dec 13, 2013 12:55:52:211 [3056] VERBOSE - [IDLE] Server is now idle
```

_ **Did decoded the URL from VERBOSE right after ERROR - Failed to start session successfully:** _

[http://127.0.0.1:32400/video/movie2k/PlaybackDownloadDetails?path=C%3A%5CDocuments+and+Settings%5CAdministrator%5CLocal+Settings%5CApplication+Data%5CPlex+Media+Server%5CPlug-in+Support%5CData%5Ccom.plexapp.plugins.movie2k%5CVideos%5CPrisoners\_1384394037.51.flv&title=Testing+Playback&session=K0A146005800&waitForSegments=1&offset=0&directPlay=0&directStream=0&videoQuality=60&videoResolution=1920x1080&maxVideoBitrate=8000&subtitleSize=125&audioBoost=100&partIndex=0](http://127.0.0.1:32400/video/movie2k/PlaybackDownloadDetails?path=C%3A%5CDocuments+and+Settings%5CAdministrator%5CLocal+Settings%5CApplication+Data%5CPlex+Media+Server%5CPlug-in+Support%5CData%5Ccom.plexapp.plugins.movie2k%5CVideos%5CPrisoners_1384394037.51.flv&title=Testing+Playback&session=K0A146005800&waitForSegments=1&offset=0&directPlay=0&directStream=0&videoQuality=60&videoResolution=1920x1080&maxVideoBitrate=8000&subtitleSize=125&audioBoost=100&partIndex=0)  
  
_ **This is the response and it looks like Plex Media Server is trying to pass another argument that does not exist as a parameter of the function:** _  
&nbsp;

```
<?xml version='1.0' encoding='utf-8'?>

  Traceback (most recent call last):
  File "C:\Documents and Settings\Administrator\Local Settings\Application Data\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components\runtime.py", line 840, in handle_request
    result = f(**d)
TypeError: PlaybackDownloadDetails() got an unexpected keyword argument 'maxVideoBitrate'
```

---

<div class="post-metadata">

**Author:** ![joecowboy](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/joecowboy/32/5537_2.png) [@joecowboy](https://forums.plex.tv/u/joecowboy)\
**Post date:** [December 13, 2013, 10:13pm UTC](https://forums.plex.tv/t/play-local-mpegts/48895/15 "2013-12-13T22:13:07Z")

</div>

_ **After modifying the PlaybackDownloadDetails:** _

```
####################################################################################################
@route(PREFIX + '/PlaybackDownloadDetails')
def PlaybackDownloadDetails(path, title, maxVideoBitrate=None, videoQuality=None, directPlay=None, audioBoost=None, partIndex=None, waitForSegments=None, session=None, offset=None, videoResolution=None, subtitleSize=None, directStream=None):
```

_ **I now get this as the ERROR - PeekNamedPipe failed: 0x6d before decoding the URL:** _

```

```

---

<div class="post-metadata">

**Author:** ![joecowboy](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/joecowboy/32/5537_2.png) [@joecowboy](https://forums.plex.tv/u/joecowboy)\
**Post date:** [December 14, 2013, 3:53am UTC](https://forums.plex.tv/t/play-local-mpegts/48895/16 "2013-12-14T03:53:19Z")

</div>

_ **Looking aback at the Plex Media Server Log posted previously, you will notice another error:** _

  

```
Dec 13, 2013 12:55:52:024 [0360] ERROR - Error parsing content.
Dec 13, 2013 12:55:52:055 [0360] ERROR - Error parsing response from stream token request for token 47eb0b79-3d4f-486a-99b3-e98011637ca7.flv
Dec 13, 2013 12:55:52:055 [0360] VERBOSE - Completed request: GET /:/stream/47eb0b79-3d4f-486a-99b3-e98011637ca7.flv: 500
```

_ **This is looking at the com.plexapp.system.log and you will see the error that's causing the above ERROR:** _

  

```
2013-12-13 21:30:15,006 (d88) : DEBUG (runtime:717) - Handling request GET /:/stream/token/97f187f4-7424-45f5-b4c9-3ead6c3d0ee5.flv
2013-12-13 21:30:15,006 (d88) : CRITICAL (core:561) - Exception matching route for path "/stream/token/97f187f4-7424-45f5-b4c9-3ead6c3d0ee5.flv" (most recent call last):
  File "C:\Documents and Settings\Administrator\Local Settings\Application Data\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components\runtime.py", line 464, in match_route
    raise Framework.exceptions.FrameworkException("No route found matching '%s'" % path)
FrameworkException: No route found matching '/stream/token/97f187f4-7424-45f5-b4c9-3ead6c3d0ee5.flv'

2013-12-13 21:30:15,006 (d88) : ERROR (runtime:843) - Could not find route matching /:/stream/token/97f187f4-7424-45f5-b4c9-3ead6c3d0ee5.flv  
2013-12-13 21:30:15,006 (d88) : DEBUG (runtime:914) - Response: [404] NoneType, 0 bytes  
2013-12-13 21:33:14,450 (868) : DEBUG (runtime:717) - Handling request GET /:/stream/token/97f187f4-7424-45f5-b4c9-3ead6c3d0ee5.flv  
2013-12-13 21:33:14,450 (868) : CRITICAL (core:561) - Exception matching route for path “/stream/token/97f187f4-7424-45f5-b4c9-3ead6c3d0ee5.flv” (most recent call last):  
File “C:\Documents and Settings\Administrator\Local Settings\Application Data\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components\runtime.py”, line 464, in match\_route  
raise Framework.exceptions.FrameworkException(“No route found matching ‘%s’” % path)  
FrameworkException: No route found matching ‘/stream/token/97f187f4-7424-45f5-b4c9-3ead6c3d0ee5.flv’

2013-12-13 21:33:14,450 (868) : ERROR (runtime:843) - Could not find route matching /:/stream/token/97f187f4-7424-45f5-b4c9-3ead6c3d0ee5.flv  
2013-12-13 21:33:14,450 (868) : DEBUG (runtime:914) - Response: [404] NoneType, 0 bytes
```

Question now is how do I add a rout for the /:/stream/? Should not have to set up a URL service for it, do we???&nbsp; :huh:

---

<div class="post-metadata">

**Author:** ![joecowboy](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/joecowboy/32/5537_2.png) [@joecowboy](https://forums.plex.tv/u/joecowboy)\
**Post date:** [December 14, 2013, 5:51pm UTC](https://forums.plex.tv/t/play-local-mpegts/48895/17 "2013-12-14T17:51:45Z")

</div>

Restarted Plex Media Server to get fresh log files. I noticed in the com.plexapp.system.log this Problem:

```
2013-12-14 11:03:40,625 (1b0) :  DEBUG (logkit:13) - Starting the stream service
2013-12-14 11:03:40,625 (1b0) :  CRITICAL (runtime:709) - Private handlers are no longer supported; couldn’t register <bound method StreamService.token_handler of <StreamService object at 0x03A3E050>>
```
Latest forum threads reporting this error though on Ubuntu:  
[https://forums.plexapp.com/index.php/topic/86842-missing-agents-after-fresh-install-in-ubuntu-1204/](https://forums.plexapp.com/index.php/topic/86842-missing-agents-after-fresh-install-in-ubuntu-1204/)  
  
Related thread that helped fix previous forum thread  
[https://forums.plexapp.com/index.php/topic/46409-plugins-not-runnable/page-2#entry296253](https://forums.plexapp.com/index.php/topic/46409-plugins-not-runnable/page-2#entry296253)  
  
Not real sure in my case what would cause the problem since I am running this on a virtual machine Windows XP professional service pack 3. No virus protection and firewall is off.

---

<div class="post-metadata">

**Author:** ![joecowboy](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/joecowboy/32/5537_2.png) [@joecowboy](https://forums.plex.tv/u/joecowboy)\
**Post date:** [December 14, 2013, 7:42pm UTC](https://forums.plex.tv/t/play-local-mpegts/48895/18 "2013-12-14T19:42:26Z")

</div>

Looking at this line from streamservice.py  
  
  
Core.runtime.add\_private\_request\_handler(self.token\_handler)  
  
  
Now looking at runtime.py at this method from class Runtime:

```
def add_private_request_handler(self, f):
self._core.log.critical(“Private handlers are no longer supported; couldn’t register %s”, str(f))
```
  
So now to figure out how to get streamservice.py up to date with current framework.  
  
  
Looking at messaging.py from Plex Media Server v0.9.0.21 it self.\_core.runtime.add\_private\_request\_handler(self.\_handle\_messaging\_request) and current messaging.py as a base…  
  
  
All it really looks like is they just removed that line and deleted the calling method \_handle\_messaging\_request.  
  
  
Need to figure out how to Modify this so that info the xml data for stream is returned when /:/stream/ is called so 500 Internal Server Error is not received.  
  

```
def token_handler(self, pathNouns, kwargs, context=None):
if len(pathNouns) == 6 and pathNouns[2] == ‘:’:
pathNouns = pathNouns[3:]
if len(pathNouns) == 3 and pathNouns[0] == ‘stream’ and pathNouns[1] == ‘token’:
uuid = pathNouns[2]
if ‘.’ in uuid:
uuid = uuid[:uuid.find(’.’)]
Log(“Returning info for stream ‘%s’”, uuid)
return self.stream_info(uuid)
```

---

<div class="post-metadata">

**Author:** ![joecowboy](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/joecowboy/32/5537_2.png) [@joecowboy](https://forums.plex.tv/u/joecowboy)\
**Post date:** [December 15, 2013, 6:35am UTC](https://forums.plex.tv/t/play-local-mpegts/48895/19 "2013-12-15T06:35:11Z")

</div>

This may not be exactly what the Plex Media Server devs like but it’s working now have to update two plugins:&nbsp; :blink:  
These two files go in the plug-ins folder and where Plex Media Server is installed:  
&nbsp;  
update _ **runtime.py** _ in Plex\Plex Media Server\Resources\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components  
update _ **runtime.py** _ in \Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components  
&nbsp;  
update _ **streamservice.py** _ in Plex\Plex Media Server\Resources\Plug-ins\System.bundle\Contents\Code  
update _ **streamservice.py** _ in \Plex Media Server\Plug-ins\System.bundle\Contents\Code  
&nbsp;  
Add&nbsp;the following statement to the&nbsp;bottom of Plex Meda Server Python file _ **docutils.py** found where Plex Media server is installed_:  
&nbsp;  
_ **#StreamKit** _  
_ **Stream = Framework.api.streamkit.StreamKit** _  
&nbsp;  
Found in: Plex\Plex Media Server\Resources\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework  
&nbsp;  
&nbsp;  
_**Test Code: Just pass in your path to your video and title. This is only a simple test and you can update and pass in the other info for MovieObject or change MovieObject to an EpisodeObject and change the meta data info too to your needs. If you want to you can put a loop in Playbackdownloads(title) to create multiple ObjectContiner to make a list to show up if you have multiple videos you want to choose from to playback.**_  
&nbsp;  
&nbsp;  
Just call the following by:  
&nbsp;  
title=“My Kick butt movies”  
&nbsp;  
PlaybackDownloads(title=title)  
&nbsp;

```
####################################################################################################
@route(PREFIX + ‘/PlaybackDownloads’)
def PlaybackDownloads(title):

```
oc = ObjectContainer(title2=L(title), no_cache = True)

title = "Testing Playback"
summary = "This is a test of local streaming playback of file!!!!!"
thumb = ""
path = "C:\Documents and Settings\Administrator\Local Settings\Application Data\Plex Media Server\Plug-in Support\Data\com.plexapp.plugins.movie2k\Videos\Prisoners_1384394037.51.flv"

oc.add(MovieObject(
		title = title,
		summary = summary,
		thumb = Callback(GetThumb, url=thumb),
		rating_key = path,
		key = Callback(PlaybackDownloadDetails, path=path, title=title, summary=summary, thumb=thumb),
		items = MediaObjectsForURL(path)
		))

return oc

```

####################################################################################################  
@route(PREFIX + ‘/PlaybackDownloadDetails’)  
def PlaybackDownloadDetails(path, title, summary, thumb, maxVideoBitrate=None, videoQuality=None, directPlay=None, audioBoost=None, partIndex=None, waitForSegments=None, session=None, offset=None, videoResolution=None, subtitleSize=None, directStream=None):

```
oc = ObjectContainer(title2=title)

oc.add(MovieObject(
		title = title,
		summary = summary,
		thumb = Callback(GetThumb, url=thumb),
		rating_key = path,
		key = Callback(PlaybackDownloadDetails, path=path, title=title, summary=summary, thumb=thumb),
		items = MediaObjectsForURL(path)
		))

return oc

```

####################################################################################################  
@route(PREFIX + ‘/MediaObjectsForURL’)  
def MediaObjectsForURL(path):

```
obj = [MediaObject(
		video_frame_rate = "30",
		video_resolution = "1080",
		protocols = None,
		container = Container.FLV,
		video_codec = VideoCodec.VP6,
		audio_codec = AudioCodec.MP3,
		bitrate = None,
		audio_channels = 2,
		optimized_for_streaming = True,
		parts = [PartObject(key=Callback(PlayVideo, path=path))]
	)]

return obj

```

###################################################################################################  
@indirect  
def PlayVideo(path):

```
oc = ObjectContainer()

oc.add(VideoClipObject(
	items = [
			MediaObject(
				parts = [PartObject(key=Callback(CreateLocalURL, path=path))]
			)
    		]
))

return oc

```

###################################################################################################  
@route(PREFIX + ‘/CreateLocalURL’)  
def CreateLocalURL(path, \*argparams, \*\*kwparams):  
return Redirect(Stream.LocalFile(path))
```
_ **You will see an error in com.plexapp.system.log but you can ignore this, but would be nice if fixed:** _  
&nbsp;  
  
  

```
File “C:\Documents and Settings\Administrator\Local Settings\Application Data\Plex Media Server\Plug-ins\Framework.bundle\Contents\Resources\Versions\2\Python\Framework\components\runtime.py”, line 464, in match_route
raise Framework.exceptions.FrameworkException(“No route found matching ‘%s’” % path)
FrameworkException: No route found matching ‘/stream/token/token’
```
_ **Now if I can get some feed back on this or a better way to fix this but it works now. :huh:&nbsp;** _

---

<div class="post-metadata">

**Author:** ![joecowboy](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/joecowboy/32/5537_2.png) [@joecowboy](https://forums.plex.tv/u/joecowboy)\
**Post date:** [December 16, 2013, 3:05am UTC](https://forums.plex.tv/t/play-local-mpegts/48895/20 "2013-12-16T03:05:41Z")

</div>

Hey Mikedm139,

Is there a way we can request the Devs of Plex Media Server to enable this feature again since there are several developers like myself wanting to use this?&nbsp; The code is actually still in Plex Media Server they just have to add access back to it. (That's all I did)&nbsp; What I created keeps wanting to trigger an update from I guess github an update to the two plugins.&nbsp; This works beautifully now and does exactly what I wanted to do playback the downloaded video files from with in the plugin.&nbsp; They don't have to create a class for it just stick it in docutils.py the Stream variable reference and call it like any other function/method.&nbsp; :huh:  
  
This code does have to be called within \_\_init\_\_.py or it will not kick up the transcoder.&nbsp; \<\_\<

And it will play the video files that are downloaded into the Plugins Data folder with out having to add a full path since it's in the plugins path.&nbsp; :lol:  
  
example:&nbsp; Plex Media Server\Plug-in Support\Data\com.plexapp.plugins.movie2k

and I have a sub folder so: &nbsp; path = "Videos ameofmovie.flv"

[Next page](https://forums.plex.tv/t/play-local-mpegts/48895.md?page=2)
