Description du projet
TraduitVous avez juste besoin que le programme coupe le fichier h264 et l'envoie au serveur nginx pour le streaming.
1) c'est une application console classique en C, pas de fenêtres ni quoi que ce soit d'autre.
2) il y a un protocole rtmp avec tous les modules individuels [cacher]- https://github.com/arut/nginx-rtmp-module - Il y a un module pour supporter flv (ngx_rtmp_flv_module.c), pour mp4 (ngx_rtmp_mp4_module.c) - [/cacher] et vous devez faire quelque chose de similaire pour h264 en utilisant n'importe quelles bibliothèques et auxiliaires, c'est-à-dire sans restrictions. (Auparavant, une conformité totale avec la norme h264 était requise, c'est-à-dire que la norme n'était soumise à aucune Vous ne pouviez pas utiliser différentes bibliothèques, mais vous pensiez que c'était très difficile - et vous étiez autorisé à utiliser n'importe quoi.
Il existe même des guides prêts à l'emploi pour écrire des modules pour rtmp - tout est assez clairement décoré.
* Vous pouvez faire n'importe quel logiciel "béquilles", utiliser n'importe quelles bibliothèques, etc. L'exigence est que le fichier h264 soit découpé en morceaux et envoyé au serveur nginx pour le streaming.
* Avant cela, il était nécessaire de se conformer pleinement à la norme h264, c'est-à-dire que vous ne pouviez pas utiliser différentes bibliothèques, mais vous pensiez que c'était très difficile, et vous étiez autorisé à utiliser les bibliothèques que vous aviez déjà construites.
---
Serveur Nginx - Diffusion Ce serveur transmet MP4/FLV [cacher](e.g. Http://nginx.org/en/docs/http/ngx_http_mp4_module.html ) [/cacher] et le client réel pour cela sera ffplay, par exemple.
En tant que client, vous pouvez faire un ffmpeg, croyant que le serveur doit relayer la caméra vidéo. Dans cette forme, la tâche a du sens - les caméras sont allumées sur le serveur, l'utilisateur sur le lecteur trouve ce qu'il doit regarder. Pour un fichier simple, cette tâche n'a pas de sens du tout, il est beaucoup plus facile de mettre ce fichier sous le serveur lui-même.
Encore une fois, vous pouvez prendre ce que vous voulez comme client, et vous pouvez prendre ffmpeg pour émuler la caméra : il peut envoyer des flux.
Les fichiers vidéo simples ne sont pas intéressants : vous devez faire en sorte que le flux soit émis par le serveur.