After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 602322 - gst-rtsp-server cannot be played with mplayer, vlc, gst-launch or CorePlayer
gst-rtsp-server cannot be played with mplayer, vlc, gst-launch or CorePlayer
Status: RESOLVED WONTFIX
Product: GStreamer
Classification: Platform
Component: gst-rtsp-server
0.10.5
Other Linux
: Normal major
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-11-18 16:51 UTC by Robert Krakora
Modified: 2009-11-20 15:01 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Robert Krakora 2009-11-18 16:51:49 UTC
It seems that no RTSP client can effectively negotiate with gst-rtsp-server (see further below for mplayer and gst-launch results).  I do not encounter this problem when using VLC RTSP server.  What could I be doing wrong, or could this be a bug?

./test-launch --gst-debug=2 "( v4l2src ! ffmpegcolorspace ! videoscale ! video/x-raw-yuv,width=320,height=240 ! mpeg2enc ! mpegtsmux ! rtpmp2tpay)"

[root@am2mm examples]# ./test-launch --gst-debug=2 "( v4l2src ! ffmpegcolorspace ! videoscale ! video/x-raw-yuv,width=320,height=240 ! mpeg2enc ! mpegtsmux ! rtpmp2tpay)"
** Message: listening on port 8554








** Message: added new client 0x8002360 ip 192.168.1.211:5765
** Message: attaching to context 0x7ffc880
RTSP request message 0x80f3978
 request line:
   method: 'OPTIONS'
   uri:    'rtsp://192.168.1.178:8554/test'
   version: '1.0'
 headers:
   key: 'CSeq', value: '1'
   key: 'User-Agent', value: 'WMPlayer/9.0.0.3250 guid/3300AD50-2C39-46C0-AE0A-9CC9FF7765D1'
   key: 'User-Agent', value: 'RealMedia Player Version 6.0.9.1235 (linux-2.0-libc6-i386-gcc2.95)'
   key: 'ClientChallenge', value: '9e26d33f2984236010ef6253fb1887f7'
   key: 'CompanyID', value: 'KnKV4M4I/B2FjJ1TToLycw=='
   key: 'GUID', value: '00000000-0000-0000-0000-000000000000'
   key: 'RegionData', value: '0'
   key: 'PlayerStarttime', value: '[28/03/2003:22:50:23 00:00]'
   key: 'ClientID', value: 'Linux_2.4_6.0.9.1235_play32_RN01_EN_586'
   key: 'Date', value: 'Thu, 19 Nov 2009 00:44:43 GMT'
 body:
** Message: client 0x8002360: received a request
RTSP response message 0x7fffcbaa87a0
 status line:
   code:   '200'
   reason: 'OK'
   version: '1.0'
 headers:
   key: 'CSeq', value: '1'
   key: 'Public', value: 'OPTIONS, DESCRIBE, GET_PARAMETER, PAUSE, PLAY, SETUP, SET_PARAMETER, TEARDOWN'
   key: 'Server', value: 'GStreamer RTSP server'
 body: length 0
RTSP request message 0x80f3978
 request line:
   method: 'DESCRIBE'
   uri:    'rtsp://192.168.1.178:8554/test'
   version: '1.0'
 headers:
   key: 'CSeq', value: '2'
   key: 'Accept', value: 'application/sdp'
   key: 'Date', value: 'Thu, 19 Nov 2009 00:44:43 GMT'
 body:
** Message: client 0x8002360: received a request
** Message: found media 0x8060e80 for url abspath /test
** Message: constructed media 0x814c830 for url /test
** Message: preparing media 0x814c830
** Message: enter mainloop
** Message: live media 0x814c830
** Message: object 0x814c830 is prerolled
RTSP response message 0x7fffcbaa8760
 status line:
   code:   '200'
   reason: 'OK'
   version: '1.0'
 headers:
   key: 'CSeq', value: '2'
   key: 'Content-Type', value: 'application/sdp'
   key: 'Content-Base', value: 'rtsp://192.168.1.178:8554/test/'
   key: 'Server', value: 'GStreamer RTSP server'
** Message: 0x814c830: got message type new-clock
 body: length 165
