Un peu de contexte, on m'a confié la tâche de corriger quelques "petits" bogues et de maintenir cette solution pour diffuser de la vidéo sur le réseau entre deux instances de notre application. La solution a été écrite par quelqu'un qui n'est plus là, donc il y a du mystère dans le code ainsi que des pièges vraiment amusants. La solution a été écrite en utilisant ffmpeg avec du code C++ écrit pour enrouler le code associé au codage/décodage ainsi qu'une partie du code de streaming. Ce C++ a ensuite été enveloppé avec SWIG afin qu'il puisse interopérer avec C# et transmettre les images vidéo là où elles sont rendues en utilisant VideoRendererElement qui vit dans un contrôle WPF. La raison principale pour laquelle les trames sont transmises est parce que nous avons des protocoles personnalisés dont nous avons besoin d'envoyer des données vidéo et ceux-ci sont écrits en C#, alors que les trames vidéo sont passées, nous les enveloppons dans nos propres paquets. . Cette solution fonctionne et nous pouvons diffuser de la vidéo en utilisant nos protocoles personnalisés, même si c'est quelque chose d'un cauchemar à maintenir et à travailler avec.Comment encoder/décoder de la vidéo en utilisant C#?
Ma question est là une meilleure façon de faire? Je cherche des façons de travailler à un niveau inférieur avec les données vidéo (en C#) afin que je puisse prendre les images vidéo et les emballer dans nos propres paquets et les envoyer et être en mesure de recevoir et de reconstruire la vidéo sur le autre côté. ffmpeg semble être la solution courante, mais j'ai rencontré beaucoup de problèmes avec la GPL/LGPL, je pense que c'est un problème. Le flux de base que je cherche à atteindre, fichier vidéo -> encoder -> wrap dans le paquet -> envoyer sur le fil sur le protocole X -> obtenir des données vidéo de paquet -> décoder -> rendre/enregistrer sur le disque
Pourquoi la LGPL est-elle un problème pour vous? Même si votre application est destinée aux clients commerciaux, cela ne devrait pas poser de problème. –
Possible Dupliquer: http://stackoverflow.com/questions/271003/anyone-know-of-a-set-of-c-bindings-for-ffmpeg –
La chose GPL/LGPL a été évoquée par un autre collègue mais ils ont fait comme si nous allions casser la licence avec la façon dont nous utilisons ffmpeg et certaines de ses bibliothèques dépendantes. En ce qui concerne le post en double, j'essaie de m'éloigner de ffmpeg si possible et ffmpeg n'a pas l'air de marcher ou d'être supporté. –