Plex @ aTV - think different...

Thanks for the DNS server remarks.

The problem is that I get this:

Last login: Fri May  3 16:13:31 on ttys000
-bash-3.2$ sudo /Users/newrobertsnow/PlexConnect-XML_templates/PlexConnect.py 
Password:
PlexConnect : ***
PlexConnect : PlexConnect
PlexConnect : Press ENTER to shut down.
PlexConnect : ***
DNSServer : ***
DNSServer : Starting up.
DNSServer : intercept: trailers.apple.com
.....
 
and when I click Trailers I get the message that Trailers is not available at this time.
 
mgworek! in post #104 above had the same message, but I have not seen a solution posted.

>> DNSServer : intercept: trailers.apple.com

Totally OK. This is just a status message, that the DNS server is running, catching those requests and rerouting them to your local machine.

How is your WebServer doing? Any logs from this side?

Are you running PlexConnect on the same machine as PlexMediaServer?

Is your PlexMediaServer up and running? Accessible using the IP/port as specified in settings?

As soon as I change the ATV DNS address to the Mac running PMS and PlexConnect.py it loses the ability to connect to Trailers athough other apps like Movies all work fine.

PMS and PlexConnect are both running on the same Mac with wired 1 Gb Ethernet connections.

I am not sure what u mean WebServer, but you can see there is a message about WebServer shutting down.

Also what is this UnboundLocalError?

Very frustrating to be so close and so far.  BTW, this is a jailbroken ATV2 running iOS5.2 connect to a MacPro running 10.8.3 with PMS 0.9.7.22.

-bash-3.2$ sudo /Users/newrobertsnow/PlexConnect-XML_templates/Settings.py 
-bash-3.2$ 
-bash-3.2$ /Users/newrobertsnow/PlexConnect-XML_templates/PlexConnect.py 
PlexConnect : ***
PlexConnect : PlexConnect
PlexConnect : Press ENTER to shut down.
PlexConnect : ***
DNSServer : Failed to create socket on UDP port 53: [Errno 13] Permission denied
WebServer : Shutting down.
Process Process-2:
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 114, in run
  File "/Users/newrobertsnow/PlexConnect-XML_templates/WebServer.py", line 130, in Run
    server.socket.close()
UnboundLocalError: local variable 'server' referenced before assignment

>> DNSServer : Failed to create socket on UDP port 53: [Errno 13] Permission denied

More interesting. DNS Server is not allowed to hook to port 53 - the DNS port.

Looking at your commands...

a ) there is no need to sudo Settings.py. This will be imported by the other python files.

b ) you didn't sudo PlexConnect. This will prevent us from taking port 53.

If it helps, all the other services like YouTube, Vimeo, Hule work fine. Just Trailers won't.

The Network setting in PMS shows:

http://127.0.0.1:32400/web

and the 32400 port seems correct for the PlexConnect.py setting file.

I am just mystified. Any other suggestions?

[...]

It would be nice if the documentation was a lot clearer for dumbasses like me!

You are invited to set up the github/wiki pages :-D

If you want to bind to ports below 1024 you have to execute the binary with root privileges! 

 

Edit:

Meaning, you have to put "sudo" before "PlexConnect.py "

The Network setting in PMS shows:

http://127.0.0.1:32400/web

Post #104 - the one you already mentioned. Don't use 127.0.0.1... aTV doesn't know your Mac under that name!

If you want to bind to ports below 1024 you have to execute the binary with root privileges! 

Right... "sudo". That's what I said. That's what's in the docu. :-D

Tried again and same problem. Everything works fine — even Photostream BUT not Trailers.

-bash-3.2$ sudo /Users/newrobertsnow/PlexConnect-XML_templates/PlexConnect.py 
Password:
PlexConnect : ***
PlexConnect : PlexConnect
PlexConnect : Press ENTER to shut down.
PlexConnect : ***
DNSServer : ***
DNSServer : Starting up.
DNSServer : intercept: trailers.apple.com
DNSServer : forward other to higher level DNS: 192.168.0.1
DNSServer : ***
WebServer : Shutting down.
Process Process-2:
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 114, in run
  File "/Users/newrobertsnow/PlexConnect-XML_templates/WebServer.py", line 130, in Run
    server.socket.close()
