Paradise-91 / ParaTV

19 stars 2 forks source link

Tf1: The specified session has been invalidated for some reason. #4

Closed campones closed 2 months ago

campones commented 2 months ago

Bonjour

j' ai un drole de souci ce matin

[tls @ 0xcb3ba00] Error in the pull function.= 6047kB time=00:00:26.93 bitrate=1839.4kbits/s speed= 1x [tls @ 0xcb3ba00] IO error: Connection reset by peer [https @ 0xcbf23c0] Opening 'https://live-tf1-hls.cdn-0.diff.tf1.fr/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjaXAiOiI4Ni4yNDcuMjA2LjIxOCIsImNtY2QiOiIiLCJleHAiOjE3MjQxNTcxMzUsImdpZCI6IjA0NmI5NTIzLTcwN2QtNDc2My04MWM2LWU0MzU1NDEyMTdkNSIsImlhdCI6MTcyNDE0MjczNSwiaXNzIjoiZGVsaXZlcnkiLCJtYXhiIjowLCJzdGVtIjoiL291dC92MS83ODA1NDJmNTE2ZjE0M2ZjOGFkOWJmMTQ2MjIzMTZlNy90ZjEtY21hZiIsInN1YiI6IjA0NmI5NTIzLTcwN2QtNDc2My04MWM2LWU0MzU1NDEyMTdkNSJ9.mzBK3LdmrxV6HSXcaR6S-qliRDjleUheDAtXLFyib-k/out/v1/780542f516f143fc8ad9bf14622316e7/tf1_video_2_6305339.mp4?m=1712623756' for reading [tls @ 0xcb3ba00] The specified session has been invalidated for some reason. [hls @ 0xc10cb00] keepalive request failed for 'https://live-tf1-hls.cdn-0.diff.tf1.fr/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjaXAiOiI4Ni4yNDcuMjA2LjIxOCIsImNtY2QiOiIiLCJleHAiOjE3MjQxNTcxMzUsImdpZCI6IjA0NmI5NTIzLTcwN2QtNDc2My04MWM2LWU0MzU1NDEyMTdkNSIsImlhdCI6MTcyNDE0MjczNSwiaXNzIjoiZGVsaXZlcnkiLCJtYXhiIjowLCJzdGVtIjoiL291dC92MS83ODA1NDJmNTE2ZjE0M2ZjOGFkOWJmMTQ2MjIzMTZlNy90ZjEtY21hZiIsInN1YiI6IjA0NmI5NTIzLTcwN2QtNDc2My04MWM2LWU0MzU1NDEyMTdkNSJ9.mzBK3LdmrxV6HSXcaR6S-qliRDjleUheDAtXLFyib-k/out/v1/780542f516f143fc8ad9bf14622316e7/tf1_video_2_6305339.mp4?m=1712623756' with error: 'Input/output error' when opening url, retrying with new connection [hls @ 0xc10cb00] Opening 'https://live-tf1-hls.cdn-0.diff.tf1.fr/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjaXAiOiI4Ni4yNDcuMjA2LjIxOCIsImNtY2QiOiIiLCJleHAiOjE3MjQxNTcxMzUsImdpZCI6IjA0NmI5NTIzLTcwN2QtNDc2My04MWM2LWU0MzU1NDEyMTdkNSIsImlhdCI6MTcyNDE0MjczNSwiaXNzIjoiZGVsaXZlcnkiLCJtYXhiIjowLCJzdGVtIjoiL291dC92MS83ODA1NDJmNTE2ZjE0M2ZjOGFkOWJmMTQ2MjIzMTZlNy90ZjEtY21hZiIsInN1YiI6IjA0NmI5NTIzLTcwN2QtNDc2My04MWM2LWU0MzU1NDEyMTdkNSJ9.mzBK3LdmrxV6HSXcaR6S-qliRDjleUheDAtXLFyib-k/out/v1/780542f516f143fc8ad9bf14622316e7/tf1_video_2_6305339.mp4?m=1712623756' for reading [NULL @ 0xcda60c0] Invalid NAL unit size (623401316 > 7839).

ça peut venir du fait que je regarde plusieurs streams en meme temps? merci

campones commented 2 months ago

on dirait plus un souci temporaire de leur part. je vais fermer

Paradise91D4 commented 2 months ago

Bonjour,

On dirait bien que c'est un souci temporaire. Je viens de tester et je n'arrive pas à reproduire vos erreurs, même avec deux TF1 ouverts sur une autre IP que la mienne.

Est-ce que vous avez cette erreur après environ 4 heures de visionnage ? Les liens TF1 sont valables pendant 4 heures, après quoi ils expirent. C'est pour ça qu'ils sont actualisés régulièrement.

campones commented 2 months ago

oui c'est revenu 30min plus tard en réalité .

