ytdl-org / youtube-dl

Command-line program to download videos from YouTube.com and other video sites
http://ytdl-org.github.io/youtube-dl/
The Unlicense
131.41k stars 9.96k forks source link

[tvnow.de] HTTP Error 403: Forbidden #15361

Closed probonopd closed 6 years ago

probonopd commented 6 years ago

Before submitting an issue make sure you have:

What is the purpose of your issue?

$ /usr/local/bin/youtube-dl -v https://www.tvnow.de/rtl/punkt-12/teil-1-2-thema-u-a-anschnallpflicht-im-bus/player
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'https://www.tvnow.de/rtl/punkt-12/teil-1-2-thema-u-a-anschnallpflicht-im-bus/player']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.01.18
[debug] Python version 2.7.13 (CPython) - Linux-4.9.0-1-amd64-x86_64-with-Debian-17.03-stretch
[debug] exe versions: avconv 3.2.2-2, avprobe 3.2.2-2, ffmpeg 3.2.2-2, ffprobe 3.2.2-2, rtmpdump 2.4
[debug] Proxy map: {}
[TVNow] punkt-12/teil-1-2-thema-u-a-anschnallpflicht-im-bus: Downloading JSON metadata
[TVNow] 410326: Downloading MPD manifest
WARNING: Failed to download MPD manifest: HTTP Error 403: Forbidden
[TVNow] 410326: Downloading ISM manifest
WARNING: Failed to download ISM manifest: HTTP Error 403: Forbidden
[TVNow] 410326: Downloading m3u8 information
WARNING: Failed to download m3u8 information: HTTP Error 403: Forbidden
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 784, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 438, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/tvnow.py", line 124, in _real_extract
    return self._extract_video(info, display_id)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/tvnow.py", line 52, in _extract_video
    self._sort_formats(formats)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 1069, in _sort_formats
    raise ExtractorError('No video formats found')
ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
z1atk0 commented 6 years ago

Happens again now after it used to work fine for a while:

[zlatko@disclosure:~/mnt/nas/_/Downloads]$ youtube-dl --verbose -F "https://www.tvnow.at/vox/imposters/sie-ist-weg/player"
[debug] System config: []
[debug] User config: [u'--proxy', u'', u'--rate-limit', u'20M']
[debug] Custom config: []
[debug] Command-line args: [u'--verbose', u'-F', u'https://www.tvnow.at/vox/imposters/sie-ist-weg/player']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.04.25
[debug] Python version 2.7.14 (CPython) - Linux-4.14.36-i686-Intel-R-_Core-TM-_i3-3220_CPU_@_3.30GHz-with-slackware-14.2
[debug] exe versions: ffmpeg 3.4.2, ffprobe 3.4.2, rtmpdump 2.4
[debug] Proxy map: {}
[TVNow] imposters/sie-ist-weg: Downloading JSON metadata
[TVNow] 426848: Downloading MPD manifest
WARNING: Failed to download MPD manifest: HTTP Error 403: Forbidden
[TVNow] 426848: Downloading ISM manifest
WARNING: Failed to download ISM manifest: HTTP Error 403: Forbidden
[TVNow] 426848: Downloading m3u8 information
WARNING: Failed to download m3u8 information: HTTP Error 403: Forbidden
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 789, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 440, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/tvnow.py", line 150, in _real_extract
    return self._extract_video(info, display_id)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/tvnow.py", line 55, in _extract_video
    self._sort_formats(formats)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 1083, in _sort_formats
    raise ExtractorError('No video formats found')
ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
reox commented 6 years ago

It looks like only certain shows are affected... I tried this one here, which seems to work:

