ČT24 ve VLC nebo MPV

Jigdo

  • ****
  • 478
    • Zobrazit profil
Re:ČT24 ve VLC nebo MPV
« Odpověď #15 kdy: 31. 03. 2020, 14:08:23 »
Na mojem debian-bullseye systemu uvedeny postup nefunguje a hlasi to chybu:

ERROR: Unable to download webpage: <urlopen error [SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:727)> (caused by URLError(SSLError(1, u'[SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:727)'),))


Kód: [Vybrat]
$ youtube-dl -g "https://www.ceskatelevize.cz/porady/10101491767-studio-ct24/220411058270331/" --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-g', u'https://www.ceskatelevize.cz/porady/10101491767-studio-ct24/220411058270331/', u'--verbose']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2020.03.24
[debug] Python version 2.7.17 (CPython) - Linux-5.4.0-4-amd64-x86_64-with-debian-bullseye-sid
[debug] exe versions: ffmpeg 4.2.2-1, ffprobe 4.2.2-1, phantomjs 2.1.1, rtmpdump 2.4
[debug] Proxy map: {}
ERROR: Unable to download webpage: <urlopen error [SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:727)> (caused by URLError(SSLError(1, u'[SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:727)'),))
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 627, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 2238, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib/python2.7/urllib2.py", line 429, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 447, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain
    result = func(*args)
  File "/usr/local/bin/youtube-dl/youtube_dl/utils.py", line 2728, in https_open
    req, **kwargs)
  File "/usr/lib/python2.7/urllib2.py", line 1198, in do_open
    raise URLError(err)


ktera se ale neobjevuje na PC se systemem Debian Jessie

Kód: [Vybrat]
$ youtube-dl -g "https://www.ceskatelevize.cz/porady/10101491767-studio-ct24/220411058270331/" --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-g', u'https://www.ceskatelevize.cz/porady/10101491767-studio-ct24/220411058270331/', u'--verbose']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2020.03.24
[debug] Python version 2.7.9 (CPython) - Linux-3.16.0-10-amd64-x86_64-with-debian-8.11
[debug] exe versions: ffmpeg 3.2.10-1, ffprobe 3.2.10-1, rtmpdump 2.4
[debug] Proxy map: {}
WARNING: "id" field is not a string - forcing string conversion, there is an error in extractor
[debug] Default format spec: bestvideo+bestaudio/best
https://ivys-vst14-2.o2tv.cz/af/279b9c907a9d19d3dcc97ea3760edfcc/1585655894182/a513a6b940488ef38b22554cfa9c17ae3/dna-2402-tv-pc-W10800/rel/1506v1102.k.m3u8


Jigdo

  • ****
  • 478
    • Zobrazit profil
Re:ČT24 ve VLC nebo MPV
« Odpověď #16 kdy: 31. 03. 2020, 14:11:18 »
Tak díky Ondřejovi Caletkovi jsem vyzkoušel následující:

1) Aktualizujte youtube-dl:
Kód: [Vybrat]
youtube-dl -U2) získejte URL aktuálního pořadu: otevřete https://ct24.ceskatelevize.cz/#live a pod oknem s videem (v sekci "Právě vysíláme") klikněte na odkaz Podrobnosti
3) URL stránky si uložte (aktuálně např. https://www.ceskatelevize.cz/porady/10101491767-operace-oka/)
4) spusťte
Kód: [Vybrat]
youtube-dl -g <url-z-kroku-3>5) výsledkem je (na stdout) URL na HLS playlist bez DRM (!), který lze přehrát ve VLC/MPV

Otestoval jsem browsery na mé aktuální pracovní platformě, tj. MacOSu: ve Firefoxu dostávám MPEG-DASH s DRM, v Chrome taktéž, v Safari pak HLS v5 s DRM; playlist získaný pomocí youtube-dl je HLS v4 bez DRM.

Pořady, u kterých je vynucené DRM, pravděpodobně tímto postupem fungovat nebudou.


Zajimave, uvedeny link, bud prehrava live steam se spozdenim 5 minut (ktery se seka po 6sec), nebo z 10am dneska rano a tad mi na stance https://www.ceskatelevize.cz/porady/10101491767-studio-ct24/220411058270331/
pise:

Pořad bude možné přehrát od 13:33
Video neni k dispozici ......

Re:ČT24 ve VLC nebo MPV
« Odpověď #17 kdy: 31. 03. 2020, 14:22:11 »
dh key too small (_ssl.c:727)'),))
To se mi taky stává, a myslím, že příčina je  stará knihovna pro SSL (řekl bych, že youtube-dl využívá systémovou, jelikož je tam 2020 ve verzi)

A ono přehrávat si DASH/HLS není vůbec bezproblémové, najít funkční přehrávač je oříšek. Možné problémy:
- stahuje všechny streamy (FHD,HD,574,...) najednou
- problémy se seekem
- záseky
- škubání každých 10s (což je délka jednoho segmentu ve streamu)
- desynchronizace zvuku
- špatná logika stahování (nestahuje dopředu, dojde buffer)
-pravděpodobně nějak "bugy" ze strany ivysilání