je sais bien que le token de tf1 expire après 4h, c etait deja le cas avec streamlink quand je m en servais. par contre et c'est un truc que je voulais vous demander: moi tous les jours pendant le jt ça coupe a 20h30 meme si je relance le stream par exemple a 20h45 apres le jt donc, et bien le lendemain ça coupe a 20h30 ce qui est en fait bizarre car ça fait moins de 4h, le token devrait etre valable 4 h a partir du moment ou on initie la session mais j ai l impression que ce n'est pas le cas.

Paradise91D4 commented 2 months ago

Les tokens ont effectivement une durée de validité de 4 heures, mais dans ce cas, c'est à partir du moment où ils sont actualisés par mon script et non à partir du moment où vous commencez votre session comme c'est le cas avec Streamlink.

J'ai réglé les actualisations des tokens pour qu'elles aient lieu tous les jours à 1h30-40, 4h30-40, 7h30-40, 10h30-40, 13h30-40, 16h30-40 et 18h30-40, ainsi que toutes les heures entre 18h30-40 et 23h30-40. J'ai mis toutes les heures le soir justement pour minimiser les coupures en plein programme.

Ma seule explication à votre problème serait que vous commencez votre lecture avec le token actualisé à 16h30-40 qui expire donc à 20h30-20h35 chaque jour, ce qui est normal. Cela expliquerait pourquoi votre stream se coupe toujours à cette heure-là. Avez-vous déjà essayé de commencer ou de rafraîchir la lecture après minimum le token de 18h35 ?

Si le stream se coupe toujours à 20h30-40 avec un début de lecture après 18h35, il y a effectivement un problème avec votre lecteur qui ne fait pas de nouvelle requête correctement, je pense.

De mon côté, je ne pense pas pouvoir faire mieux à part ajouter une actualisation à 17h30-40 si besoin. Vous pouvez vérifier vous-mêmes les tokens sur jwt.io ; leur date d'expiration "exp" depuis leur création "iat" est bien de 4 heures.

J'ai ajouté en bas de chaque fichier .m3u8 des chaines TF1 ces deux données. Exemple: https://github.com/Paradise-91/ParaTV/blob/1fdddda9d85490c9abdbfa802a46de2b26b0727f/streams/tf1plus/tf1.m3u8#L21

La coupure est inévitable de toute façon. L'idéal, surtout le soir, serait de rafraîchir le stream un peu avant votre programme pour avoir au minimum la dernière actualisation possible du token.

campones commented 2 months ago

ok je comprend mieux, merci pour l explication détaillée. ce n'est pas bien grave de toute manière et vos urls m' aident beaucoup. je vais essayer de me rappeler de relancer le flux aujourd'hui apres 18h30 ce qui va surement résoudre cet inconvénient mineur pendant le primetime

campones commented 2 months ago

comme prévu en démarrant apres 18h30 pas de coupure en soirée. merci

campones commented 2 weeks ago

salut depuis 3 4 jours j ai de réels soucis avec les liens de live. alors les liens marchent, sinon ça se verrait direct, mais j ai l impression que leurs streams hls ont de sérieux problèmes. j ai du passer sur une autre source pour le moment

campones commented 2 weeks ago

accessoirement les streams ont pas été mis à jour. coincidence :)

Paradise91D4 commented 2 weeks ago

Salut, Pour l'actualisation de 16h30, je viens de regarder et j'ai eu une erreur 502 sur l'API GitHub qui déclenche l'actualisation. J'ai ajouté 3 tentatives de réessai lorsqu'une erreur se produit pour les prochaines fois. Malheureusement, pour les soucis sur leur flux HLS, je n'ai aucune idée ; je ne fais que récupérer les liens.

campones commented 2 weeks ago

au fait tu savais que les streams étaient pas géobloqués?

Paradise91D4 commented 2 weeks ago

Non, j'ai jamais eu le besoin de testé avec un VPN mais j'ai trouvé ça .

campones commented 2 weeks ago

certes mais sans abo donc. en fait le blocage doit etre fait au niveau du site avant de recuperer le lien video. mais habituellement les liens sont géobloqués, d' ou ma surprise .

Paradise91D4 commented 2 weeks ago

Effectivement, je viens de tester. On peut même créer un compte depuis les USA, aucun souci, mais dès qu'on veut regarder un direct, le Player nous bloque. En revanche, oui, aucun blocage avec le lien du flux direct, assez bizarre comparé aux autres chaînes. On ne va pas s'en plaindre 😆

campones commented 2 weeks ago

non c'est sur mais c'est pour ça que je t' en parlais car pas banal . tellement pas banal qu' a la base on n'y pense meme pas

campones commented 1 week ago

salut j ai le sentiment que les streams refonctionnent bien. niveau actualisation il y a tf1 qui a laché la. curieusement juste tf1

