2008-09-15 19 views
2

Je voudrais que mon site web enregistre des fichiers FLV à l'aide de webcams. Ces flvs ont besoin de jouer doucement afin que je puisse jouer avec eux par la suite, par exemple en les transcodant en avis.Comment enregistrer une webcam en flv avec une lecture fluide

J'ai essayé de nombreux serveurs différents pour gérer l'enregistrement flv. Les fichiers FLV qui en résultent sont OK dans Wimpy FLV Player, par exemple, sauf que l'indicateur de progression ne bouge pas régulièrement ou de manière régulière. C'est un signe qu'il y a quelque chose qui ne va pas et si j'essaie de les transcoder en utilisant "ffmpeg -i input.flv output.avi" (avec ou sans l'option framerate "-r 15"), je n'ai pas le bon AVI.

Voici ce que j'ai essayé et le genre de problème je reçois:

  1. En utilisant red5 (v 0.6.3 et 0.7.0, aussi bien sur OS X 10.5.4 et Ubuntu 8.04) et publisher.html exemple inclut. Voici le resulting flv. L'indicateur saute vers la fin très rapidement.

  2. Toujours en utilisant red5, mais en publiant "live" et en démarrant l'enregistrement après quelques secondes. J'ai utilisé these example files. Voici le resulting flv. L'indicateur saute encore à la fin très rapidement, aucun son avec cette méthode ...

  3. En utilisant Wowza Media Server Pro (v 1.5.3, sur mon mac). L'indicateur de progression ne saute pas à la fin, mais il se déplace plus rapidement au tout début. C'est suffisant que la conversion vers d'autres formats en utilisant ffmpeg aura un visuel non synchronisé correctement avec l'audio. Juste pour être sûr que j'ai essayé le video recorder that comes with it, aussi bien qu'utilisant le publish.html de red5 (avec identical results). Utilisation de Flash Media Server 3 via un compte hébergé sur www.influxis.com. Je reçois encore un autre modèle de progression. L'indicateur de progression saute un peu au début puis devient régulier. Voici an example.

Je sais qu'il est possible d'enregistrer un flv « impeccable » parce que l'application vidéo de facebook fait (à l'aide red5?) En effet, il est facile de regarder la source HTML de la vidéo facebook et obtenir l'URL http télécharger les flvs qu'ils produisent. Lorsqu'il est lu dans Wimpy, l'indicateur de progression est fluide, et le transcodage avec "ffmpeg -i facebook.flv -r 15 facebook.avi" produit un bon avi. Voici an example. Alors, est-ce que je peux obtenir un bon flv avec un framerate constant? PS: Le serveur doit pouvoir être installé sur Linux ou être disponible à un fournisseur d'hébergement à un prix raisonnable.

Edit: Comme indiqué, peut-être que le problème n'est pas le framerate par exemple mais quelque chose d'autre. Je ne connais pas la vidéo et je ne sais pas comment inspecter les exemples que j'ai donnés pour vérifier les choses; peut-être que quelqu'un peut faire la lumière sur cela.

Répondre

0

Votre problème peut ne pas être avec le framerate mais avec des images clés et des marqueurs.

+0

Oui, c'est possible, je ne connais pas assez la vidéo pour vous le dire. Clairement il y a un problème et je ne peux pas transcoder le flv à autre chose à cause de ça ... –

2

En regardant votre exemple fl5 rouge dans richflv (outil très utile d'édition flv), nous pouvons voir que vous avez des images clés régulières mais que la durée des métadonnées n'est pas définie.

L'exemple facebook flv n'a pratiquement aucune image clé (ce qui signifierait que vous ne pourriez pas très bien y «chercher»), mais la durée des métadonnées est correcte.

Je regarderais dans flvtool2 et flvtool ++ (qui est une alternative plus efficace en mémoire pour les fichiers longs) pour insérer la métadonnée correcte après la capture.