Jigdo

  • ****
  • 478
    • Zobrazit profil
Re:ČT24 ve VLC nebo MPV
« Odpověď #18 kdy: 29. 01. 2024, 10:48:21 »
Takze konecne v CT (O2) odstranili DRM z "live" vysilani CT24
https://ct24.ceskatelevize.cz/#live
ale koukam na to, je tam MPD, ale ten se stejne neda prehravat ve VLC/MPV :(


Re:ČT24 ve VLC nebo MPV
« Odpověď #19 kdy: 29. 01. 2024, 14:03:31 »
Tak proč mi prohlížeč stahuje api.ceskatelevize.cz/video/v1/playlist-live/v1/stream-data/channel/CH_1?canPlayDrm=true ?
Konzole mi ukazuje canPlayDRM undefined a pak Shaka Error Cannot playDRM


Takže je nová doba, zkouším tedy v nastavení pro tento webu POvolit chráněný obsah z Povolit na Zakázat
 To ale nepomohlo.
Co mám udělat aby mi prohlížeč vysílal
api.ceskatelevize.cz/video/v1/playlist-live/v1/stream-data/channel/CH_1?canPlayDrm=FALSE

Pak si to mohu stáhnout přes wget a curfl a přehrát v vlc



Vypadá to zase, že aby fungovalo přehrávání z tohoto webu, bude zase nutný gambling User agentů,

Do psích kulí! už měli období, kdy to fungovalo !!


Pak mi tu ukazuje chybu
'Native error: DEMUXER_ERROR_COULD_NOT_OPEN: FFmpegDemuxer: open context failed'}


Jigdo

  • ****
  • 478
    • Zobrazit profil
Re:ČT24 ve VLC nebo MPV
« Odpověď #20 kdy: 29. 01. 2024, 14:21:34 »
Jak to ze mi u ziveho vysilani CT1 mi to ukazuje ze ten mp4 nema zaden KID?

Kód: [Vybrat]
yt-dlp --allow-u -F "https://ivys-nw-cdn.o2tv.cz/cdn/uri/get/?token=12345abcde .... &drmOnly=true&qualityCount=5&encryption=wv"  --proxy socks5://127.0.0.1:4090
Chci video:
Kód: [Vybrat]
ID        EXT RESOLUTION │   TBR PROTO │ VCODEC        VBR ACODEC      ABR ASR MORE INFO
──────────────────────────────────────────────────────────────────────────────────────────────────────────────
1102-1502 m4a audio only │  128k dash  │ audio only        mp4a.40.2  128k 48k [cze] DRM, DASH audio, m4a_dash
1101-1502 mp4 512x288    │  500k dash  │ avc1.42c015  500k video only          DRM, DASH video, mp4_dash
1101-1503 mp4 720x404    │ 1032k dash  │ avc1.4d401e 1032k video only          DRM, DASH video, mp4_dash
1101-1504 mp4 1024x576   │ 2048k dash  │ avc1.4d401f 2048k video only          DRM, DASH video, mp4_dash
1101-1505 mp4 1280x720   │ 3584k dash  │ avc1.4d401f 3584k video only          DRM, DASH video, mp4_dash
1101-1506 mp4 1920x1080  │ 6144k dash  │ avc1.4d4028 6144k video only          DRM, DASH video, mp4_dash

Takze stahuji sample:
yt-dlp --test --allow-u -o init.mp4 -f 1101-1506 "https://ivys-nw-cdn.o2tv.cz/cdn/uri/get/?token=12345abcde .... &drmOnly=true&qualityCount=5&encryption=wv"  --proxy socks5://127.0.0.1:4090

A v init.mp4" je tohle:

Kód: [Vybrat]
$ mp4info --verbose init.mp4
File:
  major brand:      iso6
  minor version:    1
  compatible brand: iso6
  compatible brand: isom
  compatible brand: avc1
  compatible brand: dash
  fast start:       yes

Movie:
  duration:   0 (media timescale units)
  duration:   0 (ms)
  time scale: 1000
  fragments:  yes

Found 1 Tracks
Track 1:
  flags:        3 ENABLED IN-MOVIE
  id:           1
  type:         Video
  duration: 0 ms
  language: und
  media:
    sample count: 0
    timescale:    90000
    duration:     0 (media timescale units)
    duration:     0 (ms)
    bitrate (computed): 0.000 Kbps
    sample count with fragments: 0
    duration with fragments:     0
    duration with fragments:     0 (ms)
  display width:  1920.000000
  display height: 1080.000000
  Sample Description 0
    [ENCRYPTED]
      Coding:         encv
      Scheme Type:    cenc
      Scheme Version: 65536
      Scheme URI:
    Protection System Details:
[schi] size=8+32
  [tenc] size=12+20
    default_isProtected = 1
    default_Per_Sample_IV_Size = 8
    default_KID = [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]