UnboundLocalError: local variable 'server' referenced before assignment
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 63577)
DNSServer : Domain: www4.l.google.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 64776)
DNSServer : Domain: www4.l.google.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 56328)
DNSServer : Domain: ytimg.l.google.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 56945)
DNSServer : Domain: ytimg.l.google.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 60683)
DNSServer : Domain: e905.b.akamaiedge.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 52177)
DNSServer : Domain: redirector.c.youtube.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 55995)
DNSServer : Domain: redirector.c.youtube.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 54997)
DNSServer : Domain: r6---sn-3qqp-ioqe.c.youtube.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 59522)
DNSServer : Domain: r6---sn-3qqp-ioqe.c.youtube.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 59287)
DNSServer : Domain: r15---sn-ogu7zn7s.c.youtube.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 51836)
DNSServer : Domain: r15---sn-ogu7zn7s.c.youtube.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 51832)
DNSServer : Domain: r6.sn-3qqp-ioqe.c.youtube.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 52466)
DNSServer : Domain: r15.sn-ogu7zn7s.c.youtube.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 50493)
DNSServer : Domain: e905.b.akamaiedge.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 64469)
DNSServer : Domain: ax.init-cdn.itunes.apple.com.akadns.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 58953)
DNSServer : Domain: ax.init-cdn.itunes.apple.com.akadns.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 56969)
DNSServer : Domain: p23-buy.itunes.apple.com.akadns.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 61567)
DNSServer : Domain: p23-buy.itunes.apple.com.akadns.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 63830)
DNSServer : Domain: a771.da1.akamai.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 50606)
DNSServer : Domain: itunes-cdn.apple.com.akadns.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 53736)
DNSServer : Domain: itunes-cdn.apple.com.akadns.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 59861)
DNSServer : Domain: e673.g.akamaiedge.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 50280)
DNSServer : Domain: trailers.apple.com
DNSServer : ***intercept request
DNSServer : -> DNS response: IP_PMS
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 59813)
DNSServer : Domain: trailers.apple.com
DNSServer : ***intercept request
DNSServer : -> DNS response: IP_PMS
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 53639)
DNSServer : Domain: p01-streams.icloud.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 54939)
DNSServer : Domain: p01-streams.icloud.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 61200)
DNSServer : Domain: p01-sharedstreams.icloud.com.akadns.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 58552)
DNSServer : Domain: p01-sharedstreams.icloud.com.akadns.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 57597)
DNSServer : Domain: p01-streams.icloud.com.akadns.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 54105)
DNSServer : Domain: nlced.cdnak.neulion.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 50459)
DNSServer : Domain: nlced.cdnak.neulion.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 57340)
DNSServer : Domain: a1213.g.akamai.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 64078)
DNSServer : Domain: a1213.g.akamai.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 51141)
DNSServer : Domain: appleglobal.102.112.2o7.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 60446)
DNSServer : Domain: appleglobal.102.112.2o7.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 55524)
DNSServer : Domain: watch.nba.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 58265)
DNSServer : Domain: watch.nba.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 53719)
DNSServer : Domain: watchnba.neulion.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 59127)
DNSServer : Domain: track1.neulion.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 50476)
DNSServer : Domain: track1.neulion.com
DNSServer : ***forward request
DNSServer : -> DNS response from higher level
DNSServer : DNS request received!
DNSServer : Source: ('192.168.0.3', 59816)
DNSServer : Domain: a771.da1.akamai.net
DNSServer : ***forward request
DNSServer : -> DNS response from higher level

I am using sudo for PlexConnect.py.  The example I posted was just a bad try after messing around with sudo for Settings.py

I am not using 127.0.0.1.

Ok...

first I would propose to NOT add all those logs into your text. Just press "More Reply Options" and add them as a attachment file. This wouldn't mess up the reading experience in these forums that much :-D

Now back to your issue:

WebServer : Shutting down.
Process Process-2:
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 114, in run
  File "/Users/newrobertsnow/PlexConnect-XML_templates/WebServer.py", line 130, in Run
    server.socket.close()
UnboundLocalError: local variable 'server' referenced before assignment
The WebServer does shut down. Actually I think it will never really start up. Which is sad, so sad...
The "try except"-error handling steals some meaningful information about the reason...
But... since at the end the variable 'server' was never created, my guess is that this line fails:
server = HTTPServer(('',80), MyHandler)
Port 80 is the std. http-port (compare what we learned earlier: 53 is DNS). Do you have some other HTTP-server running on you system? Check, if something else is using port 80 already.

>> If it helps, all the other services like YouTube, Vimeo, Hule work fine. Just Trailers won't.

Exactly this is intended. No change to the aTV functionality but Trailers. This is why DNSServer needs you router DNS to forward everything but Trailers.

I don't think there is any HTTP server running, although MAMP was installed on this machine in the past.

Tried switching all network things the like Back To My Mac, Web Sharing, etc., off.

Moved the PlexConnect folder to the root of the drive.

Checked that nothing using port 80 and tried again.

Rebooted ATV2.

Launched PlexConnect.py with sudo.

The startup looks different this time but same problem—Trailers unavailable at this time. Try again later.

See attachment.

>>serving application.js\
>>192.168.0.3 - - [03/May/2013 20:48:27] code 404, message File Not Found: /appletv/us/js/application.js\
>>192.168.0.3 - - [03/May/2013 20:48:27] "GET /appletv/us/js/application.js HTTP/1.1" 404 -\
 
Startup seems fine this time. Looks like you freed port 80!
Hm. The "main" trailer app isn't found.
Questions...
a ) Do you have all the folders? This file should sit in "/assets"
b ) Is your working dir the directory where the PlexConnect scripts are living? Do you "cd" to the folder and then "sudo ./PlexConnect"?

Your getting the 404 file not found error on application.js because you need to run from the Plexconnect directory, do the following, cd into the directory first then run PlexConnect.py

cd PlexConnect-XML_templates

sudo PlexConnect.py

See if that works.

roidy! You're back! I really think I could need some help over here...

:-D

Never went anywhere :) Been busy trying to get watched dots to dynamically update on the XML when returning from playing a video.

Also people need to open the application.js file and change the address of the Plex Media Server at the top or the watched status of videos wont be updated.

Remember people this is still very early code.