Pour ce tutoriel, vous aurez besoin de :
- Un appareil (PC, tablette, téléphone) connecté à Internet (même la pire connexion)
- Un compte Google (gratuit)
- Un accès IPTV avec replay (payant)
- Bonus : un compte Uptobox (gratuit est suffisant)
Le but est donc de tĂ©lĂ©charger un replay IPTV (via la fonction timeshift) directement sur Google Drive sans passer par les lignes de commande de son PC. Et en bonus, d’uploader vers un autre hĂ©bergeur.
On va utiliser la puissance de Google via Google Colab qui permet d’exĂ©cuter des commandes dans un environnement dĂ©diĂ©.
Les étapes, directement dans un notebook Google Colab :
1. Je récupère mon replay avec les bons paramètres comme décrit ci-dessous, dans un répertoire temporaire video/
!wget -P video/ http://iptv-domain.com:8000/timeshift/KjILKLme/4RoK97dFggh/90/2022-01-31:19-30/14040.ts
http://url:port/timeshift/usernameOuId/motDePasse/durée/année-mois-jour:horaire/n°deChaine.ts
2. Une fois terminĂ© (Ă titre d’exemple : 2m 9s pour un fichier de 3.43G Ă 22.8MB/s), je le transfère sur mon Google Drive en mp4 avec ffmpeg
from google.colab import drive
drive.mount("/content/drive", force_remount=True)
!ffmpeg -i "/content/video/43974.ts" -codec copy "/content/drive/My Drive/replay.mp4"
3. On attend une petite journĂ©e et la vidĂ©o a Ă©tĂ© traitĂ©e par Gdrive et est visionnable sur tous ses appareils dans diffĂ©rentes qualitĂ©s, prĂŞt Ă ĂŞtre partagĂ© Ă des amis, famille, …

Petit bonus, on peut uploader le fichier sur des hĂ©bergeurs (s’ils ont une API, c’est plus simple). Ici, un exemple avec Uptobox en s’appuyant sur la documentation officielle)
1. D’abord, on rĂ©cupère une URL temporaire d’upload en passant un token liĂ© Ă mon compte Uptobox (Ă rĂ©cupĂ©rer dans Mon compte)
!curl -H "Content-Type: application/json" -X GET https://uptobox.com/api/upload -d '{"token":"1aaMoNt0keNfakEpoURLexEmPle1j87163"}'
Ce qui nous renvoie :
{"statusCode":0,"message":"Success","data":{"uploadLink":"\/\/www112.uptobox.com\/upload?sess_id=FaUxSeSsI0nId","maxUpload":"200.00 GB"}}
2. Grâce Ă cet uploadLink, on peut envoyer notre fichier (converti ou non d’ailleurs, mp4 comme ts sera traitĂ© pour Uptostream) en cURL
!curl -v -F "file[]=@/content/drive/MyDrive/replay.mp4;filename=replaymatch.mp4" -H "Transfer-Encoding: chunked" http://www112.uptobox.com/upload?sess_id=FaUxSeSsI0nId
Ce qui nous renvoie :
* Trying 62.210.176.150...* TCP_NODELAY set
* Connected to www112.uptobox.com (62.210.176.150) port 80 (#0)
> POST /upload?sess_id=FaUxSeSsI0nId HTTP/1.1
> Host: www112.uptobox.com
> User-Agent: curl/7.58.0
> Accept: */*
> Transfer-Encoding: chunked
> Content-Type: multipart/form-data; boundary=------------------------9ece68450e39ffcf
> Expect: 100-continue
>
< HTTP/1.1 100 Continue
* Signaling end of chunked upload via terminating chunk.
< HTTP/1.1 200 OK
< Server: Uptobox
< Date: Mon, 29 Aug 2022 17:05:46 GMT
< Transfer-Encoding: chunked
< Connection: keep-alive
< Access-Control-Allow-Origin: *
< Access-Control-Request-Method: *
< Access-Control-Allow-Methods: OPTIONS, POST
< Access-Control-Allow-Headers: *
< Access-Control-Expose-Headers: Transfer-Encoding, X-Firefox-Spdy
<
* Connection #0 to host www106.uptobox.com left intact
{"files":[{"name":"replaymatch.mp4","size":3551683639,"url":"https://uptobox.com/689cb7689cb7","deleteUrl":"https://uptobox.com/689cb7689cb7?killcode=7d1uhx5xe2"}]}
Après seulement quelques minutes, le fichier a bien été uploadé et est bien disponible dans Mes fichiers
3. Environ un jour plus tard, le fichier a été traité pour Uptostream :

