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

improve extracting of zdf mediathek; improve json output to be more human readable #11606

Closed
treakiandroid opened this issue Jan 4, 2017 · 0 comments

Comments

@treakiandroid
Copy link

its working inside kodi but not with youtube-dl, strange strange

..@..:/tmp$ youtube-dl --verbose --all-subs --write-description --write-info-json https://www.zdf.de/filme/wilsberg/ausgegraben-104.html
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'--verbose', u'--all-subs', u'--write-description', u'--write-info-json', u'https://www.zdf.de/filme/wilsberg/ausgegraben-104.html']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.11.02
[debug] Python version 2.7.9 - Linux-4.2.0-0.bpo.1-amd64-x86_64-with-debian-8.6
[debug] exe versions: ffmpeg 2.8.9, ffprobe 2.8.9, rtmpdump 2.4
[debug] Proxy map: {}
[generic] ausgegraben-104: Requesting header
WARNING: Falling back on generic information extractor.
[generic] ausgegraben-104: Downloading webpage
[generic] ausgegraben-104: Extracting information
ERROR: Unsupported URL: https://www.zdf.de/filme/wilsberg/ausgegraben-104.html
Traceback (most recent call last):
  File "/{pathtolocalbin}/youtube-dl/youtube_dl/extractor/generic.py", line 1634, in _real_extract
    doc = compat_etree_fromstring(webpage.encode('utf-8'))
  File "/{pathtolocalbin}/youtube-dl/youtube_dl/compat.py", line 2525, in compat_etree_fromstring
    doc = _XML(text, parser=etree.XMLParser(target=_TreeBuilder(element_factory=_element_factory)))
  File "/{pathtolocalbin}/youtube-dl/youtube_dl/compat.py", line 2514, in _XML
    parser.feed(text)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1642, in feed
    self._raiseerror(v)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1506, in _raiseerror
    raise err
ParseError: not well-formed (invalid token): line 141, column 162
Traceback (most recent call last):
  File "/{pathtolocalbin}/youtube-dl/youtube_dl/YoutubeDL.py", line 694, in extract_info
    ie_result = ie.extract(url)
  File "/{pathtolocalbin}/youtube-dl/youtube_dl/extractor/common.py", line 357, in extract
    return self._real_extract(url)
  File "/{pathtolocalbin}/youtube-dl/youtube_dl/extractor/generic.py", line 2417, in _real_extract
    raise UnsupportedError(url)
UnsupportedError: Unsupported URL: https://www.zdf.de/filme/wilsberg/ausgegraben-104.html

..@..:/tmp$ youtube-dl --write-info-json https://www.zdf.de/filme/wilsberg/ausgegraben-104.html
[generic] ausgegraben-104: Requesting header
WARNING: Falling back on generic information extractor.
[generic] ausgegraben-104: Downloading webpage
[generic] ausgegraben-104: Extracting information
ERROR: Unsupported URL: https://www.zdf.de/filme/wilsberg/ausgegraben-104.html
..@..:/tmp$ youtube-dl --write-info-json https://api.zdf.de/tmd/2/ngplayer_2_3/vod/ptmd/mediathek/170104_ausgegraben_wil
[generic] 170104_ausgegraben_wil: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 170104_ausgegraben_wil: Downloading webpage
WARNING: URL could be a direct video link, returning it as such.
[info] Writing video description metadata as JSON to: 170104_ausgegraben_wil-170104_ausgegraben_wil.info.json
[download] Destination: 170104_ausgegraben_wil-170104_ausgegraben_wil.unknown_video
[download] 100% of 16.73KiB in 00:00
..@..:/tmp$ youtube-dl --write-info-json https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/master.m3u8
[generic] master: Requesting header
WARNING: Could not send HEAD request to https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/master.m3u8: HTTP Error 405: Method Not Allowed
[generic] master: Downloading webpage
[generic] master: Downloading m3u8 information
[info] Writing video description metadata as JSON to: master-master.info.json
[download] Destination: master-master.mp4
ffmpeg version 2.8.9 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libbs2b --enable-libilbc --enable-libkvazaar --enable-libopenh264 --enable-libiec61883 --enable-vaapi --enable-opencl --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
[h264 @ 0x1db6fc0] non-existing SPS 0 referenced in buffering period
    Last message repeated 1 times
[h264 @ 0x1dfb400] non-existing SPS 0 referenced in buffering period
Input #0, hls,applehttp, from 'https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_3296000_av.m3u8?null=0':
  Duration: 01:28:18.80, start: 0.100511, bitrate: 0 kb/s
  Program 0 
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 100 kb/s
[mp4 @ 0x1dbc540] Codec for stream 0 does not use global headers but container format requires global headers
[mp4 @ 0x1dbc540] Codec for stream 1 does not use global headers but container format requires global headers
Output #0, mp4, to 'file:master-master.mp4.part':
  Metadata:
    encoder         : Lavf56.40.101
    Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 25 tbr, 90k tbn, 90k tbc
    Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, 100 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=24355 fps= 74 q=-1.0 size=  391085kB time=00:16:14.19 bitrate=3288.6kbits/s    


---


