2009-07-17 6 views
0

J'essaie de lire un flux vidéo http en temps réel (j'en ai configuré un en utilisant VLC et ma webcam) en utilisant libavcodec de ffmpeg. Jusqu'à présent, j'ai été capable de lire un fichier MPEG très bien, mais quand je passe une URL à la place du nom du fichier, il se bloque (je suppose qu'il attend la fin du fichier).comment lire un flux vidéo http avec libavcodec (ffmpeg)

quelqu'un at-il de l'expérience/des idées sur la façon de procéder? Je suis également ouvert aux alternatives si les gens ont d'autres suggestions.

L'objectif final est de faire du streaming vidéo en direct sur l'iPhone. La diffusion en direct http d'apple a trop de retard pour ce dont j'ai besoin, mais c'est pour un autre article :)

toute aide est grandement appréciée!

Répondre

2

Si vous n'utilisez pas Apple, vous ne pouvez pas.

0

Je dois admettre que je ne comprends pas très bien ce que vous voulez atteindre, cependant, en fonction de mon interprétation de la question, il semble qu'elle soit liée à la segmentation de la vidéo.

La segmentation peut être réalisée en utilisant ffmpeg et libavcodec (voir par exemple here, la ligne de clé est celle avec packet.flags). N'oubliez pas que la longueur du segment (dans le temps) dépend de l'intervalle entre les images clés (pour h264 au moins). Si vous voulez un exemple de solution de streaming complète et segmentée qui fonctionne (la plupart du temps), vérifiez here.

Sinon, vous devez creuser dans le codec et créer le flux de transport manuellement. Le MPEG2-TS, qui est ce que iOS supporte, peut parfois être un peu difficile, mais ce n'est pas si mal. Bonne chance!

0

vous pouvez utiliser libcurl pour télécharger le fichier segment http