コンピュータが2台ありますが、1台はデスクトップ私のオフィスに(次がある。カメラ添付)とラップトップウェブの他の場所。
私は通常ウェブカメラの電源を入れてオフィスを見ます。
ssh Office -Y "mplayer tv://device=/dev/video0"
私のラップトップから。私はXforwarding mplayerが好きではありませんが、なぜラップ/dev/video
トップで実行してコンピュータにトンネルすることはできませんか?
sudo mkfifo /dev/video1
ssh Office 'dd if=/dev/video' | sudo dd of=/dev/video1'
それからウェブカメラを見てください(私ラップトップ)
mplayer tv://device=/dev/video1
答え1
帯域幅が低い場合は、ビデオストリームを圧縮することをお勧めします(2020年にも有効です)。
そしてffmpeg
mplayer
ssh USERNAME@REMOTEHOST ffmpeg -an -f video4linux2 -s 640x480 -i /dev/video0 -r 10 -b:v 500k -f matroska - | mplayer - -idle -demuxer matroska
どこ
-an
オーディオエンコーディングをオフにします。オーディオが必要な場合は、次のよう-an
に置き換えてください-f alsa -ac 1 -i hw:3
(ここで、hw:3はhw:0またはhw:1です。...arecord -l
デバイスを参照してください)。オーディオのみが必要な場合(ビデオは必要ありません)これを使う)-s 640x480
ビデオのxとyの寸法サイズ。-r 10
受信したいフレームレートです(フレームレートが低いほど、低いビットレートでより良い画像を提供しますが、より薄暗くなります)。-b:v 500k
ビットレート 500kbit/s
リモートホストにffmpegをインストールし、ローカルコンピュータにmplayerをインストールする必要があります。
そしてffmpeg
mpv
ssh USERNAME@REMOTEHOST ffmpeg -an -f video4linux2 -s 640x480 -i /dev/video0 -r 10 -b:v 500k -f matroska - | mpv --demuxer=mkv /dev/stdin
そしてffmpeg
ffplay
ssh USERNAME@REMOTEHOST ffmpeg -an -f video4linux2 -s 640x480 -i /dev/video0 -r 10 -b:v 500k -f matroska - | ffplay -f matroska /dev/stdin
答え2
それは次のとおりです。
dd if=/dev/video0 | mplayer tv://device=/dev/stdin
ローカルで動作します(SOA#1)。また:
ssh localhost dd if=/dev/video0 | mplayer tv://device=/dev/stdin
また
mkfifo test
dd if=/dev/video0 of=test &
mplayer tv://device=test
したがって:
- 名前付きパイプを使用しないでください。
- 帯域幅の確認
また - 方法いいえ仕事(黒い画面の表示、不明なデバイスに対する苦情など)?
答え3
許可された答えは私には適していません。dd
まったく読みません。nc
他のポートを確保できない場合は、それはうまくいきません(とにかく動作しませんでした)。cat
私にも同じです。
ついに私に役立ったのは受信者側でした。
ssh user@host "ffmpeg -r 14 -s 640x480 -f video4linux2 -i /dev/video0 -f matroska -" | mplayer - -idle
これの利点は、エンコードされて帯域幅を節約できることです。フォーラム/ウェブサイトの他のどれもDebianコンピュータで私には役に立ちませんでした。
結合するティー視聴と録画を同時に行うことができます:
ssh user@host "ffmpeg -r 14 -s 640x480 -f video4linux2 -i /dev/video0 -f matroska -" | tee $(date +%Y-%m-%d_%H-%M-%S)_recording.mkv | mplayer - -idle
これにより、ライブストリーミングのためにmplayerが開き、同時に現在の日付/時刻を含むファイル(ファイル名:など2018-11-22_01-22-10_recording.mkv
)に保存されます。
答え4
これを行うことができない理由があるかどうかはわかりませんが、実装で見つかった問題の1つは、リモートシステムがそのシステムで/ dev / video1を探しているがユーザーが作成したために見つからないことです。ローカルシステムで確認しました。
やりたいことは次のとおりです。
nc -l 12345 | sudo tee /dev/video > /dev/null &
ssh Office
次に、ローカルシステムのTCPポート12345に移動して、いくつかの操作を試みるように指示します。