Paradise91D4 commented 1 week ago

Oui c'est normal, l'équipe de France joue sur Tf1, les matchs sont sous DRM.

campones commented 1 week ago

ah serieux c'est comme ça? . mais je croyais que les liens m3u8 étaient pas sous drm car apple le supportait pas.

de la discussion que j avais eu avec un gars qui a refait le plugin tf1 pour streamlink, tous les flux de tf1 sont sous drm depuis des années sauf les hls?

Paradise91D4 commented 1 week ago

Oui, pour les matchs de foot généralement pour un match vers 21h, ils activent la protection des flux vers 18h jusqu'à la fin du match. On peut le voir ici, par exemple.


Media:
  - ID: L_TF1
  - Type: Live
  - Title: Ligue des Nations
  - URL: //delivery.tf1.fr/mytf1-wrd/L_TF1
  - Geo List: FR, AD, BL, FX, GF, GP, MC, MF, MQ, NC, PF, PM, RE, WF, YT, TF
  - Preview Image: https://photos.tf1.fr/1280/720/program-card-landscape-jpg-1e60b3-d9f40c-0@1x.jpg
  - Square Preview Image: https://photos.tf1.fr/400/400/program-card-square-png-8fc4ac-4a725f-0@1x.jpg
  - Channel: TF1
  - Live Timestamp: 1728585300
  - Geolock: True
  - Event ID: 2058877
  - Start Date: 2024-10-10T18:35:00Z
  - End Date: 2024-10-10T20:45:00Z
  - Syndicable: False
  - Short Title: Israël - France (Ligue des Nations)
  - Program Name: Ligue des Nations
  - Channel Logo: https://photos.tf1.fr/450/0/logo-tf1-2020-min-1c7c27-26ba3a-0@1x.jpg
  - Program Slug: ligue-des-nations
  - Attach: TF1
  - DRM: True

Content:
  - Title: israel-france-(ligue-des-nations)
  - Event ID: 2058877

Delivery:
  - Code: 200
  - URL: https://live-tf1-hls-secure.cdn-0.diff.tf1.fr/****/out/v1/****/tf1-cmaf/index.m3u8
  - Country: FR
  - Format: HLS
  - DRMs:
    - Name: Fairplay
      - URL: https://tf1.live.ott.irdeto.com/licenseServer/streaming/v1/tf1/getckc?contentId=TF1&keyId=****
      - Certificate: https://tf1.live.ott.irdeto.com/licenseServer/streaming/v1/tf1/getcertificate?applicationId=tf1
      - Headers:
        - Key: Authorization
          - Value: Bearer ****
    - Name: Widevine
      - URL: https://tf1.live.ott.irdeto.com/licenseServer/widevine/v1/tf1/license?contentId=TF1&keyId=****
      - Headers:
        - Key: Authorization
          - Value: Bearer ****
  - Level: Basic
  - Stream ID: L_TF1_hls_drm_nomax
campones commented 1 week ago

mais j ai utilisé tes liens pendant l' euro et j ai pas le souvenirs d' avoir un quelconque problème? étrange.

campones commented 1 week ago

et idem avec streamlink jusqu' en décembre dernier en fait. streamlink ne gère pas les flux avec drm et j' ai jamais eu de souci jusqu' en décembre .

campones commented 1 week ago

[cli][info] streamlink is running as root! Be careful! [cli][info] Found matching plugin tf1 for URL https://www.tf1.fr/tf1/direct [plugins.tf1][info] Removing cached user-authentication token... [plugins.tf1][info] Acquiring new user-authentication token... [cli][info] Available streams: 234p (worst), 360p, 576p_alt, 576p, 720p (best) [cli][info] Opening stream: 576p (hls-multi) [utils.named_pipe][info] Creating pipe streamlinkpipe-1244659-1-3061 [utils.named_pipe][info] Creating pipe streamlinkpipe-1244659-2-5934 [stream.hls][error] Failed to create decryptor: Unable to decrypt cipher SAMPLE-AES ^C[cli][info] Stream ended Interrupted! Exiting... [cli][info] Closing currently open stream...

effectivement ça ne marche plus avec streamlink non plus actuellement alors qu' en testant tsf au hasard, aucun souci. ça doit forcément etre assez récent comme modification de leur part. ça ne m' arrange pas pour etre honnête,

Paradise91D4 commented 1 week ago

Franchement, aucune idée où tu as trouvé des flux HLS non protégés pendant l'Euro. Par exemple, pour le match France-Pologne de l'Euro 2024 :

https://github.com/Paradise-91/ParaTV/blob/aa36960857edea6713adb38a2a27fa11a138a081/streams/tf1plus/tf1.m3u8