00000000 (0x815cd80): 76 3d 30 0d 0a 6f 3d 2d 20 31 31 38 38 33 34 30  v=0..o=- 1188340
00000010 (0x815cd90): 36 35 36 31 38 30 38 38 33 20 31 20 49 4e 20 49  656180883 1 IN I
00000020 (0x815cda0): 50 34 20 31 32 37 2e 30 2e 30 2e 31 0d 0a 73 3d  P4 127.0.0.1..s=
00000030 (0x815cdb0): 53 65 73 73 69 6f 6e 20 73 74 72 65 61 6d 65 64  Session streamed
00000040 (0x815cdc0): 20 77 69 74 68 20 47 53 74 72 65 61 6d 65 72 0d   with GStreamer.
00000050 (0x815cdd0): 0a 69 3d 72 74 73 70 2d 73 65 72 76 65 72 0d 0a  .i=rtsp-server..
00000060 (0x815cde0): 65 3d 4e 4f 4e 45 0d 0a 74 3d 30 20 30 0d 0a 61  e=NONE..t=0 0..a
00000070 (0x815cdf0): 3d 74 6f 6f 6c 3a 47 53 74 72 65 61 6d 65 72 0d  =tool:GStreamer.
00000080 (0x815ce00): 0a 61 3d 74 79 70 65 3a 62 72 6f 61 64 63 61 73  .a=type:broadcas
00000090 (0x815ce10): 74 0d 0a 61 3d 72 61 6e 67 65 3a 6e 70 74 3d 6e  t..a=range:npt=n
000000a0 (0x815ce20): 6f 77 2d 0d 0a                                   ow-..           
** Message: client 0x8002360: connection closed
** Message: finalize client 0x8002360
** Message: finalize media 0x814c830


mplayer results:

[root@devkrakora ffmpeg]# mplayer -v rtsp://192.168.1.178:8554/testMPlayer SVN-r29789-4.1.2 (C) 2000-2009 MPlayer Team
CPU vendor name: AuthenticAMD  max cpuid level: 5
CPU: AMD Phenom(tm) II X4 965 Processor (Family: 16, Model: 4, Stepping: 2)
extended cpuid-level: 27
extended cache-info: 33587520
Detected cache-line size is 64 bytes
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNowExt: 1 SSE: 1 SSE2: 1 SSSE3: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowExt SSE SSE2 CMOV
get_path('codecs.conf') -> '/root/.mplayer/codecs.conf'
Reading /root/.mplayer/codecs.conf: Can't open '/root/.mplayer/codecs.conf': No such file or directory
Reading /usr/etc/mplayer/codecs.conf: Can't open '/usr/etc/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf.
Configuration: --prefix=/usr --libdir=/usr/lib64
CommandLine: '-v' 'rtsp://192.168.1.178:8554/test'
init_freetype
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
get_path('fonts') -> '/root/.mplayer/fonts'
Using nanosleep() timing
get_path('input.conf') -> '/root/.mplayer/input.conf'
Can't open input config file /root/.mplayer/input.conf: No such file or directory
Can't open input config file /usr/etc/mplayer/input.conf: No such file or directory
Falling back on default (hardcoded) input config
Setting up LIRC support...
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.
get_path('test.conf') -> '/root/.mplayer/test.conf'

Playing rtsp://192.168.1.178:8554/test.
get_path('sub/') -> '/root/.mplayer/sub/'
STREAM_RTSP, URL: rtsp://192.168.1.178:8554/test
Filename for url is now rtsp://192.168.1.178:8554/test
Filename for url is now rtsp://192.168.1.178:8554/test
Connecting to server 192.168.1.178[192.168.1.178]: 8554...
SDP:
v=0
o=- 1188340656180883 1 IN IP4 127.0.0.1
s=Session streamed with GStreamer
i=rtsp-server
e=NONE
t=0 0
a=tool:GStreamer
a=type:broadcast
a=range:npt=now-

A single media stream only is supported atm.
rtsp_session: unsupported RTSP server. Server type is 'GStreamer RTSP server'.
Filename for url is now rtsp://192.168.1.178:8554/test
Filename for url is now rtsp://192.168.1.178:8554/test
STREAM_LIVE555, URL: rtsp://192.168.1.178:8554/test
STREAM: [RTSP and SIP] rtsp://192.168.1.178:8554/test
STREAM: Description: standard RTSP and SIP
STREAM: Author: Ross Finlayson
STREAM: Comment: Uses LIVE555 Streaming Media library.
Stream not seekable!
 file format detected.
