2015-03-25 43 views
8

Sto provando a stabilire un sistema in grado di trasmettere la cattura dello schermo di un PC a diversi altri PC su una LAN.Come trasmettere lo streaming video su una LAN in tempo reale?

Finora sono riuscito a installare nginx su un Raspberry Pi con il modulo rtmp e posso eseguire lo streaming utilizzando il Raspberry come server RTMP via OBS. Io uso VLC per guardare il flusso.

Ecco il problema. Il PC principale che sta trasmettendo visualizzerà un timer che esegue il conto alla rovescia e potenzialmente i feed della telecamera, quindi sarebbe ideale per mantenere il ritardo della trasmissione al minimo (tempo reale?). Al momento ho un ritardo di 4-6 secondi tra ciò che sta accadendo sullo schermo e il flusso e sto cercando modi per ridurlo ulteriormente.

  • C'è un modo per determinare quanto tempo di ritardo è dovuto alla codifica e quanto è dovuto trasferire?
  • Attualmente sto catturando a 1080p30 e ho provato opzioni come il downscaling e minimizzare l'impatto sulla rete senza successo.
  • Ho letto altri argomenti riguardanti la trasmissione LAN su questo forum e qualcuno ha detto che RTMP non era un buon approccio ... Se sì, quale sarebbe un approccio migliore?
  • Eventuali suggerimenti sono benvenuti e apprezzati. Sono principalmente interessato a soluzioni gratuite perché non ho un budget e lo faccio gratuitamente per qualcun altro.
  • Ho anche guardato in streaming VLC ma non voglio mostrare l'intero schermo del pc perché ci sarebbero dei controlli che gli spettatori non devono vedere. E l'unica cosa che VLC può fare è specificare quale parte dello schermo trasmettere quale non sembra una grande soluzione. Ho scelto OBS perché è l'unico software di trasmissione gratuito in grado di trasmettere una finestra specifica a mia conoscenza.

Grazie in anticipo :)

+0

È difficile dirlo senza visualizzare i parametri di codifica. Se non ti dispiace cli [FFmpeg] (https://www.ffmpeg.org/) è uno dei migliori strumenti open-source in circolazione. – aergistal

risposta

8

In primo luogo penso che tu abbia ragione di usare OBS, si tratta di un grande progetto che consente di catturare un sacco di cose.

Se si desidera ottimizzare la velocità di video ci sono molti modi si può provare:

  • Il primo è quello di utilizzare un altro client RTMP, VLC è buona, ma utilizza troppa cache, tenta this one per esempio (basta impostare il diritto URL RTMP, deselezionare l'ingresso NetGroup e collegare),
  • allora si può provare un altro server, ho scritto il seguente tutorial su How to set up your own RTMFP server using MonaServer,
  • ed infine è possibile modificare i parametri di OBS (uso il " Twitch "parametri ottimizzati per il tempo reale).

Per me con OBS + MonaServer + mio VideoPlayer ho un ritardo di 2 secondi, non è in tempo reale, ma è già meglio.

Ultima cosa, OBS è noto per aggiungere la latenza sulle sessioni RTMP, lo so che è possibile migliorarlo modificando il codice sorgente di OBS, ma qui è un po 'difficile ...

spero che ti aiuterò! Contattatemi se avete bisogno di maggiori informazioni.