would be glad if you could fix that (with extration of all possible metadata (like: name of episode, name of season, name of tv station, transmission time, end of being avivable online, description, all audio tracks and subtitles, direct url link (like on right clicking copy) and everything you can get

thanks

@treakiandroid
Copy link
Author

treakiandroid commented Jan 4, 2017

ok it is working, i have forgotten to update

..@..:/tmp$ youtube-dl -U
youtube-dl is up-to-date (2017.01.05)
..@..:/tmp$ youtube-dl --verbose https://www.zdf.de/filme/wilsberg/ausgegraben-104.html
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'--verbose', u'https://www.zdf.de/filme/wilsberg/ausgegraben-104.html']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.01.05
[debug] Python version 2.7.9 - Linux-4.2.0-0.bpo.1-amd64-x86_64-with-debian-8.6
[debug] exe versions: ffmpeg 2.8.9, ffprobe 2.8.9, rtmpdump 2.4
[debug] Proxy map: {}
[ZDF] ausgegraben-104: Downloading webpage
[ZDF] ausgegraben-104: Downloading JSON content
[ZDF] ausgegraben-104: Downloading JSON metadata
[ZDF] ausgegraben-104: Downloading m3u8 information
[ZDF] ausgegraben-104: Downloading m3u8 information
[ZDF] ausgegraben-104: Downloading f4m manifest
[ZDF] ausgegraben-104: Downloading f4m manifest
[debug] Invoking downloader on u'https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_3296000_av.m3u8?null=0'
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 530
[download] Destination: Ausgegraben-ausgegraben-104.mp4
[download]   0.0% of ~2.09GiB at  1.13MiB/s ETA 49:14^C
ERROR: Interrupted by user
..@..:/tmp$ youtube-dl --write-info-json --write-description --verbose https://www.zdf.de/filme/wilsberg/ausgegraben-104.html
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'--write-info-json', u'--write-description', u'--verbose', u'https://www.zdf.de/filme/wilsberg/ausgegraben-104.html']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.01.05
[debug] Python version 2.7.9 - Linux-4.2.0-0.bpo.1-amd64-x86_64-with-debian-8.6
[debug] exe versions: ffmpeg 2.8.9, ffprobe 2.8.9, rtmpdump 2.4
[debug] Proxy map: {}
[ZDF] ausgegraben-104: Downloading webpage
[ZDF] ausgegraben-104: Downloading JSON content
[ZDF] ausgegraben-104: Downloading JSON metadata
[ZDF] ausgegraben-104: Downloading m3u8 information
[ZDF] ausgegraben-104: Downloading m3u8 information
[ZDF] ausgegraben-104: Downloading f4m manifest
[ZDF] ausgegraben-104: Downloading f4m manifest
[info] Writing video description to: Ausgegraben-ausgegraben-104.description
[info] Writing video description metadata as JSON to: Ausgegraben-ausgegraben-104.info.json
[debug] Invoking downloader on u'https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_3296000_av.m3u8?null=0'
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 530
[download] Destination: Ausgegraben-ausgegraben-104.mp4
[download]   0.2% of ~2.09GiB at  1.14MiB/s ETA 29:36^C
ERROR: Interrupted by user
..@..:/tmp$ ls Ausgegraben-ausgegraben-104.
Ausgegraben-ausgegraben-104.description     Ausgegraben-ausgegraben-104.mp4.part        
Ausgegraben-ausgegraben-104.info.json       Ausgegraben-ausgegraben-104.mp4.part-Frag0  
..@..:/tmp$ ls Ausgegraben-ausgegraben-104.description 
Ausgegraben-ausgegraben-104.description
..@..:/tmp$ cat Ausgegraben-ausgegraben-104.description 
Wilsberg in Nöten: Steuerprüfer Ekki Talkötter hat sich im Antiquariat eingenistet und macht Wilsberg das Leben schwer...@..:/tmp$ cat Ausgegraben-ausgegraben-104.info.json 
{"extractor": "ZDF", "protocol": "m3u8_native", "upload_date": "20170104", "height": 720, "duration": 5298, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_3296000_av.m3u8?null=0", "fulltitle": "Ausgegraben", "id": "ausgegraben-104", "playlist": null, "title": "Ausgegraben", "_filename": "Ausgegraben-ausgegraben-104.mp4", "playlist_index": null, "width": 1280, "fps": null, "thumbnail": "https://www.zdf.de/assets/ausgegraben-102~840x360?cb=1480509298786", "webpage_url_basename": "ausgegraben-104.html", "acodec": "mp4a.40.2", "display_id": "ausgegraben-104", "description": "Wilsberg in N\u00f6ten: Steuerpr\u00fcfer Ekki Talk\u00f6tter hat sich im Antiquariat eingenistet und macht Wilsberg das Leben schwer.", "format": "hls-3276 - 1280x720", "timestamp": 1483562700, "tbr": 3276, "preference": null, "format_id": "hls-3276", "subtitles": {}, "thumbnails": [{"url": "https://www.zdf.de/assets/ausgegraben-102~384xauto?cb=1480509298786", "format_id": "384xauto", "id": "0"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~768xauto?cb=1480509298786", "format_id": "768xauto", "id": "1"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~original?cb=1480509298786", "format_id": "original", "id": "2"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~240x270?cb=1480509298786", "height": 270, "width": 240, "format_id": "240x270", "resolution": "240x270", "id": "3"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~276x155?cb=1480509298786", "height": 155, "width": 276, "format_id": "276x155", "resolution": "276x155", "id": "4"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~314x314?cb=1480509298786", "height": 314, "width": 314, "format_id": "314x314", "resolution": "314x314", "id": "5"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~380x170?cb=1480509298786", "height": 170, "width": 380, "format_id": "380x170", "resolution": "380x170", "id": "6"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~384x216?cb=1480509298786", "height": 216, "width": 384, "format_id": "384x216", "resolution": "384x216", "id": "7"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~760x340?cb=1480509298786", "height": 340, "width": 760, "format_id": "760x340", "resolution": "760x340", "id": "8"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~768x432?cb=1480509298786", "height": 432, "width": 768, "format_id": "768x432", "resolution": "768x432", "id": "9"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~840x140?cb=1480509298786", "height": 140, "width": 840, "format_id": "840x140", "resolution": "840x140", "id": "10"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~840x280?cb=1480509298786", "height": 280, "width": 840, "format_id": "840x280", "resolution": "840x280", "id": "11"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~840x360?cb=1480509298786", "height": 360, "width": 840, "format_id": "840x360", "resolution": "840x360", "id": "12"}], "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_3296000_av.m3u8?null=0", "extractor_key": "ZDF", "vcodec": "avc1.77.30", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=/ZUYzETABpB3q+TOETXuDQ=="}, "ext": "mp4", "webpage_url": "https://www.zdf.de/filme/wilsberg/ausgegraben-104.html", "formats": [{"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=/ZUYzETABpB3q+TOETXuDQ=="}, "protocol": "m3u8", "format": "hls-meta-0 - multiple (Quality selection URL)", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/master.m3u8", "format_note": "Quality selection URL", "ext": "mp4", "preference": -100, "format_id": "hls-meta-0", "resolution": "multiple"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "protocol": "m3u8", "format": "hls-meta-1 - multiple (Quality selection URL)", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/master.m3u8", "format_note": "Quality selection URL", "ext": "mp4", "preference": -100, "format_id": "hls-meta-1", "resolution": "multiple"}, {"protocol": "m3u8_native", "format": "hls-96-0 - audio only", "tbr": 96, "preference": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_229000_a.m3u8?null=0", "format_id": "hls-96-0", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=/ZUYzETABpB3q+TOETXuDQ=="}, "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_229000_a.m3u8?null=0", "vcodec": "none", "ext": "mp4", "fps": null, "acodec": "mp4a.40.2"}, {"protocol": "m3u8_native", "format": "hls-96-1 - audio only", "tbr": 96, "preference": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_164000_a.m3u8?null=0", "format_id": "hls-96-1", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_164000_a.m3u8?null=0", "vcodec": "none", "ext": "mp4", "fps": null, "acodec": "mp4a.40.2"}, {"http_headers": {"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)"}, "ext": "webm", "protocol": "https", "preference": -10, "language": "deu", "format": "http-vp8_vorbis_webm_http_na_na-low - unknown (low)", "url": "https://nrodlzdf-a.akamaihd.net/none/zdf/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil_282k_p16v13.webm", "format_id": "http-vp8_vorbis_webm_http_na_na-low", "format_note": "low", "quality": 1}, {"http_headers": {"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)"}, "ext": "mp4", "protocol": "https", "preference": -10, "language": "deu", "format": "http-h264_aac_mp4_http_na_na-low - unknown (low)", "url": "https://nrodlzdf-a.akamaihd.net/none/zdf/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil_229k_p7v13.mp4", "format_id": "http-h264_aac_mp4_http_na_na-low", "format_note": "low", "quality": 1}, {"http_headers": {"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)"}, "ext": "webm", "protocol": "https", "preference": -10, "language": "deu", "format": "http-vp8_vorbis_webm_http_na_na-high - unknown (high)", "url": "https://nrodlzdf-a.akamaihd.net/none/zdf/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil_776k_p17v13.webm", "format_id": "http-vp8_vorbis_webm_http_na_na-high", "format_note": "high", "quality": 3}, {"http_headers": {"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)"}, "ext": "mp4", "protocol": "https", "preference": -10, "language": "deu", "format": "http-h264_aac_mp4_http_na_na-high-0 - unknown (high)", "url": "https://nrodlzdf-a.akamaihd.net/none/zdf/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil_476k_p9v13.mp4", "format_id": "http-h264_aac_mp4_http_na_na-high-0", "format_note": "high", "quality": 3}, {"http_headers": {"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)"}, "ext": "mp4", "protocol": "https", "preference": -10, "language": "deu", "format": "http-h264_aac_mp4_http_na_na-high-1 - unknown (high)", "url": "https://rodlzdf-a.akamaihd.net/none/zdf/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil_476k_p9v13.mp4", "format_id": "http-h264_aac_mp4_http_na_na-high-1", "format_note": "high", "quality": 3}, {"http_headers": {"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)"}, "ext": "webm", "protocol": "https", "preference": -10, "language": "deu", "format": "http-vp8_vorbis_webm_http_na_na-veryhigh - unknown (veryhigh)", "url": "https://nrodlzdf-a.akamaihd.net/none/zdf/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil_1496k_p18v13.webm", "format_id": "http-vp8_vorbis_webm_http_na_na-veryhigh", "format_note": "veryhigh", "quality": 4}, {"http_headers": {"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)"}, "ext": "mp4", "protocol": "https", "preference": -10, "language": "deu", "format": "http-h264_aac_mp4_http_na_na-veryhigh-0 - unknown (veryhigh)", "url": "https://nrodlzdf-a.akamaihd.net/none/zdf/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil_1496k_p13v13.mp4", "format_id": "http-h264_aac_mp4_http_na_na-veryhigh-0", "format_note": "veryhigh", "quality": 4}, {"http_headers": {"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)"}, "ext": "mp4", "protocol": "https", "preference": -10, "language": "deu", "format": "http-h264_aac_mp4_http_na_na-veryhigh-1 - unknown (veryhigh)", "url": "https://rodlzdf-a.akamaihd.net/none/zdf/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil_1496k_p13v13.mp4", "format_id": "http-h264_aac_mp4_http_na_na-veryhigh-1", "format_note": "veryhigh", "quality": 4}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "protocol": "m3u8_native", "format": "hls-158 - 240x136", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_164000_av.m3u8?null=0", "vcodec": "avc1.66.30", "tbr": 158, "height": 136, "width": 240, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_164000_av.m3u8?null=0", "format_id": "hls-158", "acodec": "mp4a.40.2"}, {"protocol": "f4m", "format": "hds-223-0 - unknown", "tbr": 223, "height": null, "preference": null, "manifest_url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "format_id": "hds-223-0", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "vcodec": null, "width": null, "ext": "flv"}, {"protocol": "f4m", "format": "hds-223-1 - unknown", "tbr": 223, "height": null, "preference": null, "manifest_url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "format_id": "hds-223-1", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "vcodec": null, "width": null, "ext": "flv"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=/ZUYzETABpB3q+TOETXuDQ=="}, "protocol": "m3u8_native", "format": "hls-223 - 320x176", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_229000_av.m3u8?null=0", "vcodec": "avc1.77.30", "tbr": 223, "height": 176, "width": 320, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_229000_av.m3u8?null=0", "format_id": "hls-223", "acodec": "mp4a.40.2"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "protocol": "m3u8_native", "format": "hls-258 - 320x176", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_229000_av.m3u8?null=0", "vcodec": "avc1.66.30", "tbr": 258, "height": 176, "width": 320, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_229000_av.m3u8?null=0", "format_id": "hls-258", "acodec": "mp4a.40.2"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "protocol": "m3u8_native", "format": "hls-312 - 320x176", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_282000_av.m3u8?null=0", "vcodec": "avc1.66.30", "tbr": 312, "height": 176, "width": 320, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_282000_av.m3u8?null=0", "format_id": "hls-312", "acodec": "mp4a.40.2"}, {"protocol": "f4m", "format": "hds-471-0 - unknown", "tbr": 471, "height": null, "preference": null, "manifest_url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "format_id": "hds-471-0", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "vcodec": null, "width": null, "ext": "flv"}, {"protocol": "f4m", "format": "hds-471-1 - unknown", "tbr": 471, "height": null, "preference": null, "manifest_url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "format_id": "hds-471-1", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "vcodec": null, "width": null, "ext": "flv"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=/ZUYzETABpB3q+TOETXuDQ=="}, "protocol": "m3u8_native", "format": "hls-471 - 480x272", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_476000_av.m3u8?null=0", "vcodec": "avc1.77.30", "tbr": 471, "height": 272, "width": 480, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_476000_av.m3u8?null=0", "format_id": "hls-471", "acodec": "mp4a.40.2"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "protocol": "m3u8_native", "format": "hls-516 - 480x272", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_476000_av.m3u8?null=0", "vcodec": "avc1.66.30", "tbr": 516, "height": 272, "width": 480, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_476000_av.m3u8?null=0", "format_id": "hls-516", "acodec": "mp4a.40.2"}, {"protocol": "f4m", "format": "hds-773 - unknown", "tbr": 773, "height": null, "preference": null, "manifest_url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "format_id": "hds-773", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "vcodec": null, "width": null, "ext": "flv"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=/ZUYzETABpB3q+TOETXuDQ=="}, "protocol": "m3u8_native", "format": "hls-773 - 640x360", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_776000_av.m3u8?null=0", "vcodec": "avc1.77.30", "tbr": 773, "height": 360, "width": 640, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_776000_av.m3u8?null=0", "format_id": "hls-773", "acodec": "mp4a.40.2"}, {"protocol": "f4m", "format": "hds-1486 - unknown", "tbr": 1486, "height": null, "preference": null, "manifest_url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "format_id": "hds-1486", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "vcodec": null, "width": null, "ext": "flv"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=/ZUYzETABpB3q+TOETXuDQ=="}, "protocol": "m3u8_native", "format": "hls-1486 - 852x480", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_1496000_av.m3u8?null=0", "vcodec": "avc1.77.30", "tbr": 1486, "height": 480, "width": 852, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_1496000_av.m3u8?null=0", "format_id": "hls-1486", "acodec": "mp4a.40.2"}, {"protocol": "f4m", "format": "hds-2289 - unknown", "tbr": 2289, "height": null, "preference": null, "manifest_url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "format_id": "hds-2289", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "vcodec": null, "width": null, "ext": "flv"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=/ZUYzETABpB3q+TOETXuDQ=="}, "protocol": "m3u8_native", "format": "hls-2289 - 1024x576", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_2296000_av.m3u8?null=0", "vcodec": "avc1.77.30", "tbr": 2289, "height": 576, "width": 1024, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_2296000_av.m3u8?null=0", "format_id": "hls-2289", "acodec": "mp4a.40.2"}, {"protocol": "f4m", "format": "hds-3276 - unknown", "tbr": 3276, "height": null, "preference": null, "manifest_url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "format_id": "hds-3276", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "vcodec": null, "width": null, "ext": "flv"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=/ZUYzETABpB3q+TOETXuDQ=="}, "protocol": "m3u8_native", "format": "hls-3276 - 1280x720", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_3296000_av.m3u8?null=0", "vcodec": "avc1.77.30", "tbr": 3276, "height": 720, "width": 1280, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_3296000_av.m3u8?null=0", "format_id": "hls-3276", "acodec": "mp4a.40.2"}]}..@..:/tmp$  

but please correct that:

add newline to .description and .json so there are no unix problems (files have to end with an newline everytime!)

Improve Title: ZDFmediathek - Wilsberg: "Ausgegraben" - ausgegraben-104
not just Ausgegraben-ausgegraben-104

not just

improve description:


Filme | Wilsberg - Ausgegraben

Wilsberg in Nöten: Steuerprüfer Ekki Talkötter hat sich im Antiquariat eingenistet und macht Wilsberg das Leben schwer.
88:18 min | vom 4.1.2017
Sendungsinformation

Online bis: 4.4.2017

Media Features
    HD

https://www.zdf.de/filme/wilsberg/ausgegraben-104.html

The full text from the i in the player plus its official link, not just the one paragraph down there

after downloading on muxing:

add title and description correctly inside the mkv

name tracks correctly like given in the player like this example

audio track 0 (the only one existing): "TV Ton"

see the gear icon in the player german language hint: Tonspur: audio track ; Untertitel: subtitles

this would make thinks a lot of easyer

thanks in advance

and btw: is there anything with witch i can convert that json output in a human readable way, i only see a long line that i cant propably view with any editor...

@treakiandroid treakiandroid changed the title add support for the zdf mediathek as it is today improve extracting of zdf mediathek as it is today Jan 4, 2017
@treakiandroid
Copy link
Author

you could make your json key value format a bit more readable if you

  • use the {} in c(++)/jdk like style (newlines and indents}
  • sort the keys by relevance
      1. extractor; 2. title; 3. duration. 4. upload date; 5. official url; 6. description; and after that all that technical stuff...
  • dont insert spacec after , but newlines
  • insert as may spaces after them as nessesery to get a tabelaric view
  • dont forgett newline before eof

this would convert this crap looking thing:

{"extractor": "ZDF", "protocol": "m3u8_native", "upload_date": "20170104", "height": 720, "duration": 5298, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_3296000_av.m3u8?null=0", "fulltitle": "Ausgegraben", "id": "ausgegraben-104", "playlist": null, "title": "Ausgegraben", "_filename": "Ausgegraben-ausgegraben-104.mp4", "playlist_index": null, "width": 1280, "fps": null, "thumbnail": "https://www.zdf.de/assets/ausgegraben-102~840x360?cb=1480509298786", "webpage_url_basename": "ausgegraben-104.html", "acodec": "mp4a.40.2", "display_id": "ausgegraben-104", "description": "Wilsberg in N\u00f6ten: Steuerpr\u00fcfer Ekki Talk\u00f6tter hat sich im Antiquariat eingenistet und macht Wilsberg das Leben schwer.", "format": "hls-3276 - 1280x720", "timestamp": 1483562700, "tbr": 3276, "preference": null, "format_id": "hls-3276", "subtitles": {}, "thumbnails": [{"url": "https://www.zdf.de/assets/ausgegraben-102~384xauto?cb=1480509298786", "format_id": "384xauto", "id": "0"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~768xauto?cb=1480509298786", "format_id": "768xauto", "id": "1"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~original?cb=1480509298786", "format_id": "original", "id": "2"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~240x270?cb=1480509298786", "height": 270, "width": 240, "format_id": "240x270", "resolution": "240x270", "id": "3"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~276x155?cb=1480509298786", "height": 155, "width": 276, "format_id": "276x155", "resolution": "276x155", "id": "4"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~314x314?cb=1480509298786", "height": 314, "width": 314, "format_id": "314x314", "resolution": "314x314", "id": "5"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~380x170?cb=1480509298786", "height": 170, "width": 380, "format_id": "380x170", "resolution": "380x170", "id": "6"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~384x216?cb=1480509298786", "height": 216, "width": 384, "format_id": "384x216", "resolution": "384x216", "id": "7"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~760x340?cb=1480509298786", "height": 340, "width": 760, "format_id": "760x340", "resolution": "760x340", "id": "8"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~768x432?cb=1480509298786", "height": 432, "width": 768, "format_id": "768x432", "resolution": "768x432", "id": "9"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~840x140?cb=1480509298786", "height": 140, "width": 840, "format_id": "840x140", "resolution": "840x140", "id": "10"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~840x280?cb=1480509298786", "height": 280, "width": 840, "format_id": "840x280", "resolution": "840x280", "id": "11"}, {"url": "https://www.zdf.de/assets/ausgegraben-102~840x360?cb=1480509298786", "height": 360, "width": 840, "format_id": "840x360", "resolution": "840x360", "id": "12"}], "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_3296000_av.m3u8?null=0", "extractor_key": "ZDF", "vcodec": "avc1.77.30", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=/ZUYzETABpB3q+TOETXuDQ=="}, "ext": "mp4", "webpage_url": "https://www.zdf.de/filme/wilsberg/ausgegraben-104.html", "formats": [{"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=/ZUYzETABpB3q+TOETXuDQ=="}, "protocol": "m3u8", "format": "hls-meta-0 - multiple (Quality selection URL)", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/master.m3u8", "format_note": "Quality selection URL", "ext": "mp4", "preference": -100, "format_id": "hls-meta-0", "resolution": "multiple"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "protocol": "m3u8", "format": "hls-meta-1 - multiple (Quality selection URL)", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/master.m3u8", "format_note": "Quality selection URL", "ext": "mp4", "preference": -100, "format_id": "hls-meta-1", "resolution": "multiple"}, {"protocol": "m3u8_native", "format": "hls-96-0 - audio only", "tbr": 96, "preference": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_229000_a.m3u8?null=0", "format_id": "hls-96-0", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=/ZUYzETABpB3q+TOETXuDQ=="}, "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_229000_a.m3u8?null=0", "vcodec": "none", "ext": "mp4", "fps": null, "acodec": "mp4a.40.2"}, {"protocol": "m3u8_native", "format": "hls-96-1 - audio only", "tbr": 96, "preference": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_164000_a.m3u8?null=0", "format_id": "hls-96-1", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_164000_a.m3u8?null=0", "vcodec": "none", "ext": "mp4", "fps": null, "acodec": "mp4a.40.2"}, {"http_headers": {"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)"}, "ext": "webm", "protocol": "https", "preference": -10, "language": "deu", "format": "http-vp8_vorbis_webm_http_na_na-low - unknown (low)", "url": "https://nrodlzdf-a.akamaihd.net/none/zdf/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil_282k_p16v13.webm", "format_id": "http-vp8_vorbis_webm_http_na_na-low", "format_note": "low", "quality": 1}, {"http_headers": {"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)"}, "ext": "mp4", "protocol": "https", "preference": -10, "language": "deu", "format": "http-h264_aac_mp4_http_na_na-low - unknown (low)", "url": "https://nrodlzdf-a.akamaihd.net/none/zdf/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil_229k_p7v13.mp4", "format_id": "http-h264_aac_mp4_http_na_na-low", "format_note": "low", "quality": 1}, {"http_headers": {"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)"}, "ext": "webm", "protocol": "https", "preference": -10, "language": "deu", "format": "http-vp8_vorbis_webm_http_na_na-high - unknown (high)", "url": "https://nrodlzdf-a.akamaihd.net/none/zdf/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil_776k_p17v13.webm", "format_id": "http-vp8_vorbis_webm_http_na_na-high", "format_note": "high", "quality": 3}, {"http_headers": {"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)"}, "ext": "mp4", "protocol": "https", "preference": -10, "language": "deu", "format": "http-h264_aac_mp4_http_na_na-high-0 - unknown (high)", "url": "https://nrodlzdf-a.akamaihd.net/none/zdf/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil_476k_p9v13.mp4", "format_id": "http-h264_aac_mp4_http_na_na-high-0", "format_note": "high", "quality": 3}, {"http_headers": {"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)"}, "ext": "mp4", "protocol": "https", "preference": -10, "language": "deu", "format": "http-h264_aac_mp4_http_na_na-high-1 - unknown (high)", "url": "https://rodlzdf-a.akamaihd.net/none/zdf/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil_476k_p9v13.mp4", "format_id": "http-h264_aac_mp4_http_na_na-high-1", "format_note": "high", "quality": 3}, {"http_headers": {"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)"}, "ext": "webm", "protocol": "https", "preference": -10, "language": "deu", "format": "http-vp8_vorbis_webm_http_na_na-veryhigh - unknown (veryhigh)", "url": "https://nrodlzdf-a.akamaihd.net/none/zdf/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil_1496k_p18v13.webm", "format_id": "http-vp8_vorbis_webm_http_na_na-veryhigh", "format_note": "veryhigh", "quality": 4}, {"http_headers": {"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)"}, "ext": "mp4", "protocol": "https", "preference": -10, "language": "deu", "format": "http-h264_aac_mp4_http_na_na-veryhigh-0 - unknown (veryhigh)", "url": "https://nrodlzdf-a.akamaihd.net/none/zdf/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil_1496k_p13v13.mp4", "format_id": "http-h264_aac_mp4_http_na_na-veryhigh-0", "format_note": "veryhigh", "quality": 4}, {"http_headers": {"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)"}, "ext": "mp4", "protocol": "https", "preference": -10, "language": "deu", "format": "http-h264_aac_mp4_http_na_na-veryhigh-1 - unknown (veryhigh)", "url": "https://rodlzdf-a.akamaihd.net/none/zdf/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil_1496k_p13v13.mp4", "format_id": "http-h264_aac_mp4_http_na_na-veryhigh-1", "format_note": "veryhigh", "quality": 4}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "protocol": "m3u8_native", "format": "hls-158 - 240x136", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_164000_av.m3u8?null=0", "vcodec": "avc1.66.30", "tbr": 158, "height": 136, "width": 240, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_164000_av.m3u8?null=0", "format_id": "hls-158", "acodec": "mp4a.40.2"}, {"protocol": "f4m", "format": "hds-223-0 - unknown", "tbr": 223, "height": null, "preference": null, "manifest_url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "format_id": "hds-223-0", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "vcodec": null, "width": null, "ext": "flv"}, {"protocol": "f4m", "format": "hds-223-1 - unknown", "tbr": 223, "height": null, "preference": null, "manifest_url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "format_id": "hds-223-1", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "vcodec": null, "width": null, "ext": "flv"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=/ZUYzETABpB3q+TOETXuDQ=="}, "protocol": "m3u8_native", "format": "hls-223 - 320x176", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_229000_av.m3u8?null=0", "vcodec": "avc1.77.30", "tbr": 223, "height": 176, "width": 320, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_229000_av.m3u8?null=0", "format_id": "hls-223", "acodec": "mp4a.40.2"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "protocol": "m3u8_native", "format": "hls-258 - 320x176", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_229000_av.m3u8?null=0", "vcodec": "avc1.66.30", "tbr": 258, "height": 176, "width": 320, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_229000_av.m3u8?null=0", "format_id": "hls-258", "acodec": "mp4a.40.2"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "protocol": "m3u8_native", "format": "hls-312 - 320x176", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_282000_av.m3u8?null=0", "vcodec": "avc1.66.30", "tbr": 312, "height": 176, "width": 320, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_282000_av.m3u8?null=0", "format_id": "hls-312", "acodec": "mp4a.40.2"}, {"protocol": "f4m", "format": "hds-471-0 - unknown", "tbr": 471, "height": null, "preference": null, "manifest_url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "format_id": "hds-471-0", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "vcodec": null, "width": null, "ext": "flv"}, {"protocol": "f4m", "format": "hds-471-1 - unknown", "tbr": 471, "height": null, "preference": null, "manifest_url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "format_id": "hds-471-1", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "vcodec": null, "width": null, "ext": "flv"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=/ZUYzETABpB3q+TOETXuDQ=="}, "protocol": "m3u8_native", "format": "hls-471 - 480x272", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_476000_av.m3u8?null=0", "vcodec": "avc1.77.30", "tbr": 471, "height": 272, "width": 480, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_476000_av.m3u8?null=0", "format_id": "hls-471", "acodec": "mp4a.40.2"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "protocol": "m3u8_native", "format": "hls-516 - 480x272", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_476000_av.m3u8?null=0", "vcodec": "avc1.66.30", "tbr": 516, "height": 272, "width": 480, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/200/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_476000_av.m3u8?null=0", "format_id": "hls-516", "acodec": "mp4a.40.2"}, {"protocol": "f4m", "format": "hds-773 - unknown", "tbr": 773, "height": null, "preference": null, "manifest_url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "format_id": "hds-773", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "vcodec": null, "width": null, "ext": "flv"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=/ZUYzETABpB3q+TOETXuDQ=="}, "protocol": "m3u8_native", "format": "hls-773 - 640x360", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_776000_av.m3u8?null=0", "vcodec": "avc1.77.30", "tbr": 773, "height": 360, "width": 640, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_776000_av.m3u8?null=0", "format_id": "hls-773", "acodec": "mp4a.40.2"}, {"protocol": "f4m", "format": "hds-1486 - unknown", "tbr": 1486, "height": null, "preference": null, "manifest_url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "format_id": "hds-1486", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "vcodec": null, "width": null, "ext": "flv"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=/ZUYzETABpB3q+TOETXuDQ=="}, "protocol": "m3u8_native", "format": "hls-1486 - 852x480", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_1496000_av.m3u8?null=0", "vcodec": "avc1.77.30", "tbr": 1486, "height": 480, "width": 852, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_1496000_av.m3u8?null=0", "format_id": "hls-1486", "acodec": "mp4a.40.2"}, {"protocol": "f4m", "format": "hds-2289 - unknown", "tbr": 2289, "height": null, "preference": null, "manifest_url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "format_id": "hds-2289", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "vcodec": null, "width": null, "ext": "flv"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=/ZUYzETABpB3q+TOETXuDQ=="}, "protocol": "m3u8_native", "format": "hls-2289 - 1024x576", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_2296000_av.m3u8?null=0", "vcodec": "avc1.77.30", "tbr": 2289, "height": 576, "width": 1024, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_2296000_av.m3u8?null=0", "format_id": "hls-2289", "acodec": "mp4a.40.2"}, {"protocol": "f4m", "format": "hds-3276 - unknown", "tbr": 3276, "height": null, "preference": null, "manifest_url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "format_id": "hds-3276", "http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=q8bodnGTiNgEBFpS42ZORw=="}, "url": "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/manifest.f4m?hdcore=3.7.0", "vcodec": null, "width": null, "ext": "flv"}, {"http_headers": {"Accept-Language": "en-us,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Cookie": "_alid_=/ZUYzETABpB3q+TOETXuDQ=="}, "protocol": "m3u8_native", "format": "hls-3276 - 1280x720", "url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_3296000_av.m3u8?null=0", "vcodec": "avc1.77.30", "tbr": 3276, "height": 720, "width": 1280, "ext": "mp4", "preference": null, "fps": null, "manifest_url": "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_3296000_av.m3u8?null=0", "format_id": "hls-3276", "acodec": "mp4a.40.2"}]}

in something like that

{
  "extractor":                   "ZDF",
  "title":                       "Ausgegraben",
  "duration":                    5298,
  "upload_date":                 "20170104",
  "webpage_url":                 "https://www.zdf.de/filme/wilsberg/ausgegraben-104.html",
  "description":                 "Wilsberg in N\u00f6ten:        Steuerpr\u00fcfer Ekki Talk\u00f6tter hat sich im Antiquariat eingenistet und macht Wilsberg das Leben schwer.",
  "protocol":                    "m3u8_native",
  "height":                      720,
  "width":                       1280,
  "manifest_url":                "https://zdfvodnone-vh.akamaihd.net/i/meta-files/zdf/smil/m3u8/300/17/01/170104_ausgegraben_wil/1/170104_ausgegraben_wil.smil/index_3296000_av.m3u8?null=0",
  "fulltitle":                   "Ausgegraben",
  "id":                          "ausgegraben-104",
  "playlist":                    null,
  "_filename":                   "Ausgegraben-ausgegraben-104.mp4",
  "playlist_index":              null,
  "thumbnail":                   "https://www.zdf.de/assets/ausgegraben-102~840x360?cb=1480509298786",
  "fps":                         null,
  "webpage_url_basename":        "ausgegraben-104.html",
  "acodec":                      "mp4a.40.2",
  "display_id":                  "ausgegraben-104",
  "format":                      "hls-3276 - 1280x720",
  "timestamp":                   1483562700,
  "tbr":                         3276,
  "preference":                  null,
  "format_id":                   "hls-3276",
  "subtitles":                   {
    
  },
  "thumbnails":                  [{
      "url":                        "https://www.zdf.de/assets/ausgegraben-102~384xauto?cb=1480509298786",
      "format_id":                  "384xauto",
      "id":                         "0"}
      , 
    --- and so on and on i dont have tool to do that and i dont see why i shuld indent all that crap manually ---

and it would, afaik, still be parseable with any json parser (never used this file format because i hate javascript to the death)

the next step would the to convert the json to an real nice human readable output like with mediainfo ( http://mediainfo.sourceforge.net )

@treakiandroid treakiandroid changed the title improve extracting of zdf mediathek as it is today improve extracting of zdf mediathek as it is today; improve json output do be more human readable Jan 5, 2017
@treakiandroid treakiandroid changed the title improve extracting of zdf mediathek as it is today; improve json output do be more human readable improve extracting of zdf mediathek; improve json output do be more human readable Jan 5, 2017
@treakiandroid treakiandroid changed the title improve extracting of zdf mediathek; improve json output do be more human readable improve extracting of zdf mediathek; improve json output to be more human readable Jan 5, 2017
@dstftw dstftw closed this as completed in c297f76 Mar 1, 2021
dstftw added a commit that referenced this issue Mar 1, 2021
…loses #21185, closes #26711, closes #27068, closes #27930, closes #28198, closes #28199, closes #28274)

* Generalize unique video ids for zdf based extractors
* Improve extraction
* Fix 3sat and phoenix
github-actions bot added a commit to hellopony/youtube-dl that referenced this issue Mar 2, 2021
* https://github.com/ytdl-org/youtube-dl:
  [9c9media] fix extraction for videos with multiple ContentPackages(closes ytdl-org#28309)
  [bbc] correct catched exception type
  [bbc] add support for BBC Reel videos(closes ytdl-org#21870, closes ytdl-org#23660, closes ytdl-org#28268)
  release 2021.03.02
  [ChangeLog] Actualize [ci skip]
  [zdf] Rework extractors (closes ytdl-org#11606, closes ytdl-org#13473, closes ytdl-org#17354, closes ytdl-org#21185, closes ytdl-org#26711, closes ytdl-org#27068, closes ytdl-org#27930, closes ytdl-org#28198, closes ytdl-org#28199, closes ytdl-org#28274)
leshasmlesha pushed a commit to leshasmlesha/youtube-dl that referenced this issue Mar 7, 2021
…closes ytdl-org#17354, closes ytdl-org#21185, closes ytdl-org#26711, closes ytdl-org#27068, closes ytdl-org#27930, closes ytdl-org#28198, closes ytdl-org#28199, closes ytdl-org#28274)

* Generalize unique video ids for zdf based extractors
* Improve extraction
* Fix 3sat and phoenix
leshasmlesha pushed a commit to leshasmlesha/youtube-dl that referenced this issue Mar 7, 2021
…closes ytdl-org#17354, closes ytdl-org#21185, closes ytdl-org#26711, closes ytdl-org#27068, closes ytdl-org#27930, closes ytdl-org#28198, closes ytdl-org#28199, closes ytdl-org#28274)

* Generalize unique video ids for zdf based extractors
* Improve extraction
* Fix 3sat and phoenix
leshasmlesha pushed a commit to leshasmlesha/youtube-dl that referenced this issue Apr 3, 2021
…closes ytdl-org#17354, closes ytdl-org#21185, closes ytdl-org#26711, closes ytdl-org#27068, closes ytdl-org#27930, closes ytdl-org#28198, closes ytdl-org#28199, closes ytdl-org#28274)

* Generalize unique video ids for zdf based extractors
* Improve extraction
* Fix 3sat and phoenix
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

1 participant