$ youtube-dl --verbose -F http://www.tvnow.at/vox/ab-ins-beet/claus-seine-freunde-keine-poolparty/player?return=/vox/ab-ins-beet/list/staffel-14
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', '-F', 'http://www.tvnow.at/vox/ab-ins-beet/claus-seine-freunde-keine-poolparty/player?return=/vox/ab-ins-beet/list/staffel-14']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.05.01
[debug] Python version 3.6.5rc1 (CPython) - Linux-4.15.0-3-amd64-x86_64-with-debian-buster-sid
[debug] exe versions: avconv 3.4.2-2, avprobe 3.4.2-2, ffmpeg 3.4.2-2, ffprobe 3.4.2-2
[debug] Proxy map: {}
[TVNow] ab-ins-beet/claus-seine-freunde-keine-poolparty: Downloading JSON metadata
[TVNow] 427776: Downloading MPD manifest
[TVNow] 427776: Downloading ISM manifest
[TVNow] 427776: Downloading m3u8 information
[info] Available formats for 427776:
format code         extension  resolution note
mss-audio-128       isma       audio only  128k , AACL  (44100Hz)
dash-audio=128000   m4a        audio only [de] DASH audio  128k , m4a_dash container, mp4a.40.2 (44100Hz)
hls-136             mp4        audio only  136k , mp4a.40.2@128k
mss-video-80        ismv       256x144      80k , AVC1, video only
dash-video=80000    mp4        256x144    [de] DASH video   80k , mp4_dash container, avc1.420015, 25fps, video only
mss-video-230       ismv       320x180     230k , AVC1, video only
dash-video=230000   mp4        320x180    [de] DASH video  230k , mp4_dash container, avc1.420015, 25fps, video only
mss-video-500       ismv       640x360     500k , AVC1, video only
dash-video=500000   mp4        640x360    [de] DASH video  500k , mp4_dash container, avc1.4D001F, 25fps, video only
mss-video-800       ismv       640x360     800k , AVC1, video only
dash-video=800000   mp4        640x360    [de] DASH video  800k , mp4_dash container, avc1.4D001F, 25fps, video only
mss-video-1400      ismv       960x540    1400k , AVC1, video only
dash-video=1400000  mp4        960x540    [de] DASH video 1400k , mp4_dash container, avc1.4D001F, 25fps, video only
mss-video-2800      ismv       960x540    2800k , AVC1, video only
dash-video=2800000  mp4        960x540    [de] DASH video 2800k , mp4_dash container, avc1.4D001F, 25fps, video only
hls-221             mp4        256x144     221k , avc1.66.30@  80k, 25.0fps, mp4a.40.2@128k
hls-380             mp4        320x180     380k , avc1.66.30@ 230k, 25.0fps, mp4a.40.2@128k
hls-666             mp4        640x360     666k , avc1.77.31@ 500k, 25.0fps, mp4a.40.2@128k
hls-984             mp4        640x360     984k , avc1.77.31@ 800k, 25.0fps, mp4a.40.2@128k
hls-1620            mp4        960x540    1620k , avc1.77.31@1400k, 25.0fps, mp4a.40.2@128k
hls-3104            mp4        960x540    3104k , avc1.77.31@2800k, 25.0fps, mp4a.40.2@128k (best)

But for example US shows seems to not work at all:

$ youtube-dl --verbose -F http://www.tvnow.at/vox/csi-ny/im-untergrund-2018-05-03-05-55-00/player?return=/vox/csi-ny/jahr/2018/5
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', '-F', 'http://www.tvnow.at/vox/csi-ny/im-untergrund-2018-05-03-05-55-00/player?return=/vox/csi-ny/jahr/2018/5']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.05.01
[debug] Python version 3.6.5rc1 (CPython) - Linux-4.15.0-3-amd64-x86_64-with-debian-buster-sid
[debug] exe versions: avconv 3.4.2-2, avprobe 3.4.2-2, ffmpeg 3.4.2-2, ffprobe 3.4.2-2
[debug] Proxy map: {}
[TVNow] csi-ny/im-untergrund-2018-05-03-05-55-00: Downloading JSON metadata
[TVNow] 429058: Downloading MPD manifest
WARNING: Failed to download MPD manifest: HTTP Error 403: Forbidden
[TVNow] 429058: Downloading ISM manifest
WARNING: Failed to download ISM manifest: HTTP Error 403: Forbidden
[TVNow] 429058: Downloading m3u8 information
WARNING: Failed to download m3u8 information: HTTP Error 403: Forbidden
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/home/reox/.venv/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 789, in extract_info
    ie_result = ie.extract(url)
  File "/home/reox/.venv/lib/python3.6/site-packages/youtube_dl/extractor/common.py", line 440, in extract
    ie_result = self._real_extract(url)
  File "/home/reox/.venv/lib/python3.6/site-packages/youtube_dl/extractor/tvnow.py", line 150, in _real_extract
    return self._extract_video(info, display_id)
  File "/home/reox/.venv/lib/python3.6/site-packages/youtube_dl/extractor/tvnow.py", line 55, in _extract_video
    self._sort_formats(formats)
  File "/home/reox/.venv/lib/python3.6/site-packages/youtube_dl/extractor/common.py", line 1130, in _sort_formats
    raise ExtractorError('No video formats found')
