GNU/Linux >> Belajar Linux >  >> Linux

Memipipkan perangkat video melalui SSH atau tcptunnel?

Anda dapat menggunakan netcat.

cat /dev/video0 | nc -l 1234

Ini akan membuka server pada satu host yang mendengarkan pada port 1234 dan mengirim data yang tidak terkompresi dan tidak terenkripsi dari /dev/video0 ke setiap klien yang terhubung. Anda dapat menerima data di host lain dengan mengaktifkan:

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

di mana videohost adalah host yang mengirimkan data dari /dev/video0 .


Solusi netcat tidak berhasil untuk saya. Itu menunjukkan kesalahan pipa, atau cat melaporkan Invalid input .

Ini adalah satu-satunya solusi yang berhasil untuk saya:

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

Ini memiliki keuntungan karena dikodekan, jadi Anda menghemat bandwidth sebagai bonus.

Kombinasikan dengan tee dan Anda dapat menonton dan merekam secara bersamaan:

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

Ini akan membuka mplayer untuk streaming langsung dan menyimpannya ke file yang berisi waktu saat ini pada waktu yang sama (contoh nama file:2018-11-22_01-22-10_recording.mkv ).

Ganti -f matroska dengan -f avi untuk menggunakan format avi yang lebih terkompresi. Ini akan menghemat banyak sumber daya CPU pada sumbernya dan banyak bandwidth untuk pengalaman yang lebih bebas lag.


Saya serius akan menyarankan Anda menentang ini. Saya baru-baru ini mencoba streaming video avi melalui akses file ssh:// dan itu menyakitkan. Anda harus ingat bahwa video sedang dienkripsi dan kemudian didekripsi selama proses ini.

Jika komputer Anda tidak dapat menangani pengompresan aliran, maka tentu tidak akan dapat menangani pengenkripsiannya.

Sungguh, Anda hanya ingin memiliki terowongan tcp untuk data mentah:

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


Linux
  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Seberapa Portabel /dev/stdin, /dev/stdout Dan /dev/stderr?

  3. Kapan Menggunakan /dev/random Vs /dev/urandom?

  1. Linux – /dev/xvde1?

  2. DD dari /dev/zero ke /dev/null...apa yang sebenarnya terjadi

  3. Linux:Perbedaan antara /dev/console , /dev/tty dan /dev/tty0

  1. kernel:menonaktifkan /dev/kmem dan /dev/mem

  2. Bagaimana Linux menggunakan /dev/tty dan /dev/tty0

  3. Apakah salah menautkan /dev/random ke /dev/urandom di Linux?