Alors, pour les liens d'Arte qu'il faut décomposer pour que le téléchargement fonctionne, on fait comment ?
Rappel :
les commandes de ce type ne fonctionnent pas :
rtmp://arte.fcod.llnwd.net/a2306/o25/MP4:liveweb/stream/1399_Suds_Arles_JUSTIN_ADAMS_100715_hd.mp4
Il faut les convertir ainsi :
rtmpdump --host arte.fcod.llnwd.net --port 1935 --protocol RTMP --app a2306/o25 --playpath MP4:liveweb/stream/1399_Suds_Arles_JUSTIN_ADAMS_100715_hd.mp4 --flv 'Justin Adams & Juldeh Camara.mp4'
Est-ce que vous pensez faire quelque chose dans le programme principal ?
Doit-on prévoir un truc dans le plugin ?
En l'état, il n'est pas possible que ce soit le plugin qui gère ça.
- Soit l'appli interprète différemment les commandes rtmp. Dans ce cas, est-ce que ça marchera pour tous les autres sites ?
- Soit une propriété supplémentaire (ou différente) est implémentée dans l'objet Fichier, pour compléter/remplacer la propriété lien.
Par exemple, si lien contient une simple url, elle est traitée comme actuellement, sinon on utilise le "lien" comme une commande à exécuter (pas très sécuritaire).
Quoi qu'il en soit, j'ai fait un petit bout de code qui découpe l'url RTMP comme il faut :
# On a le lien brut, il faut l'analyser pour pouvoir effectuer un téléchargement convenable avec rtmpdump
# un lien du type
# rtmp://arte.fcod.llnwd.net/a2306/o25/MP4:liveweb/stream/1399_Suds_Arles_JUSTIN_ADAMS_100715_hd.mp4
# est téléchargé avec la commande
# rtmpdump --host arte.fcod.llnwd.net --port 1935 --protocol RTMP --app a2306/o25 --playpath MP4:liveweb/stream/1399_Suds_Arles_JUSTIN_ADAMS_100715_hd.mp4 --flv 'Justin Adams & Juldeh Camara.mp4'
urlPattern = re.compile("rtmp://(?P<host>.*?)/(?P<app>.*?)/(?P<playpath>\w*?\:.*)", re.DOTALL)
urlParts = re.search(urlPattern, lien)
filePath = urlParts.group("playpath")
(dirName, fileName) = os.path.split(filePath)
#~ (fileBaseName, fileExtension)=os.path.splitext(fileName)
urlRtmpMask = "rtmpdump --host %host% --port 1935 --protocol RTMP --app %app% --playpath %playpath% --flv '%filename%'"
lien = urlRtmpMask
lien = lien.replace ("%host%", urlParts.group("host"))
lien = lien.replace ("%app%", urlParts.group("app"))
lien = lien.replace ("%playpath%", urlParts.group("playpath"))
#~ lien = lien.replace ("%filename%", titre+fileExtension)
lien = lien.replace ("%filename%", fileName)
self.afficher ("... Commande : "+lien)