[vlc] Re: VLC MPEG2 streaming reception

Robert.Smith at ses-astra.com Robert.Smith at ses-astra.com
Wed Feb 16 16:47:09 CET 2005


> Why don't you try to open it trough the sdp file? VLC can open SDP
> files just as well as mplayer.

I did. This was what I originally wanted to do as it is the simplest. I get
the same result as when using the RTP URL. The player uses the PS demux and
outputs "ps warning: garbage at input" messages.

In a previous email on this topic you stated:
---
 Hmm, this is actually in interesting point. I believe we have always
assumed type 32 RTP streams to be MPEG2 PS, but i did a little research,
and as far as i can tell it's actually MPEG1/2 Video ES.
----
The log on the player indicates to me that the player does not recognise
the stream to be MPEG2 Video ES, but tries to interpret it as MPEG2 PS.
This is in line with your above statement.
Ross Finlayson's reply was:
--
Yes, the (static) RTP payload type 32 denotes MPEG-1 or 2 video elementary
stream data (MIME type: "video/MPV"). See RFC 3551 sections 5.6 and 6.

Furthermore, the LIVE.COM RTP client code (specifically,
"liveMedia/MediaSession.cpp") correctly recognizes payload type 32 as
"video/MPV". And VLC's "livedotcom.cpp" module (which interfaces between
the LIVE.COM libraries and the rest of VLC) seems to handle the MIME type
"video/MPV" correctly. So (assuming that VLC uses the "livedotcom" module
to read SDP files), it should be able to play Robert Smith's stream
properly.
---
The fact that VLC does not play the stream indicates that the assumption is
not true, ie VLC does not use the livedotcom module. Do you agree?

> well two things. if this is ES, and it's truly an RTP stream (ergo no
> RTSP setup), then VLC does autodetection, and i know it can be hard to
> do autodetection reliably on ES streams... Perhaps

Yes it is ES, and yes it is RTP. The autodetection could explain what I am
seeing. If that is indeed the case, what I need to do is encourage the
detection of ES. I believe it should be possible, as VLC is quite capable
of playing the MPEG Video ES when it is in file format. I only encounter
problems when the ES is input as an RTP stream.

If you're still interested (and I do appreciate your interest) the
"axis-es-windows-mplayer.mpg" file has been uploaded to
ftp://streams.videolan.org/incoming. This contains a sample of the ES I am
using.

Below are the commands I am using on server and player.

On server:
vlc -vvv axis-es-windows-mplayer.mpg --sout
#rtp{dst=228.96.1.1,port-video=10000,sdp=file://guide5.sdp} --loop

SDP file:
v=0
o=- 54114853253 1 IN IP4 127.0.0.1
s=NONE
t=0 0
a=tool:vlc 0.8.2-svn-20050215
c=IN IP4 228.96.1.1/0
m=video 10000 RTP/AVP 32
a=rtpmap:32 MPV/90000

Player:
vlc -vvv guide5.sdp
Log file on player
-- logger module started --
main debug: CPU has capabilities 486 586 MMX FPU
main debug: looking for memcpy module
main debug: probing 2 candidates
main debug: using memcpy module "memcpymmx"
main debug: creating view 1
main debug: creating view 2
main debug: creating view 3
main debug: waiting for thread completion
main debug: thread 3116 (playlist) created at priority
0 (src/playlist/playlist.c:149)
main debug: waiting for thread completion
main debug: thread 3132 (preparser) created at
priority 0 (src/playlist/playlist.c:171)
main debug: looking for interface module
main debug: probing 1 candidate
logger: VLC media player - version 0.8.2-svn-20050216
Janus - (c) 1996-2005 VideoLAN
logger:
Warning: if you can't access the GUI anymore, open a
dos command box, go to the directory where you
installed VLC and run "vlc -I wxwin"

