Je développe un site de tube et j'ai actuellement des problèmes avec le format H.264. J'ai remarqué que YouTube a mis leurs vidéos haute définition dans un conteneur MP4, donc logiquement, j'ai fait la même chose.
Ensuite, j'ai installé mod_h264_streaming
pour lighttpd pour que le streaming et le nettoyage de la chronologie fonctionnent.
Le problème est que les fichiers volumineux (> 500 Mo à une résolution quelque peu élevée) prennent une éternité pour même commencer la mise en mémoire tampon (j'ai lu que Flowplayer et les autres lecteurs Flash doivent d'abord télécharger les métadonnées). J'ai déplacé l'atome xmov à l'avant du fichier avec MP4Box (j'ai aussi essayé Qt QuickStart), mais cela n'a pas aidé.
Ensuite, j'ai lu que j'avais besoin d'entrelacer des pistes audio, alors je l'ai fait aussi. Cela n'a provoqué aucun changement: les vidéos étaient encore lentes.
J'ai donc essayé de mettre exactement le même film H.264 dans un conteneur FLV, et la mise en mémoire tampon de la lecture a commencé presque instantanément - pas de lenteur.
Alors qu'est-ce que je manque ici? Pourquoi devrais-je choisir un conteneur MP4 avec le module mod_264_streaming
, qui semble super lent, par rapport à un conteneur FLV standard avec lighttpd intégré mod_flv_streaming
? Évidemment, de nombreux sites Web choisissent le conteneur MP4, mais je ne comprends pas pourquoi.
Et comme question secondaire, j'ai essayé d'utiliser la <video>
balise HTML5 pour essayer le même film H.264 MP4, et le nettoyage était rapide comme l'éclair ! J'ai regardé le fichier journal de lighttpd, et j'ai remarqué que les lecteurs Flash s'ajoutent à video.mp4?start=234
chaque fois que la chronologie est nettoyée, tandis que les navigateurs utilisant la <video>
balise HTML5 native ne font rien de tel. Est-ce une sorte de limitation de Flash? Pourquoi le streaming Flash ne peut-il pas être aussi rapide que le streaming HTML5?