UDP multicast playing and VLC
Posted: 01 Jul 2010 20:29
Hi people.
I have a huge problem trying to get VLC to display a multicast stream on Lucid Lynx. This has worked with VLC on Windows (but sadly I don't have a windows machine anymore).
The thing just stops at "pre buffering" but I can actually see MPEG stream coming in on the interface through Wireshark.
This is the output:
./vlc -vvv -I dummy udp://@239.255.4.2:5002
VLC media player 1.2.0-git Twoflower (revision 1.1.0-pre1-1092-g2298f38)
[0x1cc9540] main libvlc debug: VLC media player - 1.2.0-git Twoflower
[0x1cc9540] main libvlc debug: Copyright © 1996-2010 the VideoLAN team
[0x1cc9540] main libvlc debug: revision 1.1.0-pre1-1092-g2298f38
[0x1cc9540] main libvlc debug: configured with ./configure '--disable-qt4' '--disable-skins2'
[0x1cc9540] main libvlc debug: translation test: code is "C"
[0x1cc9540] main libvlc debug: checking plugin modules
[0x1cc9540] main libvlc debug: loading plugins cache file /usr/src/vlc/src/.libs/vlc/plugins/plugins-04081e-3e8.dat
[0x1cc9540] main libvlc warning: cannot read /usr/src/vlc/src/.libs/vlc/plugins/plugins-04081e-3e8.dat (No such file or directory)
[0x1cc9540] main libvlc debug: recursively browsing `/usr/src/vlc/src/.libs/vlc/plugins'
[0x1cc9540] main libvlc debug: saving plugins cache /usr/src/vlc/src/.libs/vlc/plugins/plugins-04081e-3e8.dat
[0x1cc9540] main libvlc debug: loading plugins cache file /usr/src/vlc/modules/plugins-04081e-3e8.dat
[0x1cc9540] main libvlc debug: recursively browsing `/usr/src/vlc/modules'
[0x1cc9540] main libvlc debug: saving plugins cache /usr/src/vlc/modules/plugins-04081e-3e8.dat
[0x1cc9540] main libvlc debug: module bank initialized (374 modules)
[0x1cc9540] main libvlc debug: opening config file (/home/user/.config/vlc/vlcrc)
[0x1cc9540] main libvlc debug: CPU has capabilities MMX MMXEXT SSE SSE2 SSE3 SSSE3 FPU
[0x1cc9540] main libvlc debug: looking for memcpy module: 3 candidates
[0x1cc9540] main libvlc debug: using memcpy module "memcpymmxext"
[0x1d89090] main input debug: Creating an input for 'Media Library'
[0x1d89090] main input debug: Input is a meta file: disabling unneeded options
[0x1d89090] main input debug: using timeshift granularity of 50 MiB
[0x1d89090] main input debug: using timeshift path '/tmp'
[0x1d89090] main input debug: `file/xspf-open:///home/user/.local/share/vlc/ml.xspf' gives access `file' demux `xspf-open' path `/home/user/.local/share/vlc/ml.xspf'
[0x1d89090] main input debug: creating demux: access='file' demux='xspf-open' path='/home/user/.local/share/vlc/ml.xspf'
[0x1d8cec0] main demux debug: looking for access_demux module: 1 candidate
[0x1d8cec0] main demux debug: no access_demux module matching "file" could be loaded
[0x1d8cec0] main demux debug: TIMER module_need() : 0.201 ms - Total 0.201 ms / 1 intvls (Avg 0.201 ms)
[0x1d89090] main input debug: creating access 'file' location='/home/user/.local/share/vlc/ml.xspf', path='/home/user/.local/share/vlc/ml.xspf'
[0x1d8db60] main access debug: looking for access module: 2 candidates
[0x1d8db60] filesystem access debug: opening file `/home/user/.local/share/vlc/ml.xspf'
[0x1d8db60] main access debug: using access module "filesystem"
[0x1d8db60] main access debug: TIMER module_need() : 0.286 ms - Total 0.286 ms / 1 intvls (Avg 0.286 ms)
[0x1d901b0] main stream debug: Using AStream*Stream
[0x1d901b0] main stream debug: pre buffering 1
[0x1d901b0] main stream debug: received first data after 0 ms
[0x1d901b0] main stream debug: pre-buffering done 296 bytes in 0s - 8759 KiB/s
[0x1d8d990] main stream debug: looking for stream_filter module: 5 candidates
[0x1d8d990] main stream debug: no stream_filter module matching "any" could be loaded
[0x1d8d990] main stream debug: TIMER module_need() : 0.480 ms - Total 0.480 ms / 1 intvls (Avg 0.480 ms)
[0x1d8d990] main stream debug: looking for stream_filter module: 1 candidate
[0x1d8d990] main stream debug: using stream_filter module "stream_filter_record"
[0x1d8d990] main stream debug: TIMER module_need() : 0.151 ms - Total 0.151 ms / 1 intvls (Avg 0.151 ms)
[0x1d89090] main input debug: creating demux: access='file' demux='xspf-open' path='/home/user/.local/share/vlc/ml.xspf'
[0x1d8e8d0] main demux debug: looking for demux module: 1 candidate
[0x1d8e8d0] playlist demux debug: using XSPF playlist reader
[0x1d8e8d0] main demux debug: using demux module "playlist"
[0x1d8e8d0] main demux debug: TIMER module_need() : 0.233 ms - Total 0.233 ms / 1 intvls (Avg 0.233 ms)
[0x1d8eee0] main demux meta debug: looking for meta reader module: 2 candidates
[0x1d8eee0] lua demux meta debug: Trying Lua scripts in /home/user/.local/share/vlc/lua/meta/reader
[0x1d8eee0] lua demux meta debug: Trying Lua scripts in /usr/local/lib/vlc/lua/meta/reader
[0x1d8eee0] lua demux meta debug: Trying Lua scripts in /usr/src/vlc/share/lua/meta/reader
[0x1d8eee0] lua demux meta debug: Trying Lua playlist script /usr/src/vlc/share/lua/meta/reader/filename.lua
[0x1d8eee0] lua demux meta debug: Trying Lua playlist script /usr/src/vlc/share/lua/meta/reader/filename.luac
[0x1d8eee0] main demux meta debug: no meta reader module matching "any" could be loaded
[0x1d8eee0] main demux meta debug: TIMER module_need() : 3.989 ms - Total 3.989 ms / 1 intvls (Avg 3.989 ms)
[0x1d89090] main input debug: `file/xspf-open:///home/user/.local/share/vlc/ml.xspf' successfully opened
[0x1d8eee0] main xml debug: looking for xml module: 2 candidates
[0x1d8eee0] main xml debug: using xml module "xml"
[0x1d8eee0] main xml debug: TIMER module_need() : 0.680 ms - Total 0.680 ms / 1 intvls (Avg 0.680 ms)
[0x1d8e8d0] playlist demux debug: parsed 0 tracks successfully
[0x1d8eee0] main xml debug: removing module "xml"
[0x1d89090] main input debug: EOF reached
[0x1d8e8d0] main demux debug: removing module "playlist"
[0x1d8d990] main stream debug: removing module "stream_filter_record"
[0x1d8db60] main access debug: removing module "filesystem"
[0x1d89090] main input debug: TIMER input launching for 'Media Library' : 5.842 ms - Total 5.842 ms / 1 intvls (Avg 5.842 ms)
[0x1d8c290] main interface debug: looking for interface module: 1 candidate
[0x1d8c290] main interface debug: using interface module "hotkeys"
[0x1d8c290] main interface debug: TIMER module_need() : 0.488 ms - Total 0.488 ms / 1 intvls (Avg 0.488 ms)
[0x1d8ada0] main interface debug: looking for interface module: 1 candidate
Blocked: call to unsetenv("DBUS_ACTIVATION_ADDRESS")
Blocked: call to unsetenv("DBUS_ACTIVATION_BUS_TYPE")
[0x1cdb0a0] main playlist debug: Activated
[0x1d8ada0] main interface debug: using interface module "inhibit"
[0x1d8ada0] main interface debug: TIMER module_need() : 2.694 ms - Total 2.694 ms / 1 intvls (Avg 2.694 ms)
[0x1cdb0a0] main playlist debug: adding item `udp://239.255.4.2:5002' ( udp://@239.255.4.2:5002 )
[0x1d8a4d0] main interface debug: looking for interface module: 1 candidate
[0x1cdb0a0] main playlist debug: rebuilding array of current - root Playlist
[0x1cdb0a0] main playlist debug: rebuild done - 1 items, index -1
[0x1d8a4d0] main interface debug: using interface module "globalhotkeys"
[0x1d8a4d0] main interface debug: TIMER module_need() : 5.436 ms - Total 5.436 ms / 1 intvls (Avg 5.436 ms)
[0x1dafe10] main interface debug: looking for interface module: 1 candidate
[0x1dafe10] dummy interface: using the dummy interface module...
[0x1dafe10] main interface debug: using interface module "dummy"
[0x1dafe10] main interface debug: TIMER module_need() : 0.283 ms - Total 0.283 ms / 1 intvls (Avg 0.283 ms)
[0x1cdb0a0] main playlist debug: processing request item null node Playlist skip 0
[0x1cdb0a0] main playlist debug: starting new item
[0x1cdb0a0] main playlist debug: creating new input thread
[0x1db0180] main input debug: Creating an input for 'udp://239.255.4.2:5002'
[0x1db0180] main input debug: thread (input) created at priority 10 (input/input.c:214)
[0x1db0180] main input debug: thread started
[0x1db0180] main input debug: using timeshift granularity of 50 MiB
[0x1db0180] main input debug: using timeshift path '/tmp'
[0x1db0180] main input debug: `udp://@239.255.4.2:5002' gives access `udp' demux `' path `@239.255.4.2:5002'
[0x1db0180] main input debug: creating demux: access='udp' demux='' path='@239.255.4.2:5002'
[0x1dad860] main demux debug: looking for access_demux module: 0 candidates
[0x1dad860] main demux debug: no access_demux module matched "udp"
[0x1dad860] main demux debug: TIMER module_need() : 0.096 ms - Total 0.096 ms / 1 intvls (Avg 0.096 ms)
[0x1db0180] main input debug: creating access 'udp' location='@239.255.4.2:5002', path='(null)'
[0x1dadbf0] main access debug: looking for access module: 1 candidate
[0x1dadbf0] access_udp access debug: opening server=:0 local=239.255.4.2:5002
[0x1dadbf0] main access debug: net: opening 239.255.4.2 datagram port 5002
[0x1dadbf0] main access debug: Multicast group join request
[0x1dadbf0] main access debug: using access module "access_udp"
[0x1dadbf0] main access debug: TIMER module_need() : 0.940 ms - Total 0.940 ms / 1 intvls (Avg 0.940 ms)
[0x1dae480] main stream debug: Using AStream*Block
[0x1dae480] main stream debug: pre buffering
I have tried the VLC version:
- that comes by default with ubuntu
- from a ppa
VLC media player 1.1.0 The Luggage (revision exported)
VLC version 1.1.0 The Luggage (exported)
Compiled by buildd on platinum.ppa (Jun 28 2010 16:35:25)
Kodni prevajalnik: gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
- from git
VLC media player 1.1.0 The Luggage (revision exported)
VLC version 1.1.0 The Luggage (exported)
Compiled by buildd on platinum.ppa (Jun 28 2010 16:35:25)
Kodni prevajalnik: gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
By putting in some debbuging in the code, I have found out that it blocks here:
p_block = p_access->pf_block( p_access );
in method static block_t *AReadBlock( stream_t *s, bool *pb_eof )
My knowledge of C stops here but I have seen similar posts over the web without any real answer. Any ideas?
I have a huge problem trying to get VLC to display a multicast stream on Lucid Lynx. This has worked with VLC on Windows (but sadly I don't have a windows machine anymore).
The thing just stops at "pre buffering" but I can actually see MPEG stream coming in on the interface through Wireshark.
This is the output:
./vlc -vvv -I dummy udp://@239.255.4.2:5002
VLC media player 1.2.0-git Twoflower (revision 1.1.0-pre1-1092-g2298f38)
[0x1cc9540] main libvlc debug: VLC media player - 1.2.0-git Twoflower
[0x1cc9540] main libvlc debug: Copyright © 1996-2010 the VideoLAN team
[0x1cc9540] main libvlc debug: revision 1.1.0-pre1-1092-g2298f38
[0x1cc9540] main libvlc debug: configured with ./configure '--disable-qt4' '--disable-skins2'
[0x1cc9540] main libvlc debug: translation test: code is "C"
[0x1cc9540] main libvlc debug: checking plugin modules
[0x1cc9540] main libvlc debug: loading plugins cache file /usr/src/vlc/src/.libs/vlc/plugins/plugins-04081e-3e8.dat
[0x1cc9540] main libvlc warning: cannot read /usr/src/vlc/src/.libs/vlc/plugins/plugins-04081e-3e8.dat (No such file or directory)
[0x1cc9540] main libvlc debug: recursively browsing `/usr/src/vlc/src/.libs/vlc/plugins'
[0x1cc9540] main libvlc debug: saving plugins cache /usr/src/vlc/src/.libs/vlc/plugins/plugins-04081e-3e8.dat
[0x1cc9540] main libvlc debug: loading plugins cache file /usr/src/vlc/modules/plugins-04081e-3e8.dat
[0x1cc9540] main libvlc debug: recursively browsing `/usr/src/vlc/modules'
[0x1cc9540] main libvlc debug: saving plugins cache /usr/src/vlc/modules/plugins-04081e-3e8.dat
[0x1cc9540] main libvlc debug: module bank initialized (374 modules)
[0x1cc9540] main libvlc debug: opening config file (/home/user/.config/vlc/vlcrc)
[0x1cc9540] main libvlc debug: CPU has capabilities MMX MMXEXT SSE SSE2 SSE3 SSSE3 FPU
[0x1cc9540] main libvlc debug: looking for memcpy module: 3 candidates
[0x1cc9540] main libvlc debug: using memcpy module "memcpymmxext"
[0x1d89090] main input debug: Creating an input for 'Media Library'
[0x1d89090] main input debug: Input is a meta file: disabling unneeded options
[0x1d89090] main input debug: using timeshift granularity of 50 MiB
[0x1d89090] main input debug: using timeshift path '/tmp'
[0x1d89090] main input debug: `file/xspf-open:///home/user/.local/share/vlc/ml.xspf' gives access `file' demux `xspf-open' path `/home/user/.local/share/vlc/ml.xspf'
[0x1d89090] main input debug: creating demux: access='file' demux='xspf-open' path='/home/user/.local/share/vlc/ml.xspf'
[0x1d8cec0] main demux debug: looking for access_demux module: 1 candidate
[0x1d8cec0] main demux debug: no access_demux module matching "file" could be loaded
[0x1d8cec0] main demux debug: TIMER module_need() : 0.201 ms - Total 0.201 ms / 1 intvls (Avg 0.201 ms)
[0x1d89090] main input debug: creating access 'file' location='/home/user/.local/share/vlc/ml.xspf', path='/home/user/.local/share/vlc/ml.xspf'
[0x1d8db60] main access debug: looking for access module: 2 candidates
[0x1d8db60] filesystem access debug: opening file `/home/user/.local/share/vlc/ml.xspf'
[0x1d8db60] main access debug: using access module "filesystem"
[0x1d8db60] main access debug: TIMER module_need() : 0.286 ms - Total 0.286 ms / 1 intvls (Avg 0.286 ms)
[0x1d901b0] main stream debug: Using AStream*Stream
[0x1d901b0] main stream debug: pre buffering 1
[0x1d901b0] main stream debug: received first data after 0 ms
[0x1d901b0] main stream debug: pre-buffering done 296 bytes in 0s - 8759 KiB/s
[0x1d8d990] main stream debug: looking for stream_filter module: 5 candidates
[0x1d8d990] main stream debug: no stream_filter module matching "any" could be loaded
[0x1d8d990] main stream debug: TIMER module_need() : 0.480 ms - Total 0.480 ms / 1 intvls (Avg 0.480 ms)
[0x1d8d990] main stream debug: looking for stream_filter module: 1 candidate
[0x1d8d990] main stream debug: using stream_filter module "stream_filter_record"
[0x1d8d990] main stream debug: TIMER module_need() : 0.151 ms - Total 0.151 ms / 1 intvls (Avg 0.151 ms)
[0x1d89090] main input debug: creating demux: access='file' demux='xspf-open' path='/home/user/.local/share/vlc/ml.xspf'
[0x1d8e8d0] main demux debug: looking for demux module: 1 candidate
[0x1d8e8d0] playlist demux debug: using XSPF playlist reader
[0x1d8e8d0] main demux debug: using demux module "playlist"
[0x1d8e8d0] main demux debug: TIMER module_need() : 0.233 ms - Total 0.233 ms / 1 intvls (Avg 0.233 ms)
[0x1d8eee0] main demux meta debug: looking for meta reader module: 2 candidates
[0x1d8eee0] lua demux meta debug: Trying Lua scripts in /home/user/.local/share/vlc/lua/meta/reader
[0x1d8eee0] lua demux meta debug: Trying Lua scripts in /usr/local/lib/vlc/lua/meta/reader
[0x1d8eee0] lua demux meta debug: Trying Lua scripts in /usr/src/vlc/share/lua/meta/reader
[0x1d8eee0] lua demux meta debug: Trying Lua playlist script /usr/src/vlc/share/lua/meta/reader/filename.lua
[0x1d8eee0] lua demux meta debug: Trying Lua playlist script /usr/src/vlc/share/lua/meta/reader/filename.luac
[0x1d8eee0] main demux meta debug: no meta reader module matching "any" could be loaded
[0x1d8eee0] main demux meta debug: TIMER module_need() : 3.989 ms - Total 3.989 ms / 1 intvls (Avg 3.989 ms)
[0x1d89090] main input debug: `file/xspf-open:///home/user/.local/share/vlc/ml.xspf' successfully opened
[0x1d8eee0] main xml debug: looking for xml module: 2 candidates
[0x1d8eee0] main xml debug: using xml module "xml"
[0x1d8eee0] main xml debug: TIMER module_need() : 0.680 ms - Total 0.680 ms / 1 intvls (Avg 0.680 ms)
[0x1d8e8d0] playlist demux debug: parsed 0 tracks successfully
[0x1d8eee0] main xml debug: removing module "xml"
[0x1d89090] main input debug: EOF reached
[0x1d8e8d0] main demux debug: removing module "playlist"
[0x1d8d990] main stream debug: removing module "stream_filter_record"
[0x1d8db60] main access debug: removing module "filesystem"
[0x1d89090] main input debug: TIMER input launching for 'Media Library' : 5.842 ms - Total 5.842 ms / 1 intvls (Avg 5.842 ms)
[0x1d8c290] main interface debug: looking for interface module: 1 candidate
[0x1d8c290] main interface debug: using interface module "hotkeys"
[0x1d8c290] main interface debug: TIMER module_need() : 0.488 ms - Total 0.488 ms / 1 intvls (Avg 0.488 ms)
[0x1d8ada0] main interface debug: looking for interface module: 1 candidate
Blocked: call to unsetenv("DBUS_ACTIVATION_ADDRESS")
Blocked: call to unsetenv("DBUS_ACTIVATION_BUS_TYPE")
[0x1cdb0a0] main playlist debug: Activated
[0x1d8ada0] main interface debug: using interface module "inhibit"
[0x1d8ada0] main interface debug: TIMER module_need() : 2.694 ms - Total 2.694 ms / 1 intvls (Avg 2.694 ms)
[0x1cdb0a0] main playlist debug: adding item `udp://239.255.4.2:5002' ( udp://@239.255.4.2:5002 )
[0x1d8a4d0] main interface debug: looking for interface module: 1 candidate
[0x1cdb0a0] main playlist debug: rebuilding array of current - root Playlist
[0x1cdb0a0] main playlist debug: rebuild done - 1 items, index -1
[0x1d8a4d0] main interface debug: using interface module "globalhotkeys"
[0x1d8a4d0] main interface debug: TIMER module_need() : 5.436 ms - Total 5.436 ms / 1 intvls (Avg 5.436 ms)
[0x1dafe10] main interface debug: looking for interface module: 1 candidate
[0x1dafe10] dummy interface: using the dummy interface module...
[0x1dafe10] main interface debug: using interface module "dummy"
[0x1dafe10] main interface debug: TIMER module_need() : 0.283 ms - Total 0.283 ms / 1 intvls (Avg 0.283 ms)
[0x1cdb0a0] main playlist debug: processing request item null node Playlist skip 0
[0x1cdb0a0] main playlist debug: starting new item
[0x1cdb0a0] main playlist debug: creating new input thread
[0x1db0180] main input debug: Creating an input for 'udp://239.255.4.2:5002'
[0x1db0180] main input debug: thread (input) created at priority 10 (input/input.c:214)
[0x1db0180] main input debug: thread started
[0x1db0180] main input debug: using timeshift granularity of 50 MiB
[0x1db0180] main input debug: using timeshift path '/tmp'
[0x1db0180] main input debug: `udp://@239.255.4.2:5002' gives access `udp' demux `' path `@239.255.4.2:5002'
[0x1db0180] main input debug: creating demux: access='udp' demux='' path='@239.255.4.2:5002'
[0x1dad860] main demux debug: looking for access_demux module: 0 candidates
[0x1dad860] main demux debug: no access_demux module matched "udp"
[0x1dad860] main demux debug: TIMER module_need() : 0.096 ms - Total 0.096 ms / 1 intvls (Avg 0.096 ms)
[0x1db0180] main input debug: creating access 'udp' location='@239.255.4.2:5002', path='(null)'
[0x1dadbf0] main access debug: looking for access module: 1 candidate
[0x1dadbf0] access_udp access debug: opening server=:0 local=239.255.4.2:5002
[0x1dadbf0] main access debug: net: opening 239.255.4.2 datagram port 5002
[0x1dadbf0] main access debug: Multicast group join request
[0x1dadbf0] main access debug: using access module "access_udp"
[0x1dadbf0] main access debug: TIMER module_need() : 0.940 ms - Total 0.940 ms / 1 intvls (Avg 0.940 ms)
[0x1dae480] main stream debug: Using AStream*Block
[0x1dae480] main stream debug: pre buffering
I have tried the VLC version:
- that comes by default with ubuntu
- from a ppa
VLC media player 1.1.0 The Luggage (revision exported)
VLC version 1.1.0 The Luggage (exported)
Compiled by buildd on platinum.ppa (Jun 28 2010 16:35:25)
Kodni prevajalnik: gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
- from git
VLC media player 1.1.0 The Luggage (revision exported)
VLC version 1.1.0 The Luggage (exported)
Compiled by buildd on platinum.ppa (Jun 28 2010 16:35:25)
Kodni prevajalnik: gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
By putting in some debbuging in the code, I have found out that it blocks here:
p_block = p_access->pf_block( p_access );
in method static block_t *AReadBlock( stream_t *s, bool *pb_eof )
My knowledge of C stops here but I have seen similar posts over the web without any real answer. Any ideas?