youtube_dl.utils.ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
reox commented 6 years ago

Ahh okay - I think I found the issue: Those videos are DRM protected, but the extractor does not recognize the field in the JSON response.

Here is the json for the Ab ins Beet episode:

{
    "articleLong": "Claus & seine Freunde - Bierkasten-Pool \nKeine Poolparty. Claus ist nicht fertig und es gibt ein Problem: Die K\u00e4sten halten den Wasserdruck nicht aus. \n\nBj\u00f6rn & Stefan - Erdk\u00fchlschrank \nBuddeln f\u00fcrs Bier. \u00dcber dem K\u00fchlschrank entsteht eine Theke mit besonderer Deko aus Kronkorken mit F\u00f6rderturm. \n\nSandra & Andcej - Garten-Sanierung \nErster Meilenstein geschafft. Als n\u00e4chstes steht die Holz-Terrasse an. Doch die Doppelbelastung mit Baby und Baustelle zerrt an Andcej.",
    "articleShort": "Claus & seine Freunde - Bierkasten-Pool \nKeine Poolparty. Claus ist nicht fertig und es gibt ein Problem: Die K\u00e4sten halten den Wasserdruck nicht aus. \n",
    "broadcastStartDate": "2018-04-29 19:15:00",
    "duration": "00:45:47",
    "episode": 9,
    "format": {
        "defaultImage169Format": "http://bilder.rtl.de/rtlnow/adminupload/ab_ins_beet_default_autoimage_teaser_1280x720.jpg",
        "defaultImage169Logo": "http://bilder.rtl.de/rtlnow/adminupload/ab_ins_beet_logobild_768x432.jpg",
        "title": "Ab ins Beet!"
    },
    "free": true,
    "geoblocked": false,
    "id": 427776,
    "isDrm": false,
    "manifest": {
        "dashclear": "https://vodnowusodash.secure.footprint.net/proxy/clear/manifest/tvnow/427776-1-24742.ism/.mpd?filter=(type%3d%3d%22audio%22)%7c%7c(type%3d%3d%22video%22%26%26systemBitrate%3c1550000)"
    },
    "season": 14,
    "title": "Claus & seine Freunde: Keine Poolparty"
}

and here for CSI:

{
    "articleLong": "Der ber\u00fchmte Arch\u00e4ologe James Sutton wurde in einer Seitengasse erschossen. Mac und sein Team finden heraus, dass Sutton kurz vor seinem Tod einen Club besucht hatte, wo er einigen Freunden und Bewunderern von seinen j\u00fcngsten Ausgrabungen im New Yorker Untergrund berichtet hatte. War Sutton auf etwas so Wertvolles gesto\u00dfen, dass man ihn daf\u00fcr ermordet hat? Dieser Verdacht scheint sich schon bald zu best\u00e4tigen.",
    "articleShort": "Der Arch\u00e4ologe James Sutton wird erschossen. Mac und sein Team finden heraus, dass Sutton kurz vor seinem Tod einen Club besucht hatte, wo er einigen Bewunderern von seinen j\u00fcngsten Ausgrabungen im New Yorker Untergrund berichtet hatte.",
    "broadcastStartDate": "2018-05-03 06:00:00",
    "duration": "00:36:27",
    "episode": 97,
    "format": {
        "defaultImage169Format": "http://bilder.rtl.de/rtlnow/adminupload/csi_ny_default_autoimage_teaser_1280x720.jpg",
        "defaultImage169Logo": "http://bilder.rtl.de/rtlnow/adminupload/csy_new_york-768x432_logobild.jpg",
        "title": "CSI: NY"
    },
    "free": true,
    "geoblocked": false,
    "id": 429058,
    "isDrm": true,
    "manifest": {
        "dashclear": "https://vodnowusodash.secure.footprint.net/proxy/clear/manifest/tvnow/429058-1-25877.ism/.mpd?filter=(type%3d%3d%22audio%22)%7c%7c(type%3d%3d%22video%22%26%26systemBitrate%3c1550000)"
    },
    "season": 5,
    "title": "Im Untergrund"
}

But I do not understand why the script does not raise the ExtractorError...