Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adapting streamlinksrv to other x64 Linux platforms #9

Open
speedysupranet opened this issue Feb 2, 2023 · 1 comment
Open

Adapting streamlinksrv to other x64 Linux platforms #9

speedysupranet opened this issue Feb 2, 2023 · 1 comment

Comments

@speedysupranet
Copy link

speedysupranet commented Feb 2, 2023

Streamlinksrv was originally created for enigma2 based systems. The challenge there is to get the most recent versions of streamlink up and running as some plugins are regurarly changing.

I tried to run streamlinksrv on Streamlink 5.2.1 with Python 3.10 on a standard linux system (OpenSuSE Tumbleweed) and failed heavily. It seems, that a lot of things did change from Python 2.7 to 3.10 as well as in Streamlink to just let it run out of the box.

My programming skills are not with Python so adapting would be a huge effort for my with a lot of trial and error. So would there be any chance to adapt this to to a x64 Linux platform? I don't mind which it is. Happy also to donate something.

Here are the error logs when running it out of the box:

pidfile /var/run/streamlink.pid does not exist. Daemon not running?
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib64/python3.10/logging/init.py", line 1100, in emit
msg = self.format(record)
File "/usr/lib64/python3.10/logging/init.py", line 943, in format
return fmt.format(record)
File "/usr/lib/python3.10/site-packages/streamlink/logger.py", line 124, in format
return super().format(record)
File "/usr/lib64/python3.10/logging/init.py", line 678, in format
record.message = record.getMessage()
File "/usr/lib64/python3.10/logging/init.py", line 368, in getMessage
msg = msg % self.args
TypeError: not all arguments converted during string formatting
Call stack:
File "/usr/sbin/streamlinksrv_fixed", line 568, in
start()
File "/usr/sbin/streamlinksrv_fixed", line 399, in start
LOGGER.info(" {0} Server ({1}) started", time.asctime(), version)
Message: ' {0} Server ({1}) started'
Arguments: ('Thu Feb 2 20:19:38 2023', '1.8.2')
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib64/python3.10/logging/init.py", line 1100, in emit
msg = self.format(record)
File "/usr/lib64/python3.10/logging/init.py", line 943, in format
return fmt.format(record)
File "/usr/lib/python3.10/site-packages/streamlink/logger.py", line 124, in format
return super().format(record)
File "/usr/lib64/python3.10/logging/init.py", line 678, in format
record.message = record.getMessage()
File "/usr/lib64/python3.10/logging/init.py", line 368, in getMessage
msg = msg % self.args
TypeError: not all arguments converted during string formatting
Call stack:
File "/usr/sbin/streamlinksrv_fixed", line 568, in
start()
File "/usr/sbin/streamlinksrv_fixed", line 400, in start
LOGGER.debug("Host: {0}", hostname())
Message: 'Host: {0}'
Arguments: ('mars',)
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib64/python3.10/logging/init.py", line 1100, in emit
msg = self.format(record)
File "/usr/lib64/python3.10/logging/init.py", line 943, in format
return fmt.format(record)
File "/usr/lib/python3.10/site-packages/streamlink/logger.py", line 124, in format
return super().format(record)
File "/usr/lib64/python3.10/logging/init.py", line 678, in format
record.message = record.getMessage()
File "/usr/lib64/python3.10/logging/init.py", line 368, in getMessage
msg = msg % self.args
TypeError: not all arguments converted during string formatting
Call stack:
File "/usr/sbin/streamlinksrv_fixed", line 568, in
start()
File "/usr/sbin/streamlinksrv_fixed", line 401, in start
LOGGER.debug("Port: {0}", PORT_NUMBER)
Message: 'Port: {0}'
Arguments: (8088,)
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib64/python3.10/logging/init.py", line 1100, in emit
msg = self.format(record)
File "/usr/lib64/python3.10/logging/init.py", line 943, in format
return fmt.format(record)
File "/usr/lib/python3.10/site-packages/streamlink/logger.py", line 124, in format
return super().format(record)
File "/usr/lib64/python3.10/logging/init.py", line 678, in format
record.message = record.getMessage()
File "/usr/lib64/python3.10/logging/init.py", line 368, in getMessage
msg = msg % self.args
TypeError: not all arguments converted during string formatting
Call stack:
File "/usr/sbin/streamlinksrv_fixed", line 568, in
start()
File "/usr/sbin/streamlinksrv_fixed", line 402, in start
LOGGER.debug("OS: {0}", platform.platform())
Message: 'OS: {0}'
Arguments: ('Linux-6.1.8-1-default-x86_64-with-glibc2.36',)
[streamlinksrv][debug] Python: 3.10.9
Traceback (most recent call last):
File "/usr/sbin/streamlinksrv_fixed", line 568, in
start()
File "/usr/sbin/streamlinksrv_fixed", line 404, in start
LOGGER.info(" Streamlink: {0} / {1}".format(streamlink_version))
IndexError: Replacement index 1 out of range for positional args tuple`

Best regards
Werner

@mp107
Copy link

mp107 commented Jun 7, 2024

As a side note, there is an alternative that supports other platforms - https://github.com/back-to/liveproxy/ - but it does not seem to be actively developed too. I successfully used it on Python 2 based Enigma2 images (so mostly outdated nowadays) and Linux (there with Python 3).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants