ffmpeg et iPhone

Vidar

Membre enregistré
9 Juin 2010
3
0
Bonjour,

Je développe actuellement une application dont le but est de récupérer le flux video d'une webcam pour l'afficher sur l'iPhone.
J'arrive à récupérer le flux et le convertir dans le format que je souhaite grâce à ffmpeg (j ai choisit le format mpeg4).

Lorsque je tente de lire ce "flux mp4", l'iPhone me dit : "The server is not correctly configured"

Et du côté serveur, l erreur:
"Codec for Stream0 does not use global headers but container format requires global headers"
"muxer does not support seekable output"
"error writing output header"

J'ai tenté de changer mon fichier ffserver.conf au niveau codec, format, bitrate etc.. mais en vain.


Si quelqun à une ou plusieurs pistes sur le problème, je suis preneur.

Merci d'avance.

-- Vidar
 
réponse un peu au pif (je n'utilise pas ffserver)
l erreur:
"Codec for Stream0 does not use global headers but container format requires global headers"
"muxer does not support seekable output"
"error writing output header"
l'impression que j'ai est:
tu essaies de transmettre un flux pas fait pour du streaming (du genre mov ou mp4 pas fini)
Les fichiers quicktime se doivent d'avoir les headers devant (et pas en fin de fichier), jettes un oeil sur qt_faststart (dans le dossier SVN), mais c'est pour du local et pas de la transmission ;)

… et essaies déjà avec un autre container (du genre mpeg-ts)

PS: ce ne sont que des idées, pas des certitudes ;)
à+
 
Bonjour,

Tout d'abord merci pour votre réponse rapide.
Je me suis renseigné sur le streaming et le format mp4 et effectivement, ffmeg place les metas données ("mp4 atoms") en fin de fichier et non au debut.

Avec qt faststart le problème est qu'il le fait pour les vidéos mais pas en continu sur un fichier. En clair, mon fichier crée change sans cesse puisque c'est du pur streaming par webcam et faststart ne le fait qu'une fois....

Je suis donc en train de chercher comment effectuer ce déplacement (de fin de page en header) de ces fameux "mp4 atoms" en transmission...

j'ai tenté avec MP4Box mais il ne le fait pas pour de la transmission également....

Je tente donc de trouver autre chose que ffmpeg pour qu'il me mette le "mp4 atoms" en en tête. Pour le moment, j'ai testé avidemux mais il ne le fais pas non plus.

Si quelqu'un à des idées, je suis preneur.

Merci d'avance

-- Vidar
 
un patch -qualiifié infâme d'après mes souvenirs- avait été envoyé à la liste "devel".
Il s'agissait de réserver un espace pour mettre des index en continu, à chaque GOP (donc le fichier devenait "streamable")
Fais une recherche au cas ou (je ne m'en rappelle pas plus, si ce n'est que ça bouffait plein de bande passante pour pas grand chose)

La solution est sans doute dans un codec / wrapper mieux adapté au streaming

bon courage ;)
à+
 
Bonjour,

Afin d'éviter le multi-posts, je me permet de continuer ici.

J'ai abandonné l'idée d'utiliser ffmpeg. Je suis parti sur une seconde solution nommé "w3cam".
L'installation sous linux se fait sans souci. Le problème est le suivant:
cet outil me cree sous apache une page à l'adresse http://localhost/cgi-bin/w3cam.cgi

La page existe bien, j'y ai bien accès MAIS l'erreur ecrite est : "Error:can't get image". j'ai "chmodé" le /dev/VideoX (avec X le numéro correspondant) mais rien n'y fait.

Je peux par contre bien lire en streaming ma webcam par vlc.... La seule différence entre les deux est que w3cam n'allume pas la led de ma webcam signifiant qu'elle est ON alors que VLC oui.

Je cherche donc de ce côté pour le moment...

Si vous avez quelques suggestions, je suis preneur ;)

Merci d'avance

-- Vidar