Ale PSSH pro CT1 ma 12 kid:key

Kód: [Vybrat]
(AAAANXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABUiBjEyMi10djirzK0BSOPclZsGUAA=)
- 7f8b5dee6e2c5e1990dd859b2b6f0d6e:
- 26e49b5b1b215fbd9d5089c6dd7ec5aa:
- 616a14e15a425c429200b81252b7cbd5:
- 803ba4bf42bc55bf860b3ff65b3397f5:
- b51646310da951b792f3b0e4b592ac1a:
- a55aa203f58a5ab1a3c446996c95c7df:
- 683d255683ad5d79850d949c69e42b80:
- 9be9ebb1fc1a50808354f54f5eeb6513:
- 3feb1a0736dc53cdad84dc03aff0fe4e:
- 251a6a83da8b51dbb908deceb20a8f7d:
- 0c39983ea76959d5a0d7f3515cfc0a9d:
- 7394dfe4ce6453b085cc04fe8ff03420:

Jigdo

  • ****
  • 478
    • Zobrazit profil
Re:ČT24 ve VLC nebo MPV
« Odpověď #21 kdy: 29. 01. 2024, 14:37:40 »
Tak proč mi prohlížeč stahuje api.ceskatelevize.cz/video/v1/playlist-live/v1/stream-data/channel/CH_1?canPlayDrm=true ?
Konzole mi ukazuje canPlayDRM undefined a pak Shaka Error Cannot playDRM


Takže je nová doba, zkouším tedy v nastavení pro tento webu POvolit chráněný obsah z Povolit na Zakázat
 To ale nepomohlo.
Co mám udělat aby mi prohlížeč vysílal
api.ceskatelevize.cz/video/v1/playlist-live/v1/stream-data/channel/CH_1?canPlayDrm=FALSE




#CT24 = CH_24
api.ceskatelevize.cz/video/v1/playlist-live/v1/stream-data/channel/CH_24?canPlayDrm=false&streamType=dash&quality=web&maxQualityCount=5

#CT1 = CH_1
api.ceskatelevize.cz/video/v1/playlist-live/v1/stream-data/channel/CH_1?canPlayDrm=true&streamType=dash&quality=web&maxQualityCount=5

Sat1

Re:ČT24 ve VLC nebo MPV
« Odpověď #22 kdy: 29. 01. 2024, 23:38:47 »
Ono to mají vůbec celé dost divně. Já se peru s celým iVysíláním kvůli loadbalancingu. Z nějakého nepochopitelného důvodu to nepovolí přehrát pořad, když se web ivysilani.cz načte přes jednu linku a cdn se streamem přes druhou.

Jigdo

  • ****
  • 478
    • Zobrazit profil
Re:ČT24 ve VLC nebo MPV
« Odpověď #23 kdy: 31. 01. 2024, 15:06:08 »
Ono to mají vůbec celé dost divně. Já se peru s celým iVysíláním kvůli loadbalancingu. Z nějakého nepochopitelného důvodu to nepovolí přehrát pořad, když se web ivysilani.cz načte přes jednu linku a cdn se streamem přes druhou.

To uz je nejaky patek, myslim ze s Tim prisli pred vanocemi ... :(

Kdy mne s tim vytrestali, protoze pouzivam proxy v prohlilzeci
a potom z prikazove radky to nefungovalo ........ az pozdeji mne napadlo ze to muze byt tim ..........




Re:ČT24 ve VLC nebo MPV
« Odpověď #24 kdy: 01. 02. 2024, 22:48:13 »
TAK SUPER, Konečně se mi podařilo natrefit na User Agent, se kterým Ivysílání Funguje.  Je to "Opera na Macu" typ requestu get-client- playlist před získáním atip je s argumentem encryption=wv&drm=false a typ playlistu je MPD

Mozilla/5.0 (Macintosh; Intel Mac OS X x) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/N Safari/537.36 OPR/65.0.3467.48

Ale fištróni si museli schovat jeden easter egg : na mobilu živé vysílání na kanálu čt24 postrádá oblast pro obraz, jiné kanály box pro obraz mají přítomen.

Jigdo

  • ****
  • 478
    • Zobrazit profil
Re:ČT24 ve VLC nebo MPV
« Odpověď #25 kdy: 11. 02. 2024, 22:26:59 »
TAK SUPER, Konečně se mi podařilo natrefit na User Agent, se kterým Ivysílání Funguje.  Je to "Opera na Macu" typ requestu get-client- playlist před získáním atip je s argumentem encryption=wv&drm=false a typ playlistu je MPD

Mozilla/5.0 (Macintosh; Intel Mac OS X x) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/N Safari/537.36 OPR/65.0.3467.48

Ale fištróni si museli schovat jeden easter egg : na mobilu živé vysílání na kanálu čt24 postrádá oblast pro obraz, jiné kanály box pro obraz mají přítomen.


S tim mi to hazi tohle:

Video se nepodařilo načíst.
Usilovně pracujeme na opravě chyby. Zkuste prosím video spustit později.