C'était bien sous DRM. Je ne sais pas si tous les matchs sont protégés, mais je ne me rappelle pas en avoir vu un seul sans protection depuis que j'ai commencé. On peut facilement voir si la chaîne est protégée : elle contient "secure" dans l'URL du flux. Si c'est sécurisé, on entendra le son mais sans image.


Sans DRM : https://live-tf1-hls.cdn-0.diff.tf1.fr/
Avec DRM : https://live-tf1-hls-secure.cdn-0.diff.tf1.fr/
campones commented 1 week ago

j ai visionné le match ce soir sans me douter que sur le flux officiel il y avait du drm. vu que j ' ai des soucis avec tes liens depuis une grosse semaine j' avais switché sur d' autres sources .

il y a eu un match officiel il n'y a pas si longtemps il me semble en septembre et pareil je n' ai eu aucun souci . apres je ne saurai plus me rappeler si je me servais de ton lien en particulier ou non.

hm hm maintenant que je me rappelle un peu je crois que le stream avait laché peu avant le début du match et j ai logiquement switché sur mon autre source tout en pestant sur le lien officiel de tf1.. "comme par hasard ça lache quand il y a un match" :))

Paradise91D4 commented 1 week ago

Je crois que les vrais matchs amicaux ne sont pas protégés maintenant que j'y pense, mais pour l'Euro et la Ligue des Nations, je n'ai aucun souvenir d'un match non protégé. Quels sont les autres problèmes à part le problème d'actualisation de l'autre fois ? Je ne sais pas quelles sont tes autres sources, mais on récupère les mêmes liens, en tout cas pour les sources que je connais.

campones commented 1 week ago

ba les soucis dont je te parlais mais tu y peux rien. toi tu récupères le lien apres si leur streams hls a un souci. j ai constaté que ça remarchait normalement depuis 2 jours, jusqu au match en fait. c'est pour ça que je suis venu posté ici

campones commented 1 week ago

tout ce que je peux te dire (et a forciori encore plus maintenant que je découvre que pour les matchs j ai plus de sources franco française) c'est que tf1 est diffusé aussi à l' étranger. c'est pas de l iptv. et c'est pas forcément tres protégé. voir meme pas du tout si ça sort dans le milieu francophone ça risque de changer par contre

Paradise91D4 commented 1 week ago

Pas de souci, et j'imagine que le DRM est activé automatiquement en fonction de leur programme, mais la protection est encore active alors que le match est fini depuis plus d'1h. On est sur "Esprits criminels" depuis un moment, pourtant le DRM est toujours là. De mes souvenirs, c'est désactivé plus rapidement, un peu étrange ce soir.

campones commented 1 week ago

oui j' ai remarqué.. c'est pas très pratique tout ça pour tout dire je trouve très étrange qu' ils s' emmerdent à retirer le drm tout bonnement. j' arrive pas à retrouver cette discussion que j ai eu ici meme sur github mais apparemment ça fait des années que c'est drm'ed tf1 a part leur liens hls pour iphone

campones commented 1 week ago

c'est lui que j avais contacté pour recoder le plugin streamlink de tf1 . c'est un français aussi https://github.com/BellezaEmporium

mais je m entends pas avec l' allemand qui gère streamlink le gars est très pénible. en plus, moi si je peux éviter streamlink c'est tout bénef car ça utilise pas mal de cpu .. d'ou l' utilisation de tes liens!

Paradise91D4 commented 1 week ago

Oui, je pense aussi que ça va finir comme M6, cette histoire sous DRM 24h/24. Et pour les liens HLS, je ne sais pas de combien de temps date ta discussion, oui ils sont sans protection mais les iPhones utilisent FairPlay pour le DRM. Dans l'exemple en haut, il y a FairPlay et Widevine pour les flux HLS. C'est ce qui est utilisé quand les flux sont protégés chez Apple.

campones commented 1 week ago

de toutes façons il est clair que , et je dis ça pour des gars comme bastimayer le gars qui gère streamlink et qui veut rien savoir des lors qu' il y a du drm (et je peux le comprendre) mais en fait dans 5 ans il y aura plus rien de fonctionnel car tout sera sécurisé

campones commented 1 week ago

ma discussion c' était vers décembre janvier 2023 24 , je pense qu' il a du supprimé car je retrouve pas

Paradise91D4 commented 1 week ago

Oui, malheureusement, je le comprends le DRM est pas si simple à contourner, à part Widevine L3, et encore moins quand on veut le partager à plusieurs personnes de cette manière actuelle. Je pourrais ajouter plein de chaînes protégées et les partager, mais je partirais dans l'illégal après. Pour te dire, DAZN est moins protégé que TF1. Bref, ils ont enfin désactivé le DRM pour ce soir, actualisation vers 00h30.

campones commented 1 week ago

ça marche, bonne soirée, et merci encore!