tgorgdotcom / locast2plex

A very simple script to connect locast to Plex's live tv/dvr feature.
MIT License
234 stars 43 forks source link

"OSError: [Errno 41] Protocol wrong type for socket" on OS X #248

Open splitsurround opened 3 years ago

splitsurround commented 3 years ago

Hi. I got locast2plex installed and working. I can fire up a show, all seems good. But after a few minutes, every time, this error reports in my terminal app:

OSError: [Errno 41] Protocol wrong type for socket

Since I'm not very knowledgable about command line stuff or python, I asked a python group to take a look and immediately was told it's a bug in the software. I can't say that it is for sure, but something odd is bumping me off my connection.

thanks!

osxster commented 3 years ago

I get the same thing, but it might be once a day. It works perfect otherwise, but I get this error, it hangs, I need to Ctrl C it, then launch it again. This is also OS X, running on a BigSur server.


Exception occurred during processing of request from ('', 51835) Traceback (most recent call last): File "/usr/local/Cellar/python@3.9/3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 316, in _handle_request_noblock self.process_request(request, client_address) File "/usr/local/Cellar/python@3.9/3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 347, in process_request self.finish_request(request, client_address) File "/usr/local/Cellar/python@3.9/3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/local/Cellar/python@3.9/3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 720, in init self.handle() File "/usr/local/Cellar/python@3.9/3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/server.py", line 427, in handle self.handle_one_request() File "/usr/local/Cellar/python@3.9/3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/server.py", line 415, in handle_one_request method() File "/Users//Library/Application Support/locast2plex-main/lib/tuner_interface.py", line 109, in do_GET self.do_tuning(contentPath.replace('/watch/', '')) File "/Users//Library/Application Support/locast2plex-main/lib/tuner_interface.py", line 358, in do_tuning self.wfile.write(videoData) File "/usr/local/Cellar/python@3.9/3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 799, in write self._sock.sendall(b) OSError: [Errno 41] Protocol wrong type for socket

Any info would be great!

splitsurround commented 3 years ago

Just to share my workaround:

i went with the docker route. Difficult to learn, but totally stable, starts after restart, etc.

On Thu, Apr 15, 2021 at 12:20 PM osxster @.***> wrote:

I get the same thing, but it might be once a day. It works perfect otherwise, but I get this error, it hangs, I need to Ctrl C it, then launch it again. This is also OS X, running on a BigSur server.

Exception occurred during processing of request from ('', 51835) Traceback (most recent call last): File @./3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 316, in _handle_request_noblock self.process_request(request, client_address) File @./3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 347, in process_request self.finish_request(request, client_address) File @./3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File @./3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 720, in init self.handle() File @./3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/server.py", line 427, in handle self.handle_one_request() File @./3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/server.py", line 415, in handle_one_request method() File "/Users//Library/Application Support/locast2plex-main/lib/tuner_interface.py", line 109, in do_GET self.do_tuning(contentPath.replace('/watch/', '')) File "/Users//Library/Application Support/locast2plex-main/lib/tuner_interface.py", line 358, in do_tuning self.wfile.write(videoData) File @.***/3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 799, in write self._sock.sendall(b) OSError: [Errno 41] Protocol wrong type for socket

Any info would be great!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/tgorgdotcom/locast2plex/issues/248#issuecomment-820673887, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATSSMVH3GZ5BTKNPSTSZL53TI44APANCNFSM42RYP5NA .

osxster commented 3 years ago

When you say you went the Docker route, did you install docker on OS X or did you install it on a Linux box? I’m running BigSur in a vm already, so I didn’t want to use Docker which typically would be a vm in a vm.

I was hoping there would be a fix to address this natively rather than having to run this on Linux for example, since this is so close to working perfect.

splitsurround commented 3 years ago

OS X. On Apr 26, 2021, 4:02 AM -0700, osxster @.***>, wrote:

When you say you went the Docker route, did you install docker on OS X or did you install it on a Linux box? I’m running BigSur in a vm already, so I didn’t want to use Docker which typically would be a vm in a vm. I was hoping there would be a fix to address this natively rather than having to run this on Linux for example, since this is so close to working perfect. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

