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
plugins.ard_mediathek: No playable streams found on this URL #4687
Comments
Had a second look at the plugin and managed to fix the JSON data retrieval and validation, so that the correct stream URLs get found. That would be the diff (not submitting a PR yet): diff --git a/src/streamlink/plugins/ard_mediathek.py b/src/streamlink/plugins/ard_mediathek.py
index c2c51c14..5cc1cdfd 100644
--- a/src/streamlink/plugins/ard_mediathek.py
+++ b/src/streamlink/plugins/ard_mediathek.py
@@ -33,14 +33,20 @@ class ARDMediathek(Plugin):
def _get_streams(self):
data_json = self.session.http.get(self.url, schema=validate.Schema(
validate.parse_html(),
- validate.xml_findtext(".//script[@id='fetchedContextValue'][@type='application/json']"),
+ validate.xml_findtext(".//script[@id='fetchedContextValue2'][@type='application/json']"),
validate.any(None, validate.all(
validate.parse_json(),
- {str: dict},
- validate.transform(lambda obj: list(obj.items())),
- validate.filter(lambda item: item[0].startswith("https://api.ardmediathek.de/page-gateway/pages/")),
- validate.any(validate.get((0, 1)), [])
- ))
+ [list],
+ validate.filter(lambda item: (
+ len(item) == 2
+ and type(item[0]) is str
+ and type(item[1]) is dict
+ and item[0].startswith("https://api.ardmediathek.de/page-gateway/pages/")
+ )),
+ validate.get((0, 1)),
+ {"data": dict},
+ validate.get("data"),
+ )),
))
if not data_json:
return However, all the static streams I've listed earlier have a separate HLS audio playlist, and instead of using MPEG-TS containers for the audio segments, ADTS containers are used for the AAC audio data, and somehow this causes problems when muxing the two streams into the output. From what it looks like, the audio stream alone is causing issues when trying to play it on the fly. Saving it and playing it back afterwards works though. @back-to, do you have any idea? Video: https://mcdn.daserste.de/daserste/de/master_1920p_5000.m3u8 |
Checklist
Streamlink version
Latest build from the master branch
Description
The ARD (German Public TV) seems not to be working at the moment with Streamlink.
It gives a 'error: No playable streams found on this URL: https://www.ardmediathek.de/daserste/live/Y3JpZDovL2Rhc2Vyc3RlLmRlL0xpdmVzdHJlYW0tRGFzRXJzdGU'
Debug log
The text was updated successfully, but these errors were encountered: