Étant abonné Freebox, j'ai accès au multiposte TV via l’URL "https://mafreebox.freebox.fr/freeboxtv/playlist.m3u"
Certaines chaines sont accessibles a tous alors que d'autres uniquement sur abonnement.
Je souhaite tester avant d'ouvrir une chaine si elle est bien disponible (sans abonnement)
Lorsque je teste un lien vidéo, par exemple France2 "rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201"
j'obtiens le message 'Protocol "rtsp" not supported or disabled in libcurl'
Avez vous une idée d'où peut se situer le problème.
Voici le code que j'utilise:
Code : Tout sélectionner
EnableExplicit
Global HttpRequest
Global HttpStatusCode$, HttpErrorMessage$, URL$, ERREUR$, Message$
Procedure.a messageBox(request = #False)
If Message$ = #Null$
ProcedureReturn #False
EndIf
Protected msg$ = Message$
Protected flag = #PB_MessageRequester_Ok ;|#MB_ICONINFORMATION
If request
flag = #PB_MessageRequester_YesNo ; |#MB_ICONQUESTION
EndIf
Message$ = #Null$
ProcedureReturn MessageRequester("Message", msg$, flag | #MB_TOPMOST | #MB_DEFBUTTON2)
; Questions:
; #PB_MessageRequester_Ok
; #PB_MessageRequester_YesNo
; #PB_MessageRequester_YesNoCancel
; Réponses:
; 0 = Message$ #Empty$
; 1 = Ok
; 2 = Cancel
; 6 = Yes
; 7 = No
EndProcedure
NewMap Header$()
Header$("Content-Type") = "plaintext"
Header$("User-Agent") = "Firefox 54.0"
HTTPTimeout(5000)
URL$="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201"
HttpRequest=HTTPRequest(#PB_HTTP_Post,URL$,"",0,Header$())
HTTPTimeout(#PB_Default)
ResetMap(Header$())
Debug "HttpRequest : " + HttpRequest
HttpStatusCode$ =HTTPInfo(HttpRequest,#PB_HTTP_StatusCode)
HttpErrorMessage$=HTTPInfo(HTTPRequest,#PB_HTTP_ErrorMessage)
Debug "StatusCode: " + HttpStatusCode$
Debug "ErrorMessage: " + HttpErrorMessage$
Debug "Média : " + URL$
If HttpRequest
FinishHTTP(HttpRequest)
If FindString(HttpErrorMessage$,"Connection timed out",0,#PB_String_NoCase)
Message$="Le serveur vidéo met trop de temps à répondre"
messageBox(#False)
End
EndIf
If FindString(HttpErrorMessage$,"Failed to connect",0,#PB_String_NoCase)
Message$="Connexion refusée par le serveur"
messageBox(#False)
End
EndIf
ERREUR$ = "HTTP ERREUR "+HttpStatusCode$+" : "
Select HttpStatusCode$
Case "0"
Case "401" : Message$ = ERREUR$+"Vidéo non autorisée"
Case "403" : Message$ = ERREUR$+"L'accès à la vidéo a été refusé"
Case "404" : Message$ = ERREUR$+"Vidéo non trouvée"
Case "406" : Message$ = ERREUR$+"Vidéo non disponible"
Case "502" : Message$ = ERREUR$+"Mauvaise passerelle ou proxy"
Default : Message$ = ERREUR$+"Erreur non définie"
EndSelect
messageBox(#False)
If HttpStatusCode$ <> "0"
messageBox(#False)
End
EndIf
Else
Debug "VIDEO INDISPONIBLE"
Message$="Erreur inconnue"
messageBox(#False)
End
EndIf
Merci d'avance pour votre retour,
cage