Descrizione del progetto
TradottoÈ necessario solo che il programma tagli il file h264 e lo invii al server nginx per lo streaming.
1) è un'app console regolare in C, senza finestre o altro.
2) c'è un protocollo rtmp con tutti i moduli individuali [nascondi]- https://github.com/arut/nginx-rtmp-module - C'è un modulo per supportare flv (ngx_rtmp_flv_module.c), per mp4 (ngx_rtmp_mp4_module.c) - [/nascondi] e devi fare qualcosa di simile per h264 utilizzando qualsiasi libreria e ausiliari, cioè. Nessuna restrizione. (In precedenza, era richiesta la piena conformità con lo standard h264, cioè, lo standard non era soggetto a nessuna restrizione. Non potevi usare librerie diverse, ma pensavi fosse molto difficile - e ti era permesso usare qualsiasi cosa.
Ci sono anche guide pronte per scrivere moduli per rtmp - è tutto abbastanza chiaramente decorato.
* Puoi fare qualsiasi "stampella" software, usare qualsiasi libreria, ecc. Il requisito è che il file h264 venga suddiviso in pezzi e inviato al server nginx per lo streaming.
* Prima di questo, era necessario rispettare pienamente lo standard h264, cioè non potevi usare librerie diverse, ma pensavi fosse molto difficile, e ti era permesso usare le librerie che avevi già costruito.
---
Server Nginx - Broadcasting Questo server trasmette MP4/FLV [nascondi](ad es. Http://nginx.org/en/docs/http/ngx_http_mp4_module.html ) [/nascondi] e il client reale per esso sarà ffplay, ad esempio.
Come client, puoi utilizzare ffmpeg, credendo che il server debba rilanciare la videocamera. In questa forma, il compito ha senso - le telecamere sono accese sul server, l'utente sul lettore trova ciò che deve guardare. Per un file semplice, questo compito non ha affatto senso, è molto più facile mettere questo file sotto il server stesso.
Ancora una volta, puoi prendere qualsiasi cosa come client, e puoi prendere ffmpeg per emulare la telecamera: può inviare flussi.
I file video semplici non sono interessanti: devi fare in modo che il flusso venga emesso dal server.