H3avyC commented 3 years ago

Also having this same issue. Seems to occur when I click the X button to end a streaming session on a given channel. Happening about 50% of the time. Restarting the terminal session makes it go back to normal. Not sure where to start troubleshooting it.

splitsurround commented 3 years ago

Have you considered upgrading to locast2tuner?

On Fri, Aug 6, 2021 at 12:22 PM H3avyC @.***> wrote:

Also having this same issue. Seems to occur when I click the X button to end a streaming session on a given channel. Happening about 50% of the time. Restarting the terminal session makes it go back to normal. Not sure where to start troubleshooting it.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/tgorgdotcom/locast2plex/issues/248#issuecomment-894470647, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATSSMVBLI7WUFXYEJTPCIB3T3QZAJANCNFSM42RYP5NA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .

H3avyC commented 3 years ago

I ran into some issues with HomeBrew on 10.13. Maybe I should give it another try.

update Yeah, locast2tuner isn’t an option. Homebrew fails to install on this OS. It’s an older machine, and I can’t go past 10.13.

jeffmeacham99 commented 3 years ago

I get the same thing, but it might be once a day. It works perfect otherwise, but I get this error, it hangs, I need to Ctrl C it, then launch it again. This is also OS X, running on a BigSur server.

Exception occurred during processing of request from ('', 51835)

Traceback (most recent call last): File "/usr/local/Cellar/python@3.9/3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 316, in _handle_request_noblock self.process_request(request, client_address) File "/usr/local/Cellar/python@3.9/3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 347, in process_request self.finish_request(request, client_address) File "/usr/local/Cellar/python@3.9/3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/local/Cellar/python@3.9/3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 720, in init self.handle() File "/usr/local/Cellar/python@3.9/3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/server.py", line 427, in handle self.handle_one_request() File "/usr/local/Cellar/python@3.9/3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/server.py", line 415, in handle_one_request method() File "/Users//Library/Application Support/locast2plex-main/lib/tuner_interface.py", line 109, in do_GET self.do_tuning(contentPath.replace('/watch/', '')) File "/Users//Library/Application Support/locast2plex-main/lib/tuner_interface.py", line 358, in do_tuning self.wfile.write(videoData) File "/usr/local/Cellar/python@3.9/3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 799, in write self._sock.sendall(b) OSError: [Errno 41] Protocol wrong type for socket Any info would be great!

I am having the exact issue. I had a few hurdles during installation, but have it up and running under these conditions:

MacOS 10.14.6 (Mojave) Terminal Python 3.9 Plex Server ver. 1.24.0.4930 FFmpeg installed via Brew

I couldn't get a live stream to work on any Plex client type however could DVR and watch after the show ended (strange), but resolved by adding tuner_type=Cable to the .ini file. Now I'm having the issue describe above. I am having to use one of the three tuners locally (not ideal) on the server to keep it up and running so that I can access from other clients. As soon as I end ANY tuner stream from ANY Plex client type it kills the Locast2Plex script in Terminal. Here are my logs for reference upon ending a live stream within Plex Client:


Exception occurred during processing of request from ('192.168.4.31', 62194) Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 316, in _handle_request_noblock self.process_request(request, client_address) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 347, in process_request self.finish_request(request, client_address) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 747, in init self.handle() File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/server.py", line 427, in handle self.handle_one_request() File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/server.py", line 415, in handle_one_request method() File "/Users/jeffmeacham/Downloads/locast2plex-main/lib/tuner_interface.py", line 109, in do_GET self.do_tuning(contentPath.replace('/watch/', '')) File "/Users/jeffmeacham/Downloads/locast2plex-main/lib/tuner_interface.py", line 358, in do_tuning self.wfile.write(videoData) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 826, in write self._sock.sendall(b) OSError: [Errno 41] Protocol wrong type for socket

Thanks for any insights out there to resolve.

splitsurround commented 3 years ago

