Hey folks, there is a new Podcast category for forums https://forums.plex.tv/categories/podcasts
If you have not already, we suggest setting your Plex username to something else rather than email which is displayed on your posts in forum. You can change the username at https://app.plex.tv/desktop#!/account
Welcome to our forums! Please take a few moments to read through our Community Guidelines (also conveniently linked in the header at the top of each page). There, you'll find guidelines on conduct, tips on getting the help you may be searching for, and more!

Plex Web External Player

kayomanikayomani Posts: 12Members ✭✭

Chrome doesn't come close to the picture quality of that provided by madvr based players such as MPDN or MPC-HC. This is a modification that adds another play button to the web interface which launches your selected media player with the item you selected to play in Plex. It'll also make it as viewed but has the limitation that it can't seek or set partial views. Its tested and built for Windows and Chrome but might work elsewhere.

https://github.com/Kayomani/PlexExternalPlayer

http://i.imgur.com/aM37t76.png

Comments

  • LlamaLlamaLampLlamaLlamaLamp Posts: 6Members, Plex Pass Plex Pass

    I've wanted this feature implemented for years! THANK YOU!!!

    I am yet to try it but I will shortly, a couple of questions however:
    Is the TamperMonkey script supposed to be installed on the PC running the Plex server or on the remote clients accessing the server? Or both?
    ...OR does this only work on the same PC that the server is running on? i.e. I have two computers. The first computer stores all my files and runs the Plex server and the other computer is connected to my home theatre. At the moment, if I want to watch something on the second computer I access a shared folder on the network and use MPC to open them.

    Thanks!

  • kayomanikayomani Posts: 12Members ✭✭

    Just on your client computer, it pulls the path to the file out of plex so ideally you add network shares to the plex server even if its a local file then it should just work. You can hack the script to replace paths if you don't want to do that I guess!

  • m1e1w1m1e1w1 Posts: 363Members, Plex Pass Plex Pass
    edited February 2016

    I have most of this figured out, but stuck on "Install the agent using the installer."
    by agent, i assume the github folder called agent? Where is the installer? more so, on windows... no .exe or .msi anywhere.

    running the file PlexExternalPlayer.js in command prompt just kicks back and error; "C:\PlexPlayer" is not recognized as an internal or external command. I placed the contents of the github repo @ C:\PlexPlayer and ran in command prompt as admin: c:>PlexPlayer c:\PlexPlayer\PlexExternalPlayer.js

    I have the 2 extra buttons in plex, Play Externally - broken (does nothing) and "open containing folder" - broken (does nothing)

    file paths are all \server\folder\movie\ in plex.

    stuck.

    Synology DS1511+ 5x4TB + DX513 5x4TB + DX513 5x4TB (For content) + 4TB External (For PMS Library)

    Dedicated Win 10 64bit PMS - 16GB RAM - intel i7 3770K @ 4.2Ghz (PMS App)
    2 Roku 2 XS, 3 Roku 2 XD, 2 Roku 3, 4 Chromecast
    11 Android Devices, 5 IDevices
    Using browsers - Chrome, Safari, Firefox, Internet Explorer

    130mb Down / 4mb Up

  • kayomanikayomani Posts: 12Members ✭✭
    edited February 2016

    On the Github page there is the releases tab, there is an installer on there. It'll not do anything until you install the agent.

    Also do not run the file using the command prompt, install the tampermonkey browser addon and it uses it.

  • m1e1w1m1e1w1 Posts: 363Members, Plex Pass Plex Pass

    @kayomani
    Thanks for referring that release tab for the windows executable. maybe reference that in the instruction line of the readme.md?

    Installing the agent with anti-virus enabled had a slew of problems. recommend disabling anti-virus / add plexesternalplayeragent.exe app to ignore scan list of whatever anti-virus app users may have. it breaks for me otherwise.

    I have the script setup with chrome / tampermonkey and the script is enabled. I have plexexternalplayeragent installed and running as administrator just in case. I have net framework 4.5 installed fully updated. I do have the 2 extra buttons in my plex web interface.

    I refreshed my plex page. I SHIFT+F5 Refreshed my plex page. I closed and reopened my browser to plex web. I loaded plex web via the IP address of the machine its installed (on local computer) and as localhost. I fully rebooted the computer, and ensured both the script and agent where running before loading plex web.

    Buttons do nothing.

    plex file path example:
    \SERVER\TV_Shows\The Show\Season 3\The Show S03E03 Episode Tile.mp4

    should work? file path issue? naming issue? other suggestions?

    Thanks.

    Synology DS1511+ 5x4TB + DX513 5x4TB + DX513 5x4TB (For content) + 4TB External (For PMS Library)

    Dedicated Win 10 64bit PMS - 16GB RAM - intel i7 3770K @ 4.2Ghz (PMS App)
    2 Roku 2 XS, 3 Roku 2 XD, 2 Roku 3, 4 Chromecast
    11 Android Devices, 5 IDevices
    Using browsers - Chrome, Safari, Firefox, Internet Explorer

    130mb Down / 4mb Up

  • kayomanikayomani Posts: 12Members ✭✭

    Really surprised you are having AV issues, what do you use? I'm not going to recommend people disable their as its not something people should encounter. Are you sure its not talking about the firewall (You need to let it through).

    Could you bring up the dev tools in chrome (f12) then click the play button and put here what it says on the console. I am going to guess you have a firewall issue perhaps. I really need to add a UI for errors at some point xD

  • m1e1w1m1e1w1 Posts: 363Members, Plex Pass Plex Pass
    edited February 2016

    here's the data you requested: looks like 2 lines of output. right after clicking external play.

    Plex External: Playing \\biologic-server\Anime\Anime and Cartoon Series and Shows\Phantasy Star Online 2- The Animation\Season 1\Phantasy.Star.Online.2.The.Animation.E01.avi
    
    Uncaught (in promise) Object {readyState: 4, responseHeaders: "", finalUrl: "http://localhost:7251/?protocol=1&item=%5C%5Cbiolo…tasy.Star.Online.2.The.Animation.E01.avi", status: 0, statusText: ""…} index.html:1
    

    Synology DS1511+ 5x4TB + DX513 5x4TB + DX513 5x4TB (For content) + 4TB External (For PMS Library)

    Dedicated Win 10 64bit PMS - 16GB RAM - intel i7 3770K @ 4.2Ghz (PMS App)
    2 Roku 2 XS, 3 Roku 2 XD, 2 Roku 3, 4 Chromecast
    11 Android Devices, 5 IDevices
    Using browsers - Chrome, Safari, Firefox, Internet Explorer

    130mb Down / 4mb Up

  • kayomanikayomani Posts: 12Members ✭✭

    I have updated to the userscript so it gives notifications including errors. I am going to guess it'll say it can't connect to the agent.

    Could you ensure you have the icon for the app in the task bar, check the windows firewall (http://www.c-sharpcorner.com/UploadFile/6cde20/allow-applications-through-firewall-in-windows-8/), if your AV also has a firewall you could also check its allowed through and/or also try turning it off whilst testing it.

  • m1e1w1m1e1w1 Posts: 363Members, Plex Pass Plex Pass

    Sure, tested with a fresh setup that includes your updated userscript.

    Windows firewall has Plex External Player Agent allowed. Anti-Virus disabled.

    GET http://localhost:32400/ 406 (Not Acceptable) [Connections] [Anonymous] is unavailable at http://localhost:32400/ (Status 406) [Connections] All connections to [Anonymous] failed [Connections] Retrying connection tests for [Anonymous] in 10 seconds [Servers] Found all servers = Primary Server, plex.tv [Connections] Testing all 1 connection(s) for [Anonymous] [Servers] Waiting for initial servers = [Anonymous] [Connections] Testing connection for [Anonymous] at http://localhost:32400/ Plex External: Playing \\biologic-server\Anime\Anime and Cartoon Series and Shows\Phantasy Star Online 2- The Animation\Season 1\Phantasy.Star.Online.2.The.Animation.E01.avi Uncaught (in promise) Object {readyState: 4, responseHeaders: "", finalUrl: "http://localhost:7251/?protocol=1&item=%5C%5Cbiolo…tasy.Star.Online.2.The.Animation.E01.avi", status: 0, statusText: ""…}

    That's a full chuck of code, from Chrome Browser console when i load plex/web to the episode, then click external play button. Nothing happens (broken).

    any of that still helpful? seems the same as before when i clicked external play button.

    Synology DS1511+ 5x4TB + DX513 5x4TB + DX513 5x4TB (For content) + 4TB External (For PMS Library)

    Dedicated Win 10 64bit PMS - 16GB RAM - intel i7 3770K @ 4.2Ghz (PMS App)
    2 Roku 2 XS, 3 Roku 2 XD, 2 Roku 3, 4 Chromecast
    11 Android Devices, 5 IDevices
    Using browsers - Chrome, Safari, Firefox, Internet Explorer

    130mb Down / 4mb Up

  • kayomanikayomani Posts: 12Members ✭✭
    edited February 2016

    Go to url on this page:

    http://pastebin.com/raw/rMZUux5v

    Does it do anything? Not completely sure you are using v1.4 of the script as you shouldn't be able to get uncaught promises anymore, did you refresh the page after updating?

    Do you use any sort of proxy?

  • denisb88denisb88 Posts: 77Members, Plex Pass Plex Pass

    Is it possible to launch agent on OSX ?

  • kayomanikayomani Posts: 12Members ✭✭

    It should work using mono if it doesn't let me know.

    I will eventually be able to do a native osx app once dotnetcore is a bit more final.

  • m1e1w1m1e1w1 Posts: 363Members, Plex Pass Plex Pass

    the past bin url gives me just a failed to load page.
    from the console in chrome, the Failed to load resource: the server responded with a status of 406 (Not Acceptable) showing is that the server can not provide the type of content specified.
    i manually added the plex external player agent to my windows firewall just in case, and disabled anti-virus active protection firewall.
    the other concern is all the [Connections] [Anonymous] is unavailable at http://192.168.11.25:32400/ (Status 406), or at localhost:32400 same thing.
    is that the user agent trying to connect to plex and failing?

    Synology DS1511+ 5x4TB + DX513 5x4TB + DX513 5x4TB (For content) + 4TB External (For PMS Library)

    Dedicated Win 10 64bit PMS - 16GB RAM - intel i7 3770K @ 4.2Ghz (PMS App)
    2 Roku 2 XS, 3 Roku 2 XD, 2 Roku 3, 4 Chromecast
    11 Android Devices, 5 IDevices
    Using browsers - Chrome, Safari, Firefox, Internet Explorer

    130mb Down / 4mb Up

  • naja_returnnaja_return Posts: 19Members ✭✭

    Did you design this program by assuming that user will access plex via URL localhost:32400 ?
    Coz I access via [serverip]:32400/web and right now the script keep getting path which is the local path of server (C:\Movie\movie.mkv) rather than network path (\server\c\movie\movie.mkv). And the external player agent popping up that the path is not exist.
    Everything works fine if I access on the server tho.

  • kayomanikayomani Posts: 12Members ✭✭
    edited February 2016

    The location of where you access plex from doesn't matter, it'll just get the location of the file from plex then it runs it. If its c:\file.mkv that'll be what it runs on your remote computer and of course it'll not work.

    You have two options
    1) Use network paths on plex so regardless of the pc you play it from it'll work.
    2) You can hack the script to convert the paths when you play an item on the remote computer (I Might add this as a feature so its not a hack if its requested by several people):

    Change

    var openItemOnAgent = function(path, id, openFolder) {
    if(openFolder){

    to

    var openItemOnAgent = function(path, id, openFolder) {
    path = path.replace('c:\\', '\\server\\share\\');
    if(openFolder){

  • naja_returnnaja_return Posts: 19Members ✭✭

    @kayomani said:
    The location of where you access plex from doesn't matter, it'll just get the location of the file from plex then it runs it. If its c:\file.mkv that'll be what it runs on your remote computer and of course it'll not work.

    You have two options
    1) Use network paths on plex so regardless of the pc you play it from it'll work.
    2) You can hack the script to convert the paths when you play an item on the remote computer (I Might add this as a feature so its not a hack if its requested by several people):

    Change

    var openItemOnAgent = function(path, id, openFolder) {
    if(openFolder){

    to

    var openItemOnAgent = function(path, id, openFolder) {
    path = path.replace('c:\\', '\\server\\share\\');
    if(openFolder){

    Thx for your suggestion. I use the first one and it works like charm but I have to match all my movies libraries again tho XD

    I just wondering as I use network path, do my PMS need to access those file through router? or it is smart enough to realized that the file actually store locally?

  • PiggeryJokeryPiggeryJokery Posts: 1Members, Plex Pass Plex Pass
    edited March 2016

    This is just what I wanted. Thanks! Works great

    FYI guys if you're on windows you don't need to install the extra software to map the shares, you can always just map a network drive and use the new drive letter replacement

  • LlamaLlamaLampLlamaLlamaLamp Posts: 6Members, Plex Pass Plex Pass

    @naja_return said:
    I just wondering as I use network path, do my PMS need to access those file through router? or it is smart enough to realized that the file actually store locally?

    If your PMS and files are located on the same computer and you use a network path, then no traffic will traverse your router. It'll all happen locally. You can test this by disabling your network adapter and then playing a video.

  • Music4AlMusic4Al Posts: 16Members ✭✭

    Your external player works fabulously, however I noticed that it disappears when using the PLEX WEB APP, one of the reasons I'm using the web app is because in the Music Library it will show multiple discs (Disc 1, Disc 2, etc...) whereas when I just use the Plex Media Server it will show your program but the , I have posted views of this situation with the music library where it just puts all the tracks on the album but doesn't handle discs, and I'm also showing the Video library (Music Videos) where you can see the problem. Any thoughts or an update to your great plugin would be appreciated.

    Thanks

    https://forums.plex.tv/discussion/308359/music-library-issue#latest

Sign In or Register to comment.