Erdekes problemaval kuszkodok VLCvel:
Adott egy Hauppauge WinTV PCIos tunerkartya (Multimedia video controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder (rev 05)). S-Videon kapja meg a kepet.
Ezt sikerult is beallitani, hogy VLC kuldje ki a videot Icecast2 szerverre. Gyonyoruen mukodik (hang nelkul).
Azonban ha megprobalom beallitani a hangot is akkor 3-4 masodperc streameles utan megall az egesz. Ilyenkor az Icecast2 webfeluleterol is eltunik.
Jelenleg ezzel a parameterrel probalom:
cvlc -vvv v4l2:// :v4l2-dev=/dev/video0 :v4l2-fps=25 :v4l2-input=3 :v4l2-standard=2 :v4l2-width=720 :v4l2-height=576 :input-slave=alsa://hw:1,0 --sout='#transcode{fps=25,vcodec=theo,vb=1024,scale=0,acodec=vorb,ab=128,channels=2,samplerate=44100}:std{access=shout,mux=ogg,dst=teszt:teszt@192.168.0.1:8000/video.ogv}'
Ezt a logot hozta ossze a VLC: http://syserr.hu/vlc.log
A gepben ket hangkartya van. Egy SB Audigy es egy integralt vacak. Mindkettovel ugyanezt csinalja. Kiprobaltam virtualis videoeszkozzel is (vivi modul), de nem lett jo azzal se.
A rendszer Debian testing, kernel 2.6.31.4, minden csomagbol lett felteve
Help pls!
- 4822 megtekintés
Hozzászólások
Update:
Upgradeltem 1.0.3-as VLC-re, a helyzet valtozatlan
Az Icecast2 logjanal erre vonatkozo resze:
[2009-12-05 00:33:48] DBUG stats/process_source_event new node audio_samplerate (44100)
[2009-12-05 00:33:48] DBUG stats/process_source_event new node audio_channels (2)
[2009-12-05 00:33:48] DBUG stats/process_source_event new node audio_bitrate (128000)
[2009-12-05 00:33:48] DBUG stats/process_source_event new node ice-bitrate (128)
[2009-12-05 00:33:48] DBUG stats/process_source_event new node video_bitrate (1024000)
[2009-12-05 00:33:48] DBUG stats/process_source_event new node video_quality (12)
[2009-12-05 00:33:48] DBUG stats/process_source_event new node frame_size (720 x 576)
[2009-12-05 00:33:48] DBUG stats/process_source_event new node frame_rate (25.00)
[2009-12-05 00:33:48] DBUG stats/process_source_event new node subtype (Theora/Vorbis)
[2009-12-05 00:33:51] DBUG stats/modify_node_event update node total_bytes_read (187219)
[2009-12-05 00:33:51] DBUG stats/modify_node_event update node total_bytes_sent (0)
[2009-12-05 00:33:56] DBUG stats/modify_node_event update node total_bytes_read (187219)
[2009-12-05 00:33:56] DBUG stats/modify_node_event update node total_bytes_sent (0)
[2009-12-05 00:34:01] DBUG stats/modify_node_event update node total_bytes_read (187219)
[2009-12-05 00:34:01] DBUG stats/modify_node_event update node total_bytes_sent (0)
[2009-12-05 00:34:06] DBUG stats/modify_node_event update node total_bytes_read (187219)
[2009-12-05 00:34:06] DBUG stats/modify_node_event update node total_bytes_sent (0)
[2009-12-05 00:34:11] DBUG stats/modify_node_event update node total_bytes_read (187219)
[2009-12-05 00:34:11] DBUG stats/modify_node_event update node total_bytes_sent (0)
[2009-12-05 00:34:16] DBUG stats/modify_node_event update node total_bytes_read (187219)
[2009-12-05 00:34:16] DBUG stats/modify_node_event update node total_bytes_sent (0)
[2009-12-05 00:34:21] DBUG source/get_next_buffer last 1259969630, timeout 30, now 1259969661
[2009-12-05 00:34:21] WARN source/get_next_buffer Disconnecting source due to socket timeout
[2009-12-05 00:34:21] INFO source/source_shutdown Source "/video.ogv" exiting
[2009-12-05 00:34:21] DBUG source/source_clear_source clearing source "/video.ogv"
[2009-12-05 00:34:21] DBUG format-ogg/format_ogg_free_headers releasing header pages
[2009-12-05 00:34:21] DBUG format-ogg/free_ogg_codecs freeing codecs
[2009-12-05 00:34:21] DBUG format-theora/theora_codec_free freeing theora codec
[2009-12-05 00:34:21] DBUG format-vorbis/vorbis_codec_free freeing vorbis codec
[2009-12-05 00:34:21] DBUG source/source_free_source freeing source "/video.ogv"
[2009-12-05 00:34:21] DBUG stats/modify_node_event update node total_bytes_read (187219)
[2009-12-05 00:34:21] DBUG stats/modify_node_event update node total_bytes_sent (0)
[2009-12-05 00:34:21] DBUG stats/process_source_event delete source node /video.ogv
[2009-12-05 00:34:21] DBUG stats/modify_node_event update node clients (0)
[2009-12-05 00:34:21] DBUG stats/modify_node_event update node sources (0)
Ezutan a vlc latszolag fut tovabb, egyebkent innentol nem megy egy arva bit se a szerver fele.
Kiprobaltam azt is, hogy nem Icecast2 szerverre kuldom a videot hanem egy fileba, es erdekes modon ugy tokeletesen jo.
Na, akkor gondoltam, hogy csinalok mkfifo-val out.ogg filot majd eloszedtem a http://hup.hu/node/60255 -ban talalt OGG-rol AACra transkodolo perl scriptet (ami a mai napig tokeletesen mukodik) es ezt atirva hasznalom a video kuldesere, es itt mar ereztem is hogy valami nem lesz jo (es biztos voltam benne, hogy nem a perl script-tel lesz a gond). Na innentol a VLC kitalalta hogy o biza nem akar irni az mkfifo-val letrehozott fileba. Helyette ugy csinal mintha minden ok lenne, de nem kuld a VLC abba se semmit se.
Erdemes egyaltalan Linux alatt foglalkozni video streamingel vagy inkabb maradjak a WinXP + NSV videonal?
Pedig pont az NSVt akarom levaltani OGV-re pont amiatt mert a Firefox alapbol lejatsza az OGV-t oprendszertol fuggetlenul es igen, nem kell Flash se neki.
- A hozzászóláshoz be kell jelentkezni
Kozben kiprobaltam egy Canopus ACEDVio kartyaval is a dolgot, de most nem VLCvel hanem e leiras szerint: http://en.flossmanuals.net/FFmpeg2Theora/StreamingDV
Maga a kartya egy olyan Firewire kartya aminek van analog bemenete es kimenete is. Ennel is rossz eloerzetem volt, ezert elotte XP alatt direkt kiprobaltam, radugtam az analog jelet, tokeletesen ott volt a kep, ment a felvetel is.
Debian alatt meg elintezte egy `Waiting for DV...` uzenettel.
Otlet?
- A hozzászóláshoz be kell jelentkezni
Na, masik geppel is kiprobaltam, Ugyanaz a helyzet VLCvel. 5-6 masodperc utan megall, Icecast2 ledobja azt a mountpointot, a VLC meg ugy csinal mintha mi sem tortent volna. CPU terheles is ugyanannyi.
Kiprobaltam egy ilyet is:
ffmpeg2theora /dev/video0 -f video4linux --inputfps 25 -x 320 -y 240 -o - | oggfwd 192.168.0.8 8000 teszt /teszt.ogg
Es nincs hang! Alsamixerben a tunerkartyan pedig be van allitva. 720*576-os felbontasra meg ezt hazudja:
[video4linux @ 0x8066bd0]VIDIOCMCAPTURE: Invalid argument
File `/dev/video0' does not exist or has an unknown data format.
oggfwd: Connected to server
oggfwd: Quitting ...
oggfwd: Total bytes read: 0
Mar nagyon kozel vagyok a feladashoz :(
- A hozzászóláshoz be kell jelentkezni
Nos, rögtön az elején leszögezném, hogy konkrétan ilyennel még nem foglalkoztam (tunerről streamelés Icecast szervernek), de megpróbálok segíteni.
A VLC logból számomra egyértelműen látszik, hogy valami miatt nem tudja a VLC elég gyorsan olvasni a hangbemenetet (ALSA read overrun). Első körben szerintem próbáld megnövelni az alsa pufferét (--alsa-caching 3000). Ha ez nem segít, egészítsd ki a transcode paramétereket egy audio-sync opcióval:
cvlc -vvv v4l2:// :v4l2-dev=/dev/video0 :v4l2-fps=25 :v4l2-input=3 :v4l2-standard=2 :v4l2-width=720 :v4l2-height=576 :input-slave=alsa://hw:1,0 --sout='#transcode{fps=25,vcodec=theo,vb=1024,scale=0,acodec=vorb,ab=128,channels=2,samplerate=44100,audio-sync}:std{access=shout,mux=ogg,dst=teszt:teszt@192.168.0.1:8000/video.ogv}'
Következő lépésként elgondolkoznék azon, hogy érdemes-e egy kísérleti stádiumban lévő opcióval próbálkozni (vlc -H | grep input-slave). Lehet (több mint valószínű), hogy ez a feature még kiforratlan, úgyhogy szerintem próbálkozz más megoldással, pl. a VLM használatával. A VLM-mel több streamet tudsz egyidejűleg szórni, anélkül, hogy külön VLC-példányt kéne futtatnod minden bemenethez. Készíts egy VLM-konfigot, ami például így nézhet ki, alapul véve a fenti paramétereket:
new video broadcast enabled
setup video input v4l2:///dev/video0:width=720:height=576:standard=2:input=3:fps=25
setup video output #transcode{sfilter=mosaic,fps=25,vcodec=theo,vb=1024,scale=1}:bridge-in{id-offset=100}:std{access=shout,mux=ogg,dst=teszt:teszt@192.168.0.1:8000/video.ogv}
new audio broadcast enabled
setup audio input alsa://hw:1,0
setup audio output #transcode{acodec=ogg,samplerate=44100,channels=2,ab=128}:bridge-out
#ha nem jo a hang, probald meg ezt:
#setup audio option alsa-caching=3000
control video play
control audio play
Ha kész, mentsd el vlm.conf néven, majd add be a vlc-nek:
vlc -vv --vlm-conf vlm.conf
Remélem, tudtam segíteni!
- A hozzászóláshoz be kell jelentkezni
Kozben masik gepen tudom folytatni a probalkozast. Minden ugyanaz csak itt integralt hangkari van.
Ezzel a configgal el is indul
new video broadcast enabled
setup video input v4l2:///dev/video0:width=720:height=576:standard=2:input=3:fps=25
setup video output #transcode{sfilter=mosaic,fps=25,vcodec=theo,vb=1024,scale=1}:bridge-in{id-offset=100}:std{access=shout,mux=ogg,dst=teszt:teszt@192.168.0.8:8000/video.ogv}
new audio broadcast enabled
setup audio input alsa://hw:0,0
setup audio output #transcode{acodec=ogg,samplerate=44100,channels=2,ab=128}:bridge-out
setup audio option alsa-caching=3000
control video play
control audio play
, de most egy ilyen hibauzenetet ad:
ALSA lib pcm_hw.c:1433:(_snd_pcm_hw_open) Invalid value for card
[0x8122928] [Média: audio] access_alsa demux error: cannot open device hw:0,0 for ALSA audio (Nincs ilyen f?jl vagy k?nyvt?r)
[0x812dcf8] [Média: audio] main access error: no access module matched "alsa"
[0x80fbc18] [Média: audio] main input error: open of `alsa://hw:0,0' failed: no access module matched "alsa"
[0x80fbc18] [Média: audio] main input error: A bemenet nem nyitható meg
[0x80fbc18] [Média: audio] main input error: A VLC nem képes megnyitni a(z) ???alsa://hw:0,0??? MRL-t.
[0x8118ad0] [Média: video] mux_ogg mux: Open
Nemi alsa informacio:
teszt:~# cat /proc/asound/cards
0 [V8235 ]: VIA8233 - VIA 8235
VIA 8235 with ALC655 at 0xe400, irq 10
1 [CX8811 ]: CX88x - Conexant CX8811
Conexant CX8811 at 0xde000000
teszt:~# cat /proc/asound/devices
0: [ 0] : control
1: : sequencer
16: [ 0- 0]: digital audio playback
17: [ 0- 1]: digital audio playback
24: [ 0- 0]: digital audio capture
25: [ 0- 1]: digital audio capture
32: [ 1] : control
33: : timer
56: [ 1- 0]: digital audio capture
teszt:~#
- A hozzászóláshoz be kell jelentkezni
Próbáld meg így:
setup audio input v4l:///dev/dsp1
Ha nincs hang, jelöld ki az ALSA mixeren a megfelelő bemenetet (line-in?).
- A hozzászóláshoz be kell jelentkezni
Line-in engedelyezve van, ez volt az elso amit megneztem.
Kiprobaltam amit irtal:
[0x8123360] [Média: audio] v4l demux error: cannot get capabilities (?rv?nytelen param?ter)
[0x8122570] [Média: audio] main access error: no access module matched "v4l"
[0x80fa948] [Média: audio] main input error: open of `v4l:///dev/dsp' failed: no access module matched "v4l"
[0x80fa948] [Média: audio] main input error: A bemenet nem nyitható meg
[0x80fa948] [Média: audio] main input error: A VLC nem képes megnyitni a(z) ???v4l:///dev/dsp??? MRL-t.
[0x8117338] [Média: video] mux_ogg mux: Open
[0x8399478] [Média: video] main filter error: couldn't set priority of non-existent thread
/dev -ben ott van a dsp es hogy biztosra menjek a jogokat is atallitottam 777-re
Kiprobaltam a v4l2-vel is, hatha...
[0x8121f48] [Média: audio] v4l2 demux error: cannot get video capabilities (?rv?nytelen param?ter)
libv4l2: error getting capabilities: Érvénytelen paraméter
[0x8121f48] [Média: audio] v4l2 demux error: cannot get video capabilities (?rv?nytelen param?ter)
[0x8121f38] [Média: audio] v4l2 access error: cannot get video capabilities (?rv?nytelen param?ter)
libv4l2: error getting capabilities: Érvénytelen paraméter
[0x8121f38] [Média: audio] v4l2 access error: cannot get video capabilities (?rv?nytelen param?ter)
[0x80fa9c0] [Média: audio] main input error: open of `v4l2:///dev/dsp' failed: (null)
[0x80fa9c0] [Média: audio] main input error: A bemenet nem nyitható meg
[0x80fa9c0] [Média: audio] main input error: A VLC nem képes megnyitni a(z) ???v4l2:///dev/dsp??? MRL-t.
[0x8121f38] [Média: video] mux_ogg mux: Open
[0x83985d8] [Média: video] main filter error: couldn't set priority of non-existent thread
mocp -vel direkt megneztem hogy ugyan mukodik-e a hangkari, de az ment rogton elsore.
- A hozzászóláshoz be kell jelentkezni
Játszogattam picit, nálam így működik:
setup audio input alsa://hw:1,0
Szerintem nálad is jó lesz.
- A hozzászóláshoz be kell jelentkezni
hw:0,1 -el tokeletesen mukodik!
Es ha mar minden megy akkor feltettem az eles gepre is a cuccot. Es NINCS HANG.
Az mplayer ezt adja ki ha le akarom jatszani:
teszt:~# mplayer -vo null http://192.168.1.31:8000/video.ogv
MPlayer SVN-r29142-4.3.3 (C) 2000-2009 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing http://192.168.1.31:8000/video.ogv.
Connecting to server 192.168.1.31[192.168.1.31]: 8000...
Name : VLC media player - Live stream
Genre : Alternative
Website: http://www.videolan.org/vlc
Public : no
Cache size set to 320 KBytes
Cache fill: 0.00% (0 bytes)
[Ogg] stream 0: video (Theora v3.2.1), -vid 0
Ogg file format detected.
VIDEO: [theo] 720x576 24bpp 25.000 fps 0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
[theora @ 0xb5f69860]Missing extradata!
Could not open codec.
VDecoder init failed :(
Opening video decoder: [theora] Theora/VP3
VDec: vo config request - 720 x 576 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO: [null] 720x576 => 768x576 Planar YV12
Selected video codec: [theora] vfm: theora (Theora (free, reworked VP3))
==========================================================================
Audio: no sound
Starting playback...
Ogg : bad packet in stream 0
V: 0.1 3/ 3 ??% ??% ??,?% 0 0 13%
Tehat itt mar nem hangkartya gond, hanem maga a VLC nem akarja beletenni a hangot a stream-be, mivel mar a VLC-nel is megszunt az osszes hanggal kapcsolatos gond es nincs mar hibauzenet sem
A vlm.conf most igy nez ki:
new video broadcast enabled
setup video input v4l2:///dev/video32:width=720:height=576:standard=6:input=1:fps=25
setup video output #transcode{fps=25,vcodec=theo,vb=512,scale=1}:bridge-in{id-offset=100}:std{access=shout,mux=ogg,dst=teszt:teszt@192.168.1.31:8000/video.ogv}
new audio broadcast enabled
setup audio input alsa://hw:0,1
setup audio output #transcode{acodec=vorbis,samplerate=44100,channels=2,ab=128:bridge-out
setup audio option alsa-caching=3000
control video play
control audio play
- A hozzászóláshoz be kell jelentkezni
setup audio output #transcode{acodec=vorbis,samplerate=44100,channels=2,ab=128:bridge-out
helyett próbáld ezt:
setup audio output #transcode{acodec=vorbis,samplerate=44100,channels=2,ab=128}:bridge-out
Így sincs hang?
- A hozzászóláshoz be kell jelentkezni
Ujra van idom ezzel foglalkozni.
Es most mar van hang, azt en se vettem eszre :)
Viszont hogy ne legyen egyszeru a dolog: Csak nehany masodpercig jo veteli oldalon, utana megall a kep, de a hang megy tovabb. Ha ujracsatlakozok a lejatszoval akkor nagyon nehezen csatlakozik fel, ekkor mar a kep megy duplasebesseggel (amig ki nem fogy a buffer) es mindezt hang nelkul.
Most a tesztgep egy Core2duo E7400 2.8->4.0Ghz es siman eszik a vlc 100% procit az egyik magon. Ekkora procizabalas egy 25 FPS-es 720*576-os felbontasnal kicsit sok szerintem. (Ugyanilyen minoseget WinXP alatt az NSVCap 15-20% procihasznalattal oldja meg egy E5200-es procin)
Otlet?
- A hozzászóláshoz be kell jelentkezni
+subscribe
____________________
Ha igen akkor miért nem...
Linux 2.6.30-gentoo-r4 i686 Intel(R) Core(TM)2 Duo CPU E6550 @ 2.33GHz GenuineIntel GNU/Linux
- A hozzászóláshoz be kell jelentkezni
Sziasztok.
Próbálnék egy olyat összehozni, hogy "A" helyről egy webkamera képét küldeném streamként "B" helyen levő icecast2 szerverre. Azt szeretném, hogy a user-ek a szerverre csatlakozva nézhessék online a stream-et.
A stream-et a vlc-vel küldeném. Tud valaki icecast2 beállításában segíteni, mert nem nagyon jutok vele dűlőre. Az is jó lenne, ha valaki tudna egy példa icecast.xml-t mutatni.
köszönöm
<= Powered By Ubuntu & Gentoo Linux =>
'Software is like sex: It's better when it's free!'
By Linus Torvalds
- A hozzászóláshoz be kell jelentkezni
Nezd meg az icecast-hoz jaro pelda configot. Abban benne van minden ami kell neked, kb.
- A hozzászóláshoz be kell jelentkezni
Köszi, de azon már túl vagyok, ezért kéne egy kicsit konkrétabb segítség :(
<= Powered By Ubuntu & Gentoo Linux =>
'Software is like sex: It's better when it's free!'
By Linus Torvalds
- A hozzászóláshoz be kell jelentkezni
Akkor nezzetek alaposabban. Tenyleg ott van minden az example-ben ami ehhez kell (kb 3 hete raktam ossze egy ogg/theora streamet - mondjuk en nem vlc-vel kuldtem, de az igazabol teljesen mindegy -, pelda configon kivul masra nem volt szuksegem ehhez).
- A hozzászóláshoz be kell jelentkezni