[streaming] Re: Streaming from raw MPEG-4
Jeff Poole
vlc at korvus.net
Wed Nov 29 06:42:37 CET 2006
> You could probably use liveMedia libraries or modify a test program like
> testMPEG4VideoStreamer or testOnDemandRTSPServer
> (http://www.live555.com/liveMedia/#testProgs) to build a RTSP server that
> reads its data from raw MPEG-4 ES/UDP.
>
> Johann
Well, I tried that but didn't have much luck. I got a file of captured
video and used it with testOnDemandRTSPServer and live555MediaServer
without much luck. VLC debug console gives me something like this:
===================================================
[00000293] main input debug: `rtsp://128.170.23.110/test.m4e' gives access
`rtsp' demux `' path `128.170.23.110/test.m4e'
[00000293] main input debug: creating demux: access='rtsp' demux=''
path='128.170.23.110/test.m4e'
[00000295] main demuxer debug: looking for access_demux module: 1 candidate
Sending request: OPTIONS rtsp://128.170.23.110/test.m4e RTSP/1.0
CSeq: 1
User-Agent: VLC media player (LIVE555 Streaming Media v2006.03.16)
Received OPTIONS response: RTSP/1.0 200 OK
CSeq: 1
Date: Wed, Nov 29 2006 04:56:51 GMT
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE
Sending request: DESCRIBE rtsp://128.170.23.110/test.m4e RTSP/1.0
CSeq: 2
Accept: application/sdp
User-Agent: VLC media player (LIVE555 Streaming Media v2006.03.16)
Received DESCRIBE response: RTSP/1.0 200 OK
CSeq: 2
Date: Wed, Nov 29 2006 04:56:52 GMT
Content-Base: rtsp://128.170.23.110/test.m4e/
Content-Type: application/sdp
Content-Length: 318
Need to read 318 extra bytes
Read 318 extra bytes: v=0
o=- 1164776218726848 1 IN IP4 128.170.23.110
s=MPEG-4 Video
i=test.m4e
t=0 0
a=tool:LIVE555 Streaming Media v2006.11.15
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:MPEG-4 Video
a=x-qt-text-inf:test.m4e
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
a=rtpmap:96 MP4V-ES/90000
a=control:track1
[00000295] livedotcom demuxer debug: sdp=v=0
o=- 1164776218726848 1 IN IP4 128.170.23.110
s=MPEG-4 Video
i=test.m4e
t=0 0
a=tool:LIVE555 Streaming Media v2006.11.15
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:MPEG-4 Video
a=x-qt-text-inf:test.m4e
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
a=rtpmap:96 MP4V-ES/90000
a=control:track1
[00000295] livedotcom demuxer debug: RTP subsession 'video/MP4V-ES'
Sending request: SETUP rtsp://128.170.23.110/test.m4e/track1 RTSP/1.0
CSeq: 3
Transport: RTP/AVP;unicast;client_port=4250-4251
User-Agent: VLC media player (LIVE555 Streaming Media v2006.03.16)
Received SETUP response: RTSP/1.0 200 OK
CSeq: 3
Date: Wed, Nov 29 2006 04:56:52 GMT
Transport:
RTP/AVP;unicast;destination=128.170.23.110;client_port=4250-4251;server_port=6970-6971
Session: 2
Sending request: PLAY rtsp://128.170.23.110/test.m4e RTSP/1.0
CSeq: 4
Session: 2
Range: npt=0.000-
User-Agent: VLC media player (LIVE555 Streaming Media v2006.03.16)
Received PLAY response: RTSP/1.0 200 OK
CSeq: 4
Date: Wed, Nov 29 2006 04:56:52 GMT
Range: npt=0.000-
Session: 2
RTP-Info:
url=rtsp://128.170.23.110/test.m4e/track1;seq=63438;rtptime=180660711
[00000293] main input debug: selecting program id=0
[00000295] main demuxer debug: using access_demux module "livedotcom"
[00000293] main input debug: looking for a subtitle file in c:\docs\MPEG4
Demo\live\testProgs\
[00000296] main decoder debug: looking for decoder module: 27 candidates
[00000296] ffmpeg decoder debug: libavcodec initialized (interface 3344640 )
[00000296] ffmpeg decoder debug: postprocessing disabled
[00000296] ffmpeg decoder debug: using direct rendering
[00000296] ffmpeg decoder debug: ffmpeg codec (MPEG-4 Video) started
[00000296] main decoder debug: using decoder module "ffmpeg"
[00000296] main decoder debug: thread 4040 (decoder) created at priority 0
(input/decoder.c:159)
[00000293] main input debug: `rtsp://128.170.23.110/test.m4e' successfully
opened
[00000295] livedotcom demuxer debug: StreamClose
[00000293] main input debug: EOF reached
[00000293] main input debug: closing input
Sending request: TEARDOWN rtsp://128.170.23.110/test.m4e RTSP/1.0
CSeq: 5
Session: 2
User-Agent: VLC media player (LIVE555 Streaming Media v2006.03.16)
Received TEARDOWN response: RTSP/1.0 200 OK
CSeq: 5
Date: Wed, Nov 29 2006 04:56:52 GMT
[00000295] main demuxer debug: removing module "livedotcom"
[00000296] ffmpeg decoder debug: ffmpeg codec (MPEG-4 Video) stopped
[00000296] main decoder debug: removing module "ffmpeg"
[00000296] main decoder debug: thread times: real 0m0.545510s, kernel
0m0.000000s, user 0m0.000000s
[00000296] main decoder debug: thread 4040 joined (input/decoder.c:191)
[00000296] main decoder debug: killing decoder fourcc `mp4v', 0 PES in FIFO
[00000293] main input debug: thread times: real 0m1.028676s, kernel
0m0.031250s, user 0m0.000000s
[00000293] main input debug: thread 3916 joined (input/input.c:399)
[00000284] main playlist: nothing to play
===================================================
I honestly have no idea what it is doing there. One interesting tidbit is
if I get the same file that I was feeding the RTSP server and try to open
it on the VLC commandline with -vvv, I get:
===================================================
VLC media player 0.8.5 Janus
[00000001] main vlc debug: opening config file C:\Documents and
Settings\jpoole\Application Data\vlc\vlcrc
[00000001] main vlc debug: checking builtin modules
[00000001] main vlc debug: checking plugin modules
[00000001] main vlc debug: loading plugins cache file C:\Documents and
Settings\jpoole\Application Data/vlc/cache/plugins-04041e.dat
[00000001] main vlc debug: recursively browsing `c:\Program
Files\VideoLAN\VLC\modules'
[00000001] main vlc debug: recursively browsing `c:\Program
Files\VideoLAN\VLC\plugins'
[00000001] main vlc debug: module bank initialized, found 217 modules
[00000001] main vlc debug: opening config file C:\Documents and
Settings\jpoole\Application Data\vlc\vlcrc
[00000001] main vlc debug: CPU has capabilities 486 586 MMX MMXEXT SSE
SSE2 FPU
[00000001] main vlc debug: looking for memcpy module: 3 candidates
[00000001] main vlc debug: using memcpy module "memcpymmxext"
[00000284] main playlist debug: waiting for thread completion
[00000284] main playlist debug: thread 3724 (playlist) created at priority
0 (playlist/playlist.c:184)
[00000285] main private debug: waiting for thread completion
[00000285] main private debug: thread 3740 (preparser) created at priority
0 (playlist/playlist.c:210)
[00000286] main interface debug: looking for interface module: 1 candidate
[00000286] main interface debug: using interface module "hotkeys"
[00000286] main interface debug: thread 3764 (interface) created at
priority 0 (interface/interface.c:231)
[00000284] main playlist debug: adding playlist item `test.m4e' ( test.m4e )
[00000288] main interface debug: looking for interface module: 3 candidates
[00000288] main interface debug: using interface module "wxwidgets"
[00000288] main interface debug: thread 3796 (manager) created at priority
0 (interface/interface.c:216)
[00000288] wxwidgets interface debug: Using last windows config
'(-1,0,0,1280,1024)(0,304,9,355,91)(6,0,0,-1,150)'
[00000288] wxwidgets interface debug: id=0 p=(304,9) s=(355,91)
[00000288] wxwidgets interface debug: id=6 p=(0,0) s=(-1,150)
[00000284] main playlist debug: nothing requested, starting
[00000284] main playlist debug: creating new input thread
[00000291] main input debug: waiting for thread completion
[00000291] main input debug: thread 3892 (input) created at priority 1
(input/input.c:261)
[00000291] main input debug: creating statistics handler
[00000291] main input debug: `test.m4e' gives access `' demux `' path
`test.m4e'
[00000291] main input debug: creating demux: access='' demux=''
path='test.m4e'
[00000293] main demuxer debug: looking for access_demux module: 1 candidate
[00000291] main input debug: creating access '' path='test.m4e'
[00000295] main access debug: looking for access2 module: 5 candidates
[00000295] vcd access debug: trying .cue file: test.cue
[00000295] access_file access debug: opening file `test.m4e'
[00000295] main access debug: using access2 module "access_file"
[00000300] main private debug: pre-buffering...
[00000300] main private debug: received first data for our buffer
[00000300] main private debug: pre-buffering done 1408981 bytes in 0s -
1375958007 kbytes/s
[00000291] main input debug: creating demux: access='' demux=''
path='test.m4e'
[00000301] main demuxer debug: looking for demux2 module: 44 candidates
[00000315] main packetizer debug: looking for packetizer module: 17
candidates
[00000315] main packetizer debug: using packetizer module
"packetizer_mpegvideo"
[00000291] main input debug: selecting program id=0
[00000301] main demuxer debug: using demux2 module "mpgv"
[00000291] main input debug: looking for a subtitle file in c:\docs\MPEG4
Demo\live\testProgs\
[00000338] main decoder debug: looking for decoder module: 27 candidates
[00000338] main decoder debug: using decoder module "libmpeg2"
[00000338] main decoder debug: thread 3980 (decoder) created at priority 0
(input/decoder.c:159)
[00000291] main input debug: `test.m4e' successfully opened
[00000315] packetizer_mpegvideo packetizer debug: waiting for sequence start
(...repeated MANY times...)
[00000315] packetizer_mpegvideo packetizer debug: waiting for sequence start
[00000315] packetizer_mpegvideo packetizer debug: waiting for sequence start
[00000291] main input debug: EOF reached
[00000291] main input debug: closing input
[00000315] main packetizer debug: removing module "packetizer_mpegvideo"
[00000301] main demuxer debug: removing module "mpgv"
[00000295] main access debug: removing module "access_file"
[00000338] main decoder debug: removing module "libmpeg2"
[00000338] main decoder debug: thread times: real 0m0.155860s, kernel
0m0.000000s, user 0m0.000000s
[00000338] main decoder debug: thread 3980 joined (input/decoder.c:191)
[00000338] main decoder debug: killing decoder fourcc `mpgv', 0 PES in FIFO
[00000291] main input debug: thread times: real 0m0.202618s, kernel
0m0.078125s, user 0m0.015625s
[00000291] main input debug: thread 3892 joined (input/input.c:399)
[00000284] main playlist: nothing to play
[00000001] main vlc debug: removing all interfaces
[00000288] main interface debug: thread times: real 0m4.551112s, kernel
0m0.000000s, user 0m0.000000s
[00000288] main interface debug: thread 3796 joined
(interface/interface.c:258)
[00000288] main interface debug: removing module "wxwidgets"
[00000286] main interface debug: thread times: real 0m4.582284s, kernel
0m0.031250s, user 0m0.000000s
[00000286] main interface debug: thread 3764 joined
(interface/interface.c:258)
[00000286] main interface debug: removing module "hotkeys"
[00000001] main vlc debug: removing playlist handler
[00000285] main private debug: thread times: real 0m4.613456s, kernel
0m0.000000s, user 0m0.000000s
[00000285] main private debug: thread 3740 joined (playlist/playlist.c:247)
[00000284] main playlist debug: thread times: real 0m4.613456s, kernel
0m0.015625s, user 0m0.000000s
[00000284] main playlist debug: thread 3724 joined (playlist/playlist.c:248)
[00000284] main playlist: stopping playback
[00000284] main playlist debug: deleting playlist item `test.m4e'
[00000001] main vlc debug: removing all video outputs
[00000001] main vlc debug: removing all audio outputs
[00000001] main vlc debug: removing module "memcpymmxext"
[00000001] main vlc debug: opening config file C:\Documents and
Settings\jpoole\Application Data\vlc\vlcrc
[00000001] main vlc debug: saving plugins cache file C:\Documents and
Settings\jpoole\Application Data/vlc/cache/plugins-04041e.dat
===================================================
Note what VLC tried to use:
[00000315] main packetizer debug: removing module "packetizer_mpegvideo"
[00000301] main demuxer debug: removing module "mpgv"
[00000295] main access debug: removing module "access_file"
[00000338] main decoder debug: removing module "libmpeg2"
So the packetizer, demuxer, and decoder were all for MPEG 1/2! So I guess
it doesn't get enough information from the file to know it is MPEG-4. I
wonder if that is related to my problems?
If people want to take a look at what the video files look like, I put a
sample file (500k) here: http://www.orbitfiles.com/download/id1063667217
If anyone knows what I need to do, I'd appreciate the help. Thanks!
Jeff
--
This is the streaming mailing-list, see http://www.videolan.org/streaming/
To unsubscribe, please read http://www.videolan.org/support/lists.html
More information about the streaming
mailing list