logger: Using the logger interface module...
logger warning: no log filename provided, using
`vlc-log.txt'
logger debug: opening logfile `vlc-log.txt'
main debug: using interface module "logger"
main debug: interface initialized
main debug: thread 3160 (interface) created at
priority 0 (src/interface/interface.c:210)
main debug: looking for interface module
main debug: probing 1 candidate
main debug: using interface module "hotkeys"
main debug: interface initialized
main debug: thread 3184 (interface) created at
priority 0 (src/interface/interface.c:210)
main debug: adding playlist item `guide5.sdp' (
guide5.sdp )
main debug: looking for interface module
main debug: probing 3 candidates
main debug: using interface module "wxwindows"
main debug: interface initialized
main debug: thread 3204 (manager) created at priority
0 (src/interface/interface.c:195)
wxwindows debug: accelerator table loaded
main debug: beginning processing of request, 31000 us
main debug: processing request
main debug: next item found in 0 us
main debug: creating new input thread
main debug: request processed after 31000 us
wxwindows debug: accelerator table loaded
main debug: waiting for thread completion
main debug: `guide5.sdp' gives access `' demux `' path
`guide5.sdp'
main debug: demux2_New: access='' demux=''
path='guide5.sdp'
main debug: looking for access_demux module
main debug: probing 1 candidate
main debug: thread 3288 (input) created at priority 1
(src/input/input.c:230)
main debug: access2_New: access='' path='guide5.sdp'
main debug: looking for access2 module
main debug: probing 4 candidates
vcd debug: trying .cue file: guide5.cue
vcd warning: could not open guide5.sdp
access_file debug: opening file `guide5.sdp'
main debug: using access2 module "access_file"
main debug: pre buffering
main debug: received first data for our buffer
main debug: demux2_New: access='' demux=''
path='guide5.sdp'
main debug: looking for demux2 module
main debug: probing 34 candidates
mp4 warning: MP4 plugin discarded (not a valid file)
avi debug: cannot peek()
asf warning: ASF plugin discarded (not a valid file)
flac warning: flac module discarded (no startcode)
aac warning: AAC module discarded
main debug: looking for id3 module
main debug: probing 2 candidates
id3tag debug: checking for ID3 tag
main debug: using id3 module "id3tag"
main debug: unlocking module "id3tag"
mpgv warning: ES module discarded (no startcode)
main debug: using demux2 module "sap"
access_file warning: unimplemented query in control
main debug: `guide5.sdp' sucessfully opened
main debug: adding playlist item `NONE
' ( rtp://@228.96.1.1:10000 )
main debug: EOF reached
main debug: closing input
main debug: unlocking module "sap"
main debug: unlocking module "access_file"
main debug: thread 3288 joined (src/input/input.c:386)
main debug: next item found in 0 us
main debug: creating new input thread
main debug: waiting for thread completion
main debug: `rtp://@228.96.1.1:10000' gives access
`rtp' demux `' path `@228.96.1.1:10000'
main debug: demux2_New: access='rtp' demux=''
path='@228.96.1.1:10000'
main debug: looking for access_demux module
main debug: probing 0 candidates
main debug: thread 3288 (input) created at priority 1
(src/input/input.c:230)
main warning: no access_demux module matched "rtp"
main debug: access2_New: access='rtp'
path='@228.96.1.1:10000'
main debug: looking for access2 module
main debug: probing 5 candidates
access_udp debug: opening server=:0
local=228.96.1.1:10000
main debug: net: connecting to ':0 at 228.96.1.1:10000'
main debug: looking for network module
main debug: probing 2 candidates
main debug: deleting playlist item `guide5.sdp'
ipv4 debug: IP_ADD_MEMBERSHIP multicast request
main debug: using network module "ipv4"
main debug: unlocking module "ipv4"
main debug: using access2 module "access_udp"
main debug: pre buffering
access_udp debug: increasing MTU to 3000
main debug: received first data for our buffer
main debug: prebuffering done 19196 bytes in 0s - 149
kbytes/s
main debug: demux2_New: access='rtp' demux=''
path='@228.96.1.1:10000'
main debug: looking for demux2 module
main debug: probing 34 candidates
mp4 warning: MP4 plugin discarded (not a valid file)
avi warning: avi module discarded (invalid header)
asf warning: ASF plugin discarded (not a valid file)
flac warning: flac module discarded (no startcode)
aac warning: AAC module discarded
main debug: looking for id3 module
main debug: probing 2 candidates
id3tag debug: checking for ID3 tag
main debug: using id3 module "id3tag"
main debug: unlocking module "id3tag"
mpgv warning: ES module discarded (no startcode)
sap warning: SDP (UDP) module discarded
livedotcom warning: SDP module discarded
mkv warning: matroska module discarded (invalid header
0x000113ff)
ogg warning: ogg module discarded (invalid header)
real warning: Real module discarded
aiff warning: AIFF module discarded
au warning: AU module discarded
mod warning: MOD module discarded
(path=@228.96.1.1:10000)
nsv warning: NSV module discarded
playlist warning: old import module discarded: invalid
file
playlist warning: pls import module discarded
pva warning: PVA module discarded
ts warning: TS module discarded
ffmpeg debug: couldn't guess format
ps warning: this does not look like an MPEG PS stream,
continuing anyway
main debug: using demux2 module "ps"
access_udp warning: unimplemented query in control
main debug: `rtp://@228.96.1.1:10000' sucessfully
opened
ps warning: garbage at input
ps warning: garbage at input
-- logger module stopped --

On the other subjects:
> > "vlc axis-es-linux-mplayer.mpg --sout
> > #rtp{dst=10.232.31.1,sdp=file://guide5.sdp}"
> no it doesn't. the playlistitem looks correct to me. receive from
> 10.232.31.1:10000
> The @ should be missing, since it explicitly denounces a multicast
> address.

10.232.31.1 is the IP address of the PC running the VLC client. It is the
destination, not the source.
The VLC documentation
(http://www.videolan.org/doc/play-howto/en/ch04.html#id2528956) states that
"vlc udp:@:10000" means receive UDP unicast stream with destination port
10000.
In the same way rtp:@:10000 refers to an RTP unicast stream with
destination port 10000.
I read "@" as the delimiter between stream source and destination.
Using vlc rtp:@10.232.31.1:10000, I am able to receive the stream perfectly
well.

> I think this is caused mostly because you mess up UDP, RTP, RTSP and
> SDP and what each of them does.

Mixing up UDP and RTP was what got me into the "video corruption" wild
goose chase. Right now I am using only RTP for the streaming and SDP to
describe the stream.

regs,
Robert






--
DISCLAIMER:
This e-mail contains proprietary information some or all of which may be
legally privileged. It is for the intended recipient only. If an addressing
or transmission error has misdirected this e-mail, please notify the author
by replying to this e-mail. If you are not the intended recipient you must
not use, disclose, distribute, copy, print, or rely on this e-mail.

-- 
This is the vlc mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/support/lists.html



More information about the vlc mailing list