I recommend changing to locast2tuner.

It’s way more stable and has been working well for me for ha without issues. On Aug 16, 2021, 9:09 AM -0700, jeffmeacham99 @.***>, wrote:

I get the same thing, but it might be once a day. It works perfect otherwise, but I get this error, it hangs, I need to Ctrl C it, then launch it again. This is also OS X, running on a BigSur server. Exception occurred during processing of request from ('', 51835) Traceback (most recent call last): File @./3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 316, in _handle_request_noblock self.process_request(request, client_address) File @./3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 347, in process_request self.finish_request(request, client_address) File @./3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File @./3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 720, in init self.handle() File @./3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/server.py", line 427, in handle self.handle_one_request() File @./3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/server.py", line 415, in handle_one_request method() File "/Users//Library/Application Support/locast2plex-main/lib/tuner_interface.py", line 109, in do_GET self.do_tuning(contentPath.replace('/watch/', '')) File "/Users//Library/Application Support/locast2plex-main/lib/tuner_interface.py", line 358, in do_tuning self.wfile.write(videoData) File @.***/3.9.2_4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 799, in write self._sock.sendall(b) OSError: [Errno 41] Protocol wrong type for socket Any info would be great! I am having the exact issue. I had a few hurdles during installation, but have it up and running under these conditions: MacOS 10.14.6 (Mojave) Terminal Python 3.9 Plex Server ver. 1.24.0.4930 FFmpeg installed via Brew I couldn't get a live stream to work on any Plex client type however could DVR and watch after the show ended (strange), but resolved by adding tuner_type=Cable to the .ini file. Now I'm having the issue describe above. I am having to use on of the tuners locally (not ideal) on the server to keep it up and running. As soon as I end ANY tuner stream from ANY Plex client type it kills the Locast2Plex script in Terminal. Here are my logs for reference upon ending a live stream within Plex Client: Exception occurred during processing of request from ('192.168.4.31', 62194) Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 316, in _handle_request_noblock self.process_request(request, client_address) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 347, in process_request self.finish_request(request, client_address) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 747, in init self.handle() File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/server.py", line 427, in handle self.handle_one_request() File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/server.py", line 415, in handle_one_request method() File "/Users/jeffmeacham/Downloads/locast2plex-main/lib/tuner_interface.py", line 109, in do_GET self.do_tuning(contentPath.replace('/watch/', '')) File "/Users/jeffmeacham/Downloads/locast2plex-main/lib/tuner_interface.py", line 358, in do_tuning self.wfile.write(videoData) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 826, in write self._sock.sendall(b) OSError: [Errno 41] Protocol wrong type for socket Thanks for any insights out there to resolve. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

jeffmeacham99 commented 3 years ago

I recommend changing to locast2tuner. It’s way more stable and has been working well for me for ha without issues.

Done! You're right, appears to be much more stable. Also additional features are great. Thanks for the heads up. Cheers!

osxster commented 3 years ago

Hello,

I had resolved this issue by running it within Docker. I have no idea why it works better within Docker. I'd prefer to run it without Docker as I am running this OSX instance as a VM anyway, so it is a little slower running in Docker, but I have found it to be very stable within Docker and rarely crashes. Any way we can fix this so that we do not need to use Docker?

splitsurround commented 3 years ago

Any time!

On Mon, Aug 16, 2021 at 11:19 AM jeffmeacham99 @.***> wrote:

I recommend changing to locast2tuner. It’s way more stable and has been working well for me for ha without issues. … <#m-64707172639246984>

Done! You're right, appears to be much more stable. Also additional features are great. Thanks for the heads up. Cheers!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/tgorgdotcom/locast2plex/issues/248#issuecomment-899720260, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATSSMVHDAZSWSL67MHDUOGDT5FJCRANCNFSM42RYP5NA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .

H3avyC commented 3 years ago

I also ended up just getting Docker up and running. So far so good. If I run into issues, I’ll take a look at locast2tuner, but for right now, it’s working just fine. I’m able to start and stop streams without encountering any errors.