Sziasztok!
Köszönöm a válaszokat az előző kérdésemre, a VLC-t választottam. (Téma: link)
Ha manuálisan elindítom, akkor tökéletesen működik a közvetítés. Ilyenkor a beállítások:
Új közvetítés indítása után a Felvevőeszközt választom, majd a cél beállításánál a HTTP-t, beállítom a 11111 portot, majd az átkódolásnál az MP4-et választva elindítom a közvetítést, akkor tökéletesen működik, másik gépen indítva a VLC-t látom a kamera képét.
Ezt szeretném úgy megcsinálni, hogy parancssorból indítva lehessen a közvetítést elindítani, a kolleganők, akik használják, informatikában gyerekcipőben járnak, nem is értenék az előző lépéssort.
A következő parancssor tökéletesen elindítja a közvetítést egy létező videó lejátszásával:
vlc.exe -vvv C:\Teszt\EnVideom.mp4 --sout "#duplicate{dst=std{access=http,mux=ts,dst=:11111}}"
A lejátszás indítása:
vlc.exe http://192.168.20.115
ahol az IP cím annak a gépnek a címe, ahol a közvetítés fut. Tökélesen működik, látom a filmet
Ha a következő parancsot írom be:
vlc.exe dshow://
akkor elindul a VLC és egyből mutatja is a kamera képét
Viszont a következő utasítás:
vlc.exe -vvv dshow:// --sout "#duplicate{dst=std{access=http,mux=ts,dst=:11111}}"
látszólag elindítja a közvetítést, de a másik gépen azt a hibaüzenetet kapom, hogy a stream nem nyitható meg.
Mit kellene beírnom, hogy működjön? Ennek az sout paraméternek abszolút nem értem a felépítését...
Gábor
Hozzászólások
Hűha, jó rég csináltam ilyent... De határozottan úgy emlékszem, hogy a VLC felületén össze lehetett kattogtatni, aztán meg kikopipasztázni az ahhoz a beállításhoz tartozó parancssort.
Ezt kerülném a helyedben, mert iszonyat lassú. Egyébként a parancssorod alapján nincs átkódolás, csak a konténert cseréli le, ami gyors. Szerintem maradj meg ennél.
Nem is kell, a felület elvileg összerakja neked. Egyébként itt nem az sout-al van gondod, hanem a stream in-el, én a helyedben arrafelé nézelődnék. Nekem anno sikerült megoldanom pontosan ugyanezt, igaz, Linux alatt V4L API-val. Ha minden kötél szakad, akkor megpróbálhatod a kamerát egy Linuxos gépre rakni, a kliensek futhatnak továbbra is Windows-on.
Ja, és ha jól emlékszem, nekem nem http-vel jött össze, hanem rtp-vel. De ez sok sok éve volt már, azóta sok minden változhatott a VLC-ben. Mindenesetre az rtp protokoll alkalmasabbnak tűnik az esetedben, szvsz érdemes errefelé is nézelődni.
transkódolni kellene szerintem.
Fedora 41, Thinkpad x280
Ha csak a képet kell átvinni, akkor meg lehet úszni átkódolás nélkül is, legalábbis nálam ez működött:
Ha hang is kell, akkor már más konténert kell választani. Elvileg ts-ben is átmegy az MJPEG, de ez nálam nem működött megfelelően. Asf-ben viszont megy átkódolás nélkül a kép és a hang is.
Átkódolással így néz ki egy MPEG stream:
Lehet más codecekkel és konténerekkel is kísérletezni, de célszerű minél kevésbé CPU intenzívet választani, mivel helyi hálózaton valószínűleg nem a sávszélesség lesz a szűk keresztmetszet. Csak arra kell figyelni, hogy a konténer támogassa a választott kodekeket és egyéb kódolási beállításokat.
Köszönöm szépen, ki fogom próbálni!
Eddig két verzióval jártam sikerrel:
Ez szép képet ad lejátszásnál, de durván 10-12 másodpercet késik.
Ez is még értékelhető képet ad, 3-4 másodperces késéssel.
Gábor