video streaming, sovány cpu

Fórumok

üdv,

egy geode lx800-zal szerelt deszkáról próbálom egy webcam képét streamelni egy másik gépre. próbálkoztam vlc-vel és ffmpeggel, ffmpeggel a neten talált leírással nem működött, vlc-vel ment, de elég kevés frame jött, ráadásul az is 4-8mp késéssel. a streamer gép procija 100%-on dolgozott közben. ha a bitrátát, framerate-t emeltem vagy csökkentettem, nem nagyon hatotta meg.
ezzel próbálkoztam: vlc "v4l2:///dev/video0" --sout "#transcode{vcodec=theo,vb=1024,fr=15}:standard{access=http,mux=ogg,dst=:1234}" -I dummy

tudtok valami megoldást a kis teljesítményű géppel egyetlen másik gépre történő video átzavarására? van valami kevés cpu igényű megoldás? valami kodek tipp? a sávszélesség nem akadály, 100mbit. a késedelem legyen lehetőleg kicsi, nem baj, ha a framerate vagy bitráta rovására megy.

debian squeeze
vlc 1.0.4-2+b1
libavcodec52 4:0.5+svn20090706-6
libavdevice52 4:0.5+svn20090706-6
ffmpeg 4:0.5+svn20090706-6

kösz:
p

Hozzászólások

felrántottam a debian-multimedia-féle ffmpeg libavcodecet, ugyanis ebben van mpeg4, most viszont se theorával, semmivel nem megy, azzal sem, amivel eddig még döcögött.
bármi javaslat?

mivel transcodeolásról van szó szerezz egy izmos procit/gépet :>

CoreDuo L2400, 4G, Ubuntu 9.10, 2.6.31

500 Mhz-es VIA-s gépben lévő TV-turner kártya képét akartam átküldeni hálózaton. Az lett a megoldás, hogy a proci nem nyúl a folyamhoz (mondjuk a folyam már eleve MPEG2), hanem a

/dev/video0

-t küldöm át

netcat

tel. Nem tudom, hogy ez USB esetén mennyire járható út.

A "szerver" oldalról:

while true; do cat /dev/video0 | nc KLIENSGÉP PORT; sleep 5; done

A kliens oldalról:

nc -l PORT | mplayer -

A webcamod remélem megy így. A netcat-et rá lehet venni, hogy UDP csomagokat használjon, ha egyébként nincs veszteség a hálozaton, akkor ez csökkenthet a késésen.

Csak találgatok. Lehet, hogy az történik, hogy az én esetemben MPEG2 stream megy, és nincs szükség visszafelé kommunikációra, a tiédnél pedig szükséges lenne inicializálni az eszközt. Esetleg nézd meg az socat-ot, sose használtam, de "establishes two bidirectional byte streams and transfers data between them".

azt hiszem, megvan a hiba, szerintem valahogy hozzácsaptam az stderr-t is, legalábbis mikor hexdumppal belenéztem, nekem úgy tűnt! ^^
most megy, de valami fps bajom van, mert elcsúszik az idő. a prociterhelés viszont 1% alatti, úgyhogy tuti jó. a hálózaton meg simán átfér.