GNU/Linux >> Znalost Linux >  >> Linux

Propojit video zařízení přes SSH nebo tcptunnel?

Můžete použít netcat.

cat /dev/video0 | nc -l 1234

Tím se otevře server na jednom hostiteli naslouchajícím na portu 1234 a odesílání nekomprimovaných a nešifrovaných dat z /dev/video0 na každého klienta, který se připojí. Data můžete přijímat na jiném hostiteli vyvoláním:

nc videohost 1234 | mplayer tv://device=/dev/stdin

kde videohost je hostitel odesílající data z /dev/video0 .


Řešení netcat mi nefungovalo. Buď ukazuje chybu potrubí, nebo cat hlášení Invalid input .

Toto je jediné řešení, které pro mě fungovalo:

ssh [email protected] "ffmpeg  -r 14 -s 640x480 -f video4linux2 -i /dev/video0 -f matroska -" | mplayer - -idle

To má tu výhodu, že je kódováno, takže jako bonus ušetříte šířku pásma.

Zkombinujte s tričkem a můžete sledovat a zároveň nahrávat:

ssh [email protected] "ffmpeg  -r 14 -s 640x480 -f video4linux2 -i /dev/video0 -f matroska -" | tee $(date +%Y-%m-%d_%H-%M-%S)_recording.mkv | mplayer - -idle

Tím se otevře mplayer pro živé vysílání a zároveň se uloží do souboru obsahujícího aktuální datum a čas (příklad názvu souboru:2018-11-22_01-22-10_recording.mkv ).

Nahraďte -f matroska s -f avi použít více komprimovaný formát avi. Tím ušetříte spoustu zdrojů CPU na zdroji a spoustu šířky pásma pro větší zážitek bez zpoždění.


Vážně bych vám to nedoporučoval. Nedávno jsem zkoušel streamovat avi videa přes přístup k souboru ssh:// a je to bolestivé. Musíte si pamatovat, že video je během tohoto procesu šifrováno a následně dešifrováno.

Pokud váš počítač nezvládne kompresi streamu, pak určitě nebude schopen zvládnout jeho šifrování.

Opravdu chcete mít tcp tunel pro nezpracovaná data:

http://www.vakuumverpackt.de/tcptunnel/


Linux
  1. Linux:Rozdíl mezi /dev/console, /dev/tty a /dev/tty0?

  2. Jak přenosné jsou /dev/stdin, /dev/stdout a /dev/stderr?

  3. Kdy použít /dev/random vs /dev/urandom?

  1. Jak namapovat zařízení /dev/sdX a /dev/mapper/mpathY ze zařízení /dev/dm-Z

  2. Používat zařízení přes SSH?

  3. Linux:Rozdíl mezi /dev/console , /dev/tty a /dev/tty0

  1. jádro:deaktivace /dev/kmem a /dev/mem

  2. Je špatné propojit /dev/random s /dev/urandom v Linuxu?

  3. Vytvořte virtuální blokové zařízení, které zapisuje do /dev/null