Comment fonctionne HTTP Streaming Adaptive Bitrate fonctionne sur l'iPhone?
Apple a inclus HTTP Adaptive Bitrate Streaming dans l'iPhone OS 3.0, en particulier Safari gère cela automatiquement.
J'aimerais jouer avec un peu de frais, mais je l'attends aurez besoin d'un custom HTTP server, dans le pire des cas, et intéressant PHP/etc scripts dans le meilleur des cas.
Mais d'abord, j'ai besoin de savoir ce que le protocole de différences ou de la norme. HTTP est raisonnablement simple comme un protocole, mais adaptive bitrate moyen, la taille du fichier est différent, le bloc des endroits différents à différents débits, etc. Par exemple, le client ne peut dire que le serveur a rien de spécial sur le courant que c'est le téléchargement, ou est-il géré côté serveur?
L'élimination de mise en mémoire tampon des pauses pour que l'utilisateur final est très attrayant pour les deux live et vidéo pré-enregistrée de ruisseaux, et de faire les deux sur HTTP est même mieux, car de nombreux réseaux et les gouvernements sont de limitation des non le trafic du port 80.
- Quels sont les détails techniques pour HTTP adaptive bitrate streaming, en particulier la Pomme de mise en œuvre?
- Où est-ce la meilleure mise en œuvre - une partie du serveur HTTP lui-même, le cadre d'un mod, dans un script...?
- Quels changements sont nécessaires pour le côté client, si l'on a été mise en œuvre dans une application?
source d'informationauteur Adam Davis
Vous devez vous connecter pour publier un commentaire.
Mise à jour
Ressemble Apple a fait un IETF projet de proposition, et certaines personnes sont déjà au travail sur segmenters:
HTTP Live Streaming - projet-pantos-http-live-streaming-01
http://tools.ietf.org/id/draft-pantos-http-live-streaming-01.txt
iPhone HTTP Streaming avec FFMpeg et Open Source Segmenter
http://www.ioncannon.net/programming/452/iphone-http-streaming-with-ffmpeg-and-an-open-source-segmenter/
Ressemble le serveur HTTP agit simplement comme un idiot de serveur HTTP. Fouiller l'exemple de site internet fourni par Akamai me donne suffisamment d'informations pour commencer avec un contenu statique en streaming.
http://iphone.akamai.com/
Le livre blanc ( http://www.akamai.com/dl/akamai/iphone_wp.pdf ) fournit des informations sur le flux de transport de codage, de sorte que le .ts flux sont simples.
Le site web fournit un fichier M3U8, qui est simplement une liste de lecture M3U, mais dans le caractère UTF-8 format de codage.
Ce fichier puis des liens vers un fichier M3U8 pour chaque débit. Je suppose qu'ils doivent tous avoir des coupures dans les mêmes positions (tous les 2 ou 10 secondes, par exemple), de sorte que la commutation peut être transparente. Elle semble être complètement axé sur la clientèle - le client décide de la façon de mesurer la bande passante et la version qu'il va recevoir.
Le contenu du fichier principal sont:
Puis chacun des autres fichiers sont les suivants:
hi/prog_index.m3u8
med/prog_index.m3u8
lo/prog_index.m3u8
Cela fonctionne avec le tag HTML 5 vidéo:
Il y a encore beaucoup de questions sans réponse, mais c'est probablement suffisant pour commencer.
Et un petit joueur en Python+GStreamer http://code.google.com/p/hls-player/
Voir la pour un open source codeur et segmenter et quelques autres trucs cool 🙂
http://www.ioncannon.net/programming/452/iphone-http-streaming-with-ffmpeg-and-an-open-source-segmenter/