spaam / svtplay-dl

Small command-line program to download videos from some streaming sites.
https://svtplay-dl.se
MIT License
723 stars 121 forks source link

svtplay-dl crash with some episodes of, at least, Vigil #1612

Closed nolhubby closed 6 months ago

nolhubby commented 6 months ago

svtplay-dl versions:

svtplay-dl 4.71

Operating system and Python version:

macos Sonoma 14.4.1 Python 3.12.3

What is the issue:

Some episodes of series at SVTplay makes svtplay-dl crash. I think it has something to do with an extra question with a warning for violence. Requieres an answer in a box.

svtplay-dl --verbose https://www.svtplay.se/video/jvXDQBJ/vigil/avsnitt-4?id=jvXDQBJ

DEBUG [1714342071.522235] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/svtplay_dl/utils/getmedia.py/get_media: version: 4.71 DEBUG [1714342071.525904] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/svtplay_dl/service/init.py/init: service: svtplay DEBUG [1714342071.5259662] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/svtplay_dl/utils/http.py/request: HTTP getting 'https://www.svtplay.se/video/jvXDQBJ/vigil/avsnitt-4?id=jvXDQBJ' DEBUG [1714342071.535081] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/_new_conn: Starting new HTTPS connection (1): www.svtplay.se:443 DEBUG [1714342071.796712] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/_make_request: https://www.svtplay.se:443 "GET /video/jvXDQBJ/vigil/avsnitt-4?id=jvXDQBJ HTTP/1.1" 200 28725 DEBUG [1714342071.817855] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/svtplay_dl/utils/http.py/request: HTTP getting 'https://api.svt.se/video/jvXDQBJ' DEBUG [1714342071.818916] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/_new_conn: Starting new HTTPS connection (1): api.svt.se:443 DEBUG [1714342071.88005] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/_make_request: https://api.svt.se:443 "GET /video/jvXDQBJ HTTP/1.1" 200 1099 DEBUG [1714342071.880835] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/svtplay_dl/utils/http.py/request: HTTP getting 'https://api.svt.se/ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fhls-cmaf-lb-full.m3u8&' DEBUG [1714342071.944787] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/_make_request: https://api.svt.se:443 "GET /ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fhls-cmaf-lb-full.m3u8& HTTP/1.1" 200 914 DEBUG [1714342071.981534] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/charset_normalizer/api.py/from_bytes: Encoding detection: utf_8 is most likely the one. DEBUG [1714342071.9854872] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/svtplay_dl/utils/http.py/request: HTTP getting 'https://api.svt.se/ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-7l.akamaized.net%2Fd0%2Fse%2F20240415%2Fd65028fb-2fb8-4f9a-bb11-2de5891a51b8%2Fdash-hbbtv-hevc.mpd&' DEBUG [1714342072.039238] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/_make_request: https://api.svt.se:443 "GET /ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-7l.akamaized.net%2Fd0%2Fse%2F20240415%2Fd65028fb-2fb8-4f9a-bb11-2de5891a51b8%2Fdash-hbbtv-hevc.mpd& HTTP/1.1" 200 1046 DEBUG [1714342072.064188] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/charset_normalizer/api.py/from_bytes: Encoding detection: utf_8 is most likely the one. DEBUG [1714342072.064684] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/charset_normalizer/api.py/from_bytes: Encoding detection: utf_8 is most likely the one. DEBUG [1714342072.1248] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/svtplay_dl/utils/http.py/request: HTTP getting 'https://api.svt.se/ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fhls-ts-avc.m3u8&' DEBUG [1714342072.185488] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/_make_request: https://api.svt.se:443 "GET /ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fhls-ts-avc.m3u8& HTTP/1.1" 200 788 DEBUG [1714342072.199223] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/charset_normalizer/api.py/from_bytes: Encoding detection: ascii is most likely the one. DEBUG [1714342072.2010398] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/svtplay_dl/utils/http.py/request: HTTP getting 'https://api.svt.se/ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fhls-ts-lb-full.m3u8&' DEBUG [1714342072.252358] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/_make_request: https://api.svt.se:443 "GET /ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fhls-ts-lb-full.m3u8& HTTP/1.1" 200 739 DEBUG [1714342072.276813] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/charset_normalizer/api.py/from_bytes: Encoding detection: utf_8 is most likely the one. DEBUG [1714342072.2784908] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/svtplay_dl/utils/http.py/request: HTTP getting 'https://api.svt.se/ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd&' DEBUG [1714342080.313003] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/_make_request: https://api.svt.se:443 "GET /ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd& HTTP/1.1" 500 64 DEBUG [1714342080.31326] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/util/retry.py/increment: Incremented Retry for (url='/ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd&'): Retry(total=4, connect=5, read=5, redirect=None, status=None) DEBUG [1714342080.313521] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/urlopen: Retry: /ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd& DEBUG [1714342088.357821] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/_make_request: https://api.svt.se:443 "GET /ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd& HTTP/1.1" 500 64 DEBUG [1714342088.357926] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/util/retry.py/increment: Incremented Retry for (url='/ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd&'): Retry(total=3, connect=5, read=5, redirect=None, status=None) DEBUG [1714342088.963558] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/urlopen: Retry: /ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd& DEBUG [1714342096.99107] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/_make_request: https://api.svt.se:443 "GET /ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd& HTTP/1.1" 500 64 DEBUG [1714342096.9911501] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/util/retry.py/increment: Incremented Retry for (url='/ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd&'): Retry(total=2, connect=5, read=5, redirect=None, status=None) DEBUG [1714342098.194603] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/urlopen: Retry: /ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd& DEBUG [1714342106.264673] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/_make_request: https://api.svt.se:443 "GET /ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd& HTTP/1.1" 500 64 DEBUG [1714342106.2649071] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/util/retry.py/increment: Incremented Retry for (url='/ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd&'): Retry(total=1, connect=5, read=5, redirect=None, status=None) DEBUG [1714342108.6681201] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/urlopen: Retry: /ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd& DEBUG [1714342116.716652] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/_make_request: https://api.svt.se:443 "GET /ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd& HTTP/1.1" 500 64 DEBUG [1714342116.7168808] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/util/retry.py/increment: Incremented Retry for (url='/ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd&'): Retry(total=0, connect=5, read=5, redirect=None, status=None) DEBUG [1714342121.521164] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/urlopen: Retry: /ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd& DEBUG [1714342129.551887] /usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py/_make_request: https://api.svt.se:443 "GET /ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd& HTTP/1.1" 500 64 urllib3.exceptions.ResponseError: too many 500 error responses

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/requests/adapters.py", line 486, in send resp = conn.urlopen( ^^^^^^^^^^^^^ File "/usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py", line 948, in urlopen return self.urlopen( ^^^^^^^^^^^^^ File "/usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py", line 948, in urlopen return self.urlopen( ^^^^^^^^^^^^^ File "/usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py", line 948, in urlopen return self.urlopen( ^^^^^^^^^^^^^ [Previous line repeated 2 more times] File "/usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/connectionpool.py", line 938, in urlopen retries = retries.increment(method, url, response=response, _pool=self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/urllib3/util/retry.py", line 515, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.svt.se', port=443): Max retries exceeded with url: /ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd& (Caused by ResponseError('too many 500 error responses'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/local/bin/svtplay-dl", line 7, in svtplay_dl.main() File "/usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/svtplay_dl/init.py", line 69, in main get_media(urls[0], config, version) File "/usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/svtplay_dl/utils/getmedia.py", line 63, in get_media get_one_media(stream) File "/usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/svtplay_dl/utils/getmedia.py", line 112, in get_one_media for i in streams: File "/usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/svtplay_dl/service/svtplay.py", line 100, in get yield from videos File "/usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/svtplay_dl/service/svtplay.py", line 141, in _get_video yield from dashparse(self.config, self.http.request("get", pl_url), pl_url, output=self.output) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/svtplay_dl/utils/http.py", line 48, in request res = Session.request(self, method, url, verify=self.verify, proxies=self.proxy, *args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, send_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/Cellar/svtplay-dl/4.71/libexec/lib/python3.12/site-packages/requests/adapters.py", line 510, in send raise RetryError(e, request=request) requests.exceptions.RetryError: HTTPSConnectionPool(host='api.svt.se', port=443): Max retries exceeded with url: /ditto/api/v1/web?manifestUrl=https%3A%2F%2Fsvt-vod-secure-2c.akamaized.net%2Fd0%2Fsecure%2F20240415%2Fe6afa46b-79c8-45dc-8420-528a36bda0cb%2Fdash-avc.mpd& (Caused by ResponseError('too many 500 error responses'))

spaam commented 6 months ago

this was fixed in 4.72 and you are using 4.71.. wait an hour or so you can get 4.73 with some more fixes.

nolhubby commented 6 months ago

Thank you! Probably the quickest response for any issue ever!

Not updated at homebrew... probably a mistake as there seems to be two 4.71 there and I have been unsuccessful updating.

BR Claes