M3U8 : PHP, mettre l'adresse complète des fichiers TS internes

Fermé
racacax Messages postés 117 Date d'inscription mercredi 11 décembre 2013 Statut Membre Dernière intervention 14 mai 2017 - Modifié par racacax le 14/09/2014 à 15:11
 Utilisateur anonyme - 19 sept. 2014 à 23:19
Bonjour,
J'aimerai créer un PHP de ce flux : http://se-1.se.directstar-hls.live.numericable.tv/live/hls/directstar/ipadstream1000directstar.m3u8

L'ennui, l'adresse des TS est courte alors cela ne lancera pas la vidéo car ça ferai comme si les TS étaient sur mon serveur hors ils ne le sont pas. Il faudrait que les fichiers TS aient ceci avant : http://se-1.se.directstar-hls.live.numericable.tv/live/hls/directstar/ipadstream1000directstar/

Cela devrait ressembler à ça (les fichiers TS changent de noms vu que ce sont des parses) :
#EXTM3U
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:514711
#EXT-X-KEY:METHOD=AES-128,URI="http://80.236.2.153/live/hls/keys/cmp9_channel1_080914_211058478_1715.key"
#EXTINF:6,
http://se-1.se.directstar-hls.live.numericable.tv/live/hls/directstar/ipadstream1000directstar/ipadstream1000directstar/segment_080914_211058478_514711.ts
#EXTINF:6,
http://se-1.se.directstar-hls.live.numericable.tv/live/hls/directstar/ipadstream1000directstar/ipadstream1000directstar/segment_080914_211058478_514712.ts
#EXTINF:6,
http://se-1.se.directstar-hls.live.numericable.tv/live/hls/directstar/ipadstream1000directstar/ipadstream1000directstar/segment_080914_211058478_514713.ts
#EXTINF:6,
http://se-1.se.directstar-hls.live.numericable.tv/live/hls/directstar/ipadstream1000directstar/ipadstream1000directstar/segment_080914_211058478_514714.ts
#EXTINF:6,
http://se-1.se.directstar-hls.live.numericable.tv/live/hls/directstar/ipadstream1000directstaripadstream1000directstar/segment_080914_211058478_514715.ts
#EXTINF:6,
http://se-1.se.directstar-hls.live.numericable.tv/live/hls/directstar/ipadstream1000directstar/ipadstream1000directstar/segment_080914_211058478_514716.ts
#EXTINF:6,
http://se-1.se.directstar-hls.live.numericable.tv/live/hls/directstar/ipadstream1000directstar/ipadstream1000directstar/segment_080914_211058478_514717.ts
#EXTINF:6,
http://se-1.se.directstar-hls.live.numericable.tv/live/hls/directstar/ipadstream1000directstar/ipadstream1000directstar/segment_080914_211058478_514718.ts
#EXTINF:6,
http://se-1.se.directstar-hls.live.numericable.tv/live/hls/directstar/ipadstream1000directstar/ipadstream1000directstar/segment_080914_211058478_514719.ts
#EXTINF:6,
http://se-1.se.directstar-hls.live.numericable.tv/live/hls/directstar/ipadstream1000directstar/ipadstream1000directstar/segment_080914_211058478_514720.ts

Pour l'instant ça ressemble à ça :

#EXTM3U
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:514711
#EXT-X-KEY:METHOD=AES-128,URI="http://80.236.2.153/live/hls/keys/cmp9_channel1_080914_211058478_1715.key"
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514711.ts
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514712.ts
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514713.ts
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514714.ts
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514715.ts
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514716.ts
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514717.ts
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514718.ts
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514719.ts
#EXTINF:6,
ipadstream1000directstar/
segment_080914_211058478_514720.ts

Merci d'avance
A voir également:

6 réponses

Utilisateur anonyme
14 sept. 2014 à 20:07
quel est ton code actuellement?
0
racacax Messages postés 117 Date d'inscription mercredi 11 décembre 2013 Statut Membre Dernière intervention 14 mai 2017 17
15 sept. 2014 à 18:54
<?php

$url = 'http://se-1.se.directstar-hls.live.numericable.tv/live/hls/directstar/ipadstream1000directstar.m3u8';


$ch = curl_init($url);

curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

if (preg_match(''^http://se-1.se.directstar-hls.live.numericable.tv/live/hls/directstar/ipadstream1000directstar.m3u8'i', $url))
{
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
}

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Récupération du contenu retourné par la requête
$page_content = curl_exec($ch);

curl_close($ch);
echo $page_content;
?>
0
Utilisateur anonyme
18 sept. 2014 à 00:30
la solution à ce problème n'est pas si facile...
0
Alors voilà enfin une solution que j'ai mise au point.

IF(preg_match('/^http://se-1.se.directstar-hls.live.numericable.tv/live/hls/directstar/ipadstream1000directstar.m3u8/i', $url)){
 
//[...]
 
$page_content = curl_exec($ch);
 
/*Cette fonction retournera un tableau de tous les segments 
qui sont conformes au format: segment_[nombre]_[nombre]_[nombre].ts.
Ne reste plus qu'à ajouter ce que tu désires aux résultats du tableau.*/
preg_match_all('/segment(_\d+){3}.ts/i', $page_content, $matches);

print_r($matches);


N'hésite pas si tu as quelques soucis.

@ plus,
0
racacax Messages postés 117 Date d'inscription mercredi 11 décembre 2013 Statut Membre Dernière intervention 14 mai 2017 17
19 sept. 2014 à 07:47
Merci je vais essayer
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
19 sept. 2014 à 12:20
Salut,

Je suis p-e à coté de la plaque mais si c'est uniquement le nom des segments qui changent, un simple str_replace devrait suffire ?

En partant de ton résultat :
$page_content = '#EXTM3U
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:514711
#EXT-X-KEY:METHOD=AES-128,URI="http://80.236.2.153/live/hls/keys/cmp9_channel1_080914_211058478_1715.key"
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514711.ts
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514712.ts
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514713.ts
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514714.ts
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514715.ts
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514716.ts
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514717.ts
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514718.ts
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514719.ts
#EXTINF:6,
ipadstream1000directstar/segment_080914_211058478_514720.ts';

$page_content = str_replace('ipadstream1000directstar', 'http://se-1.se.directstar-hls.live.numericable.tv/live/hls/directstar/ipadstream1000directstar', $page_content);

echo '<pre>' . $page_content . '</pre>';


Bonne journée
0
Utilisateur anonyme
19 sept. 2014 à 23:19
tu trouves toujours plus simple que moi =p.
0
racacax Messages postés 117 Date d'inscription mercredi 11 décembre 2013 Statut Membre Dernière intervention 14 mai 2017 17
19 sept. 2014 à 20:53
Merci à vous deux mais aucune des deux solutions ne fonctionne : https://www.000webhost.com/migrate?static=true
0