Mam dwa komputery, komputer stacjonarny w moim biurze (z podłączoną kamerą internetową ) i laptop gdzie indziej w sieci.
Zwykle biegam do mojego biura przez kamerę internetową
ssh Office -Y "mplayer tv://device=/dev/video0"
z mojego laptopa. Nie lubię mplayera Xforwarding, więc dlaczego nie mogę tunelować /dev/video
do mojego komputera, uruchamiając go na moim laptopie?
sudo mkfifo /dev/video1
ssh Office 'dd if=/dev/video' | sudo dd of=/dev/video1'
a następnie obejrzeć kamerę internetową (na moim laptopie )
mplayer tv://device=/dev/video1
ssh
video
ssh-tunneling
Stefan
źródło
źródło
dd if=/dev/video0 | mplayer tv://device=/dev/stdin
to powie mi, że zasób jest zajęty. W przeciwnym razie to działa (widzę wideo), nawet gdy biegnęmplayer tv://device=/dev/null
mplayer
byłobymplayer tv:// -tv device=/dev/stdin
podobne lub podobne, ale to nie działa (urządzenia postaci są bardziej wyjątkowe niżdd
mogą poprawnie obsługiwać). Po uruchomieniumplayer tv://device=/dev/stdin
nie widzi specyfikacji urządzenia, a więc wraca/dev/video0
bezpośrednio do niego , dając złudzenie „działania”. Ale to nie będzie działać, gdy kamera internetowa implayer
proces są oddzielone przez sieć.ssh localhost dd if=/dev/video0 | mplayer tv://device=/dev/stdin
gdy używasz dwóch różnych komputerów?mplayer tv://device=/dev/stdin
OSX?Jeśli masz niską przepustowość, polecam kompresję strumienia wideo:
gdzie
-an
wyłącza kodowanie audio. Jeśli chcesz dźwięku, wymienić-an
z-f alsa -ac 1 -i hw:3
(gdzie hw: 3 może być również hw: 0 lub hw: 1, ... zobaczarecord -l
na urządzeniu). Jeśli chcesz tylko dźwięk (bez wideo), użyj tego )-s 640x480
to rozmiar Twojego filmu w wymiarze xiy-r 10
to liczba klatek na sekundę, którą chcesz odebrać (niższa robi lepsze obrazy przy niskich przepływnościach, ale wygląda bardziej nieprzyjemnie)-b:v 500k
to szybkość transmisji 500 kilobitów / sPotrzebujesz ffmpeg na zdalnym hoście i mplayera na zainstalowanym komputerze lokalnym.
źródło
Projekt VideoLAN istnieje w dużej części, aby robić dokładnie to, czego pragniesz.
Nie korzystałem z jego możliwości przesyłania strumieniowego, ale okazało się, że w przypadku korzystania z jednego komputera jest on solidny.
źródło
Przyjęta odpowiedź nie działa dla mnie.
dd
po prostu tego nie przeczyta.nc
jest złe, jeśli nie możesz oszczędzić innego portu (i tak w ogóle nie udało mi się go uruchomić).cat
też nie działało dla mnie.To, co skończyło się dla mnie działaniem, to:
Ma to tę zaletę, że jest kodowane, więc oszczędzasz przepustowość jako bonus. Nic innego na żadnym forum / stronie nie działało dla mnie na maszynie debian.
Połącz z Tee , aby jednocześnie oglądać i nagrywać:
Otworzy to mplayer do strumieniowego przesyłania na żywo i zapisze go w pliku zawierającym bieżącą datę i godzinę w tym samym czasie (przykładowa nazwa pliku:)
2018-11-22_01-22-10_recording.mkv
.źródło
Nie wiem, czy jest jakiś powód, dla którego nie możesz tego zrobić, ale jednym z problemów, które widzę w twojej implementacji, jest to, że zdalny system będzie szukał / dev / video1 w swoim systemie, ale nie będzie w stanie go znaleźć, ponieważ utworzyłeś go w systemie lokalnym.
To, co zrobiłbym, jest następujące
a następnie spróbuj czegoś, mówiąc, aby przejść do portu TCP lokalnego systemu 12345.
źródło