Sending request: DESCRIBE rtsp://192.168.1.178:8554/test RTSP/1.0
CSeq: 1
Accept: application/sdp
User-Agent: MPlayer (LIVE555 Streaming Media v2009.07.27)


Received DESCRIBE response: RTSP/1.0 200 OK
CSeq: 1
Content-Type: application/sdp
Content-Base: rtsp://192.168.1.178:8554/test/
Server: GStreamer RTSP server
Date: Wed, 18 Nov 2009 16:49:32 GMT
Content-Length: 165


Need to read 165 extra bytes
Read 165 extra bytes: v=0
o=- 1188340656180883 1 IN IP4 127.0.0.1
s=Session streamed with GStreamer
i=rtsp-server
e=NONE
t=0 0
a=tool:GStreamer
a=type:broadcast
a=range:npt=now-


vo: x11 uninit called but X11 not initialized..

Exiting... (End of file)


gst-launch results:

[root@devkrakora ffmpeg]# gst-launch rtspsrc location=rtsp://192.168.1.178:8554/test
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: No supported stream was found. You might need to allow more transport protocols or may otherwise be missing the right GStreamer RTSP extension plugin.
Additional debug info:
gstrtspsrc.c(4499): gst_rtspsrc_setup_streams (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0
Setting pipeline to NULL ...
Freeing pipeline ...
Comment 1 Robert Krakora 2009-11-18 16:58:33 UTC
realPlayer cannot pay it either...
Comment 2 Wim Taymans 2009-11-18 16:59:22 UTC
You are not naming the payloader correctly. try: "...! rtpmp2tpay name=pay0 pt=96 )"

Reopen if that doesn't fix it.
Comment 3 Robert Krakora 2009-11-18 17:11:41 UTC
Thanks for the quick response ;-).  However, your suggestion yielded these results:

0:00:02.542133000 11182      0xcbb8010 ERROR           GST_PIPELINE ./grammar.y:415:gst_parse_element_set: could not set property "pt" in element "rtpmp2tpay1" to "96)"
0:00:02.542436000 11182      0xcbb8010 WARN                 default ./grammar.y:832:_gst_parse_yyerror: Error during parsing: syntax error, unexpected $end
0:00:02.542561000 11182      0xcbb8010 ERROR           GST_PIPELINE ./grammar.y:872:_gst_parse_launch: Unrecoverable syntax error while parsing pipeline ( v4l2src ! ffmpegcolorspace ! videoscale ! video/x-raw-yuv,width=320,height=240 ! mpeg2enc ! mpegtsmux ! rtpmp2tpay pt=96)

** (lt-test-launch:11182): CRITICAL **: could not parse launch syntax (( v4l2src ! ffmpegcolorspace ! videoscale ! video/x-raw-yuv,width=320,height=240 ! mpeg2enc ! mpegtsmux ! rtpmp2tpay pt=96)): could not set property "pt" in element "rtpmp2tpay1" to "96)"

** (lt-test-launch:11182): CRITICAL **: could not create element
** Message: constructed media (nil) for url /test
Comment 4 Wim Taymans 2009-11-18 17:21:24 UTC
I have no idea what you did but this works fine for me:

 ./test-launch --gst-debug=2 "( videotestsrc is-live=1 ! ffmpegcolorspace ! videoscale ! video/x-raw-yuv,width=320,height=240 ! mpeg2enc ! mpegtsmux ! rtpmp2tpay pt=96 name=pay0 )"

unfortunately mpeg2enc does not produce sequence headers at regular intervals so no receiver will be able to decode this.
Comment 5 Robert Krakora 2009-11-18 17:28:59 UTC
That works for me now, however, you can get it to fail with this line and this is why it was failing for me:

./test-launch --gst-debug=2 "( videotestsrc is-live=1 ! ffmpegcolorspace !
videoscale ! video/x-raw-yuv,width=320,height=240 ! mpeg2enc ! mpegtsmux !
rtpmp2tpay pt=96 name=pay0)"

This line (yours) works well:

./test-launch --gst-debug=2 "( videotestsrc is-live=1 ! ffmpegcolorspace !
videoscale ! video/x-raw-yuv,width=320,height=240 ! mpeg2enc ! mpegtsmux !
rtpmp2tpay pt=96 name=pay0 )"

It is because of the placement of ')' with out a preceding space.  This causes a syntax error when an RTSP connection request comes in...
Comment 6 Wim Taymans 2009-11-20 15:01:28 UTC
closing then