Je construis une application interactive d'apprentissage des langues destinée à être utilisée en classe. L'idée est qu'un enseignant devrait être capable de parler aux étudiants (= flux audio à tous les étudiants), laisser les étudiants se parler entre eux (= P2P audio) en groupes de deux ou plus, laisser les étudiants regarder une vidéo provenant d'un Lecteur DVD ou provenant d'un serveur multimédia. Il devrait être possible de sauvegarder les flux audio/vidéo. L'enseignant devrait également être capable de surveiller, de prendre en charge ou de bloquer le bureau des élèves. La plate-forme est Windows et c'est une application de bureau, pas d'application web. Le délai audio devrait être aussi minimal que possible. En option, un étudiant assis à la maison devrait être soutenu, mais ce n'est pas une priorité élevée.Diffusion audio/vidéo sur la plate-forme Windows
Je suis maintenant terminé avec la partie contrôle de salle de classe de l'application (connexion, moniteur, bloc, ...) et je veux commencer la partie audio et vidéo. J'ai évalué plusieurs options comme DirectX, GStreamer et SIP mais maintenant je dois prendre une décision.
DirectX semble être un choix évident pour la plate-forme Windows, mais il me permet uniquement de capturer et de lire des fichiers audio et vidéo. La partie codage/décodage/réseau que je devrais faire moi-même. GStreamer contient toutes sortes d'options pour capturer/encoder/diffuser/enregistrer des flux audio et vidéo. J'ai expérimenté un peu avec cela (ossbuild) et cela semble impliquer beaucoup d'essais et d'erreurs pour que quelque chose fonctionne: - la capture du microphone (via directsoundsrc) produit des craquements sur certains ordinateurs - le chargeur payant rtpL16 n'a pas fonctionné bien - streaming audio brut sur le réseau ne fonctionne qu'à un taux d'échantillonnage de 8000, pas plus élevé - il y a beaucoup d'erreurs lors de la réception vidéo mpeg4 (mauvaise I-frame), sur certains ordinateurs pire que les autres que gstreamer est principalement ciblé sur les plates-formes Linux. Le développement et le support de la plate-forme Windows semblent être un peu en retard. Néanmoins, c'est un cadre puissant qui pourrait me sauver des mois et des années de travail. SIP semble être capable de faire tout ce que je veux, mais il est ciblé sur la téléphonie et la messagerie instantanée. Je ne sais pas à quel point SIP est flexible. Il me semble que la couche SIP serait juste surcharge car j'ai déjà une application centrale (enseignant) qui peut contrôler et configurer tous les flux. Les parties intéressantes des frameworks comme opalvoip et freeswitch sont la capture audio/vidéo, l'encodage et la transmission. Est-ce que quelqu'un sait comment ces parties intéressantes relient un cadre comme gstreamer? Sont-ils faciles à intégrer dans une application personnalisée? Sont-ils assez flexibles?
Est-ce que quelqu'un a de l'expérience avec l'une ou l'autre de ces technologies? Peut-être qu'il y a même d'autres options que je peux regarder?
Un grand merci pour vos conseils