9
votes

Capture Webcam / microphone Flash avec serveur de média open-source

Un serveur multimédia est requis pour capturer une vidéo de flash, mais aucun d'entre eux ne semble avoir de documentation disponible (pas même des documents API ou d'autres commentaires de code source). Je préférerais CRTMSERVER car mon application est écrite en C ++ et doit recevoir et traiter les données capturées en temps réel. Cependant, le red5 est clairement beaucoup plus mature et un projet mieux connu, donc je considère que la possibilité d'une option aussi. Adobe FMS est trop chère et pourrait être difficile à intégrer à ma demande car Adobe ne mentionne jamais ce cas d'utilisation.

Autant que je puisse dire, il faut écrire une "application" pour le serveur multimédia (ils n'envoient rien d'utilisable) et cela devra ensuite transmettre les données pour le traitement réel. Quel type de données peut-on attendre une application auprès du serveur multimédia, est-ce que cela sera un flux flv uni ou y a-t-il quelque chose de plus à celui-ci (négociations de bande passante, etc.)?

codage du côté flash n'est pas un problème, il existe de nombreux exemples pour cela (même s'ils ne disent pas comment l'URL du serveur multimédia doit être construite).

La question réelle: comment fonctionne le côté du serveur (vue de haut niveau) et y a-t-il quelque chose pour en avoir un démarré avec la fonctionnalité de capture en direct?


0 commentaires

4 Réponses :


1
votes

Vous pouvez jeter un coup d'œil si Haxevideo pourrait convenir à votre développement.


1 commentaires

Désolé mais je ne suis vraiment pas intéressé par un serveur expérimental écrit dans un langage de programmation obscur. Ce serait un cauchemar de maintenance :)



1
votes

Les serveurs multimédia font généralement seulement cela - servir des médias. Essayez-vous de consommer la vidéo en continu dans une application flash? Si tel est le cas, l'un des serveurs que vous avez mentionnés devrait être approprié pour cela.

Si vous essayez de capturer et de publier la vidéo en streaming de Flash, en dehors des flux de webcam, Afaik il n'y a pas de bonne façon de le faire.

Pour la publication en temps réel des flux de webcam et une autre interaction de base, vous pouvez consulter le Adobe LiveCycle Service de collab (Codename Cocomo).


0 commentaires

3
votes

Quelques années de retour, je travaillais sur un projet d'apprentissage en ligne qui permettait aux élèves d'enregistrer une réponse (audio uniquement dans mon cas) et le professeur pourrait l'écouter et le grade de l'étudiant.

Nous avons considéré Adobe FMS, Wowza Media Server ( http://www.wowzamedia.com ) et Red5. En fin de compte, le red5 a été choisi car il s'agissait des seules options open source libres qui étaient suffisamment stables pour être utilisées dans ce projet, même s'il manquait beaucoup de documentation.

Comment cela a-t-il fonctionné, j'ai fini par modifier l'un des exemples emballés en fonction de mon besoin et que le serveur s'exécute sur Mac OS 10.4.? Le red5 a essentiellement attrapé le flux audio et enregistrer le fichier sur un répertoire de la machine. Je devais ensuite mettre à jour la base de données pour pointer vers le fichier audio du professeur pour pouvoir y jouer. Remarque, je n'ai pas fait de modification en direct ni de réémayation du flux; au cas où cela fait partie de la portée de votre projet.

Quoi qu'il en soit, Red5 n'avait pas beaucoup de communauté à ce moment-là, donc je n'ai pas pu contribuer ce que j'avais appris à leur documentation, mais cela semble être plus actif maintenant et si vous choisissez d'aller avec Red5 Je vous demanderais de vous impliquer dans le projet et de l'aider à le documenter.


3 commentaires

L'épargne au fichier est entièrement adapté à mes besoins car cela doit fonctionner en temps réel. Cependant, si je pouvais avoir même que travailler, je pourrais probablement comprendre le reste par moi-même (il faut très probablement écrire du JNI pour le R1D5 pour communiquer avec mon application). Pourriez-vous être plus précis sur la façon dont vous la configurez?


Je recommanderais ces excellentes ressources par Dennie Hoopingarner de MSU: FMS.DENNIEHOOPINGARNER.COM et fms.denniehopingarner.com/fms_solutions.pdf


Ma solution a suivi les instructions de Dennie et a emprunté beaucoup de oflademo qui est venu avec RED5. Une chose que je me souviens que je me souviens du jeu difficile (principalement parce que j'étais un serveur débutant) consistait à vous assurer que les principaux privilégions d'écriture ont été donnés au dossier dans lequel les fichiers enregistrés ont été enregistrés.



1
votes

Nous utilisons maintenant CRTMSERVER. Quelques notes: Flash doit se connecter à RTMP: // Server: 1935 / AppName (où AppName est l'application à utiliser - celles-ci sont configurées sur le côté serveur). Même s'il y a plusieurs parties de l'URL (séparées par des barres obliques), toute la combinaison est considérée comme l'appName (même s'il semble y avoir une exception pour la lecture, permettant le nom de fichier FLV).

Enregistrement se produit en se connectant à la section "FLVPlayback", puis publication par "Somename" (avec "Enregistrer" ou "ANNEXE"), rendant le serveur écrire à (relatif aux CWD) Applications / FLVLYPLYBACK / MediPlack / Somename.flv < / p>

Vous ne pouvez pas modifier le nom de l'application, mais il peut sembler plus agréable d'utiliser l'un des alias de flvplayback dans l'URL (qui n'affecte pas le dossier dans lequel les fichiers vont). L'un des alias par défaut est "Live", vous pouvez donc utiliser "RTMP: // Server: 1935 / LIVE" comme URL.


0 commentaires