Question pour du streaming...

Fermé
KrondaliX Messages postés 382 Date d'inscription mercredi 19 juin 2013 Statut Membre Dernière intervention 1 mai 2022 - 6 août 2013 à 12:02
KrondaliX Messages postés 382 Date d'inscription mercredi 19 juin 2013 Statut Membre Dernière intervention 1 mai 2022 - 6 août 2013 à 12:36
Bonjour,

Alors question à la manque.. après de nombreuses recherches n'ayant rien trouvé autant tenter ma chance ici...

J'ai une base de données MySQL, un site qui contient mettons une vidéo de 200Mb sur un serveur personnel (pas surl'hébergeur contenant le site).

Quand quelqu'un veut visionner la vidéo, je fais en sorte que la vidéo s'envoie sur le site (temporairement) vu que la bande-passante du site est plus efficace. Cependant, j'aimerais savoir si il est possible par PHP sachant que la taille de la vidéo est stockée dans la base de donnée, de lui ouvrir le lien en tant que vidéo de 200Mb même si elle n'a pas encore fini de s'être envoyée.


Merci au magicien qui me sort la soluce :)


A voir également:

1 réponse

ElementW Messages postés 4814 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 227
6 août 2013 à 12:19
Salut, une page PHP peut renvoyer n'importe quel contenu avec les headers HTTP.
Extrait d'une de mes pages de téléchargement (et adapté):
<?php
$chemin_fichier = /* Le résultat de ta reqete */;
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=".basename($chemin_fichier));
header("Content-Type: video/mp4"); // Je suppose que c'est du MP4, si autre cherche le type MIME associé
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($chemin_fichier));

$fp = fopen($chemin_fichier, "r");
while (!feof($fp))
{
    echo fread($fp, 65536);
    flush();
} 
fclose($fp);
?>
Ici, je fais une lecture morceau par morceau car PHP mettra du temps à envoyer le début de la réponse s'il doit tout lire les 200Mo d'un coup.
0
KrondaliX Messages postés 382 Date d'inscription mercredi 19 juin 2013 Statut Membre Dernière intervention 1 mai 2022 131
6 août 2013 à 12:36
Alors ça je l'ai déjà. Moi ce que j'aimerais faire, c'est donner à celui qui clique, la possibilité d'ouvrir le fichier en streaming avec un player (qui est entrain de se transférer).

Donc le fichier fait 200Mb au total mais n'est actuellement mettons qu'à 80Mb et le player ne va prendre que les 80Mb. Alors est-ce que le php est capable de donner au lien une taille de fichier définie de sorte que le player ouvre le fichier à 200Mb même si potentiellement il n'en est qu'à 80 sachant qu'il atteindra forcément les 200Mb avant que la personne n'aie fini de lire la vidéo.
0