[gst-embedded] transfer of video via udp/rtp/rtsp
Mehta, Neel
x0112149 at ti.com
Wed Jun 3 06:51:33 PDT 2009
Sorry forgot to attach the files.
________________________________
From: Mehta, Neel
Sent: Wednesday, June 03, 2009 7:16 PM
To: 'Wim Taymans'
Cc: gstreamer-embedded at lists.sourceforge.net
Subject: RE: [gst-embedded] transfer of video via udp/rtp/rtsp
Hi Wim
Thanks for the reply.
1. UDP:
I executed the syntax you mentioned:
gst-launch-0.10 -v filesrc location=foreman_422_vga._swap.yuv ! TIVidenc1 codecName=mpeg4enc engineName=encode contiguousInputFrame=FALSE iColorSpace=UYVY resolution=640x480 ! rtpmp4vpay ! udpsink
The output is:
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstTIVidenc1:tividenc10.GstPad:src: caps = video/mpeg, mpegversion=(int)4, framerate=(fraction)30000/1001, width=(int)640, height=(int)480
/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0.GstPad:sink: caps = video/mpeg, mpegversion=(int)4, framerate=(fraction)30000/1001, width=(int)640, height=(int)480
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
It seems to me that the problem lies with the rtpmp4vpay element. It seems it is unable to allocate proper caps for the source pad.
I have also attached the GST_DEBUG=3 output.
I am currently using gst-plugins-good version 0.10.10. Should I upgrade it???
2. RTSP:
I used the updated version of gst-rtsp-server (with your today's patch), and I used the following syntax:
./test-launch "( filesrc location=foreman_422_vga._swap.yuv ! TIVidenc1 codecName=mpeg4enc engineName=encode contiguousInputFrame=FALSE iColorSpace=UYVY resolution=640x480 ! rtpmp4vpay pt=96 name=pay0 )"
And I got this output (has errors):
** Message: listening on port 8554
** Message: added new client 0x16cf0 ip 172.24.136.232:28426
** Message: attaching to context 0x13e18
RTSP request message 0x8e2b4
request line:
method: 'OPTIONS'
uri: 'rtsp://172.24.190.40:8554/test'
version: '1.0'
headers:
key: 'CSeq', value: '41'
key: 'User-Agent', value: 'VLC media player (LIVE555 Streaming Media v2009.03.22)'
body:
** Message: client 0x16cf0: received a request
RTSP response message 0xbefff9f8
status line:
code: '200'
reason: 'OK'
version: '1.0'
headers:
key: 'CSeq', value: '41'
key: 'Public', value: 'OPTIONS, DESCRIBE, GET_PARAMETER, PAUSE, PLAY, SETUP, SET_PARAMETER, TEARDOWN'
key: 'Server', value: 'GStreamer RTSP server'
body: length 0
** Message: client 0x16cf0: sent a message with cseq 41
RTSP request message 0x8e2b4
request line:
method: 'DESCRIBE'
uri: 'rtsp://172.24.190.40:8554/test'
version: '1.0'
headers:
key: 'CSeq', value: '42'
key: 'Accept', value: 'application/sdp'
key: 'User-Agent', value: 'VLC media player (LIVE555 Streaming Media v2009.03.22)'
body:
** Message: client 0x16cf0: received a request
** Message: found media 0x3e7c0 for url abspath /test
** Message: found stream 0 with payloader 0xce0d8
** Message: constructed media 0xcd820 for url /test
** Message: preparing media 0xcd820
** Message: enter mainloop
** Message: 0xcd820: got message type async-done
** Message: position query failed
** Message: duration query failed
** Message: stats: position 0:00:00.000000000, duration 99:99:99.999999999
** Message: object 0xcd820 is prerolled
** (lt-test-launch:1173): WARNING **: ignoring stream 0 without media type
RTSP response message 0xbefff9d8
status line:
code: '200'
reason: 'OK'
version: '1.0'
headers:
key: 'CSeq', value: '42'
key: 'Content-Type', value: 'application/sdp'
key: 'Content-Base', value: 'rtsp://172.24.190.40:8554/test/'
key: 'Server', value: 'GStreamer RTSP server'
body: length 170
00000000 (0x107858): 76 3d 30 0d 0a 6f 3d 2d 20 31 31 38 38 33 34 30 v=0..o=- 1188340
00000010 (0x107868): 36 35 36 31 38 30 38 38 33 20 31 20 49 4e 20 49 656180883 1 IN I
00000020 (0x107878): 50 34 20 31 32 37 2e 30 2e 30 2e 31 0d 0a 73 3d P4 127.0.0.1..s=
00000030 (0x107888): 53 65 73 73 69 6f 6e 20 73 74 72 65 61 6d 65 64 Session streamed
00000040 (0x107898): 20 77 69 74 68 20 47 53 74 72 65 61 6d 65 72 0d with GStreamer.
00000050 (0x1078a8): 0a 69 3d 72 74 73 70 2d 73 65 72 76 65 72 0d 0a .i=rtsp-server..
00000060 (0x1078b8): 65 3d 4e 4f 4e 45 0d 0a 74 3d 30 20 30 0d 0a 61 e=NONE..t=0 0..a
00000070 (0x1078c8): 3d 74 6f 6f 6c 3a 47 53 74 72 65 61 6d 65 72 0d =tool:GStreamer.
00000080 (0x1078d8): 0a 61 3d 74 79 70 65 3a 62 72 6f 61 64 63 61 73 .a=type:broadcas
00000090 (0x1078e8): 74 0d 0a 61 3d 72 61 6e 67 65 3a 6e 70 74 3d 30 t..a=range:npt=0
000000a0 (0x1078f8): 2e 30 30 30 30 30 30 2d 0d 0a .000000-..
** Message: client 0x16cf0: sent a message with cseq 42
** Message: added new client 0xe9350 ip 172.24.136.232:29194
** Message: attaching to context 0x13e18
** Message: client 0x16cf0: connection closed
** Message: finalize client 0x16cf0
** Message: finalize media 0xcd820
Segmentation fault
I have also attached the output corresponding to GST_DEBUG=2 and GST_DEBUG=3.
I think the error in both the case lies in the rtpmp4vpay. Am I right???
Thanks in advance.
Regards,
Neel.
-----Original Message-----
From: Wim Taymans [mailto:wim.taymans at gmail.com]
Sent: Wednesday, June 03, 2009 3:49 PM
To: Mehta, Neel
Cc: gstreamer-embedded at lists.sourceforge.net
Subject: Re: [gst-embedded] transfer of video via udp/rtp/rtsp
On Wed, 2009-06-03 at 15:15 +0530, Mehta, Neel wrote:
> Hi
>
>
>
> I want to transfer a mpeg4 video from my TI's dm355 evm (ARM) to my pc
> (see on vlc). I have tried:
>
>
>
> 1. UDP: gst-launch-0.10 -v videotestsrc ! TIVidenc1 codecName=mpeg4enc
> engineName=encode contiguousInputFrame=FALSE ! rtpmp4vpay ! udpsink
> port=1234
>
>
>
> The pipeline works perfectly, but I am unable to see any video via
> vlc.
>
>
>
> 2. RTSP: ./test-launch --gst-debug-no-color --gst-debug=0 "( filesrc
> location=foreman_422_vga._swap.yuv ! TIVidenc1 codecName=mpeg4enc
> engineName=encode contiguousInputFrame=FALSE iColorSpace=UYVY
> resolution=640x480 ! rtpmp4vpay pt=96 name=pay0 )"
>
It seems like rtpmp4vpay could not set caps on the output pad. This is
likely because the encoder did not set proper caps on the output
buffers.
Check this:
gst-launch-0.10 -v filesrc location=foreman_422_vga._swap.yuv !
TIVidenc1 codecName=mpeg4enc engineName=encode
contiguousInputFrame=FALSE iColorSpace=UYVY resolution=640x480 !
rtpmp4vpay ! udpsink
And see what caps (if any) are set on udpsink.
also, I solved the warnings in the rtsp server by ignoring streams that
don't have a correct type.
Wim
>
>
> It gives me the following error:
>
> ** Message: client 0x16cf0: received a request
>
> ** Message: found media 0x52dc0 for url abspath /test
>
>
>
> ** Message: constructed media 0x58c20 for url /test
>
> ** Message: preparing media 0x58c20
>
>
>
> ** Message: enter mainloop
>
>
>
> (lt-test-launch:1615): GStreamer-CRITICAL **: gst_debug_log_valist:
> assertion `category != NULL' failed
>
>
>
> (lt-test-launch:1615): GStreamer-CRITICAL **: gst_debug_log_valist:
> assertion `category != NULL' failed
>
> ** Message: 0x58c20: got message type async-done
>
> ** Message: position query failed
>
> ** Message: duration query failed
>
> ** Message: stats: position 0:00:00.000000000, duration
> 99:99:99.999999999
>
> ** Message: object 0x58c20 is prerolled
>
>
>
> (lt-test-launch:1615): GStreamer-CRITICAL **: gst_caps_get_structure:
> assertion `GST_IS_CAPS (caps)' failed
>
>
>
> (lt-test-launch:1615): GStreamer-CRITICAL **:
> gst_structure_get_string: assertion `structure != NULL' failed
>
>
>
> (lt-test-launch:1615): GStreamer-CRITICAL **: gst_structure_get_int:
> assertion `structure != NULL' failed
>
>
>
> (lt-test-launch:1615): GStreamer-CRITICAL **: gst_structure_get_int:
> assertion `structure != NULL' failed
>
>
>
> (lt-test-launch:1615): GStreamer-CRITICAL **:
> gst_structure_get_string: assertion `structure != NULL' failed
>
>
>
> (lt-test-launch:1615): GStreamer-CRITICAL **:
> gst_structure_get_string: assertion `structure != NULL' failed
> Segmentation fault
>
>
>
> Can anyone help me in debugging? Or suggest some other way to
> implement the video transfer. My ultimate aim is to transfer the video
> and see on vlc, irrespective of the protocols used.
>
>
>
> Thanks in advance.
>
>
>
> Regards,
>
> Neel.
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> OpenSolaris 2009.06 is a cutting edge operating system for enterprises
> looking to deploy the next generation of Solaris that includes the latest
> innovations from Sun and the OpenSource community. Download a copy and
> enjoy capabilities such as Networking, Storage and Virtualization.
> Go to: http://p.sf.net/sfu/opensolaris-get
> _______________________________________________ Gstreamer-embedded mailing list Gstreamer-embedded at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-embedded/attachments/20090603/849aa834/attachment.htm>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: UDP.txt
URL: <http://lists.freedesktop.org/archives/gstreamer-embedded/attachments/20090603/849aa834/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: RTSP GST_DEBUG=2.txt
URL: <http://lists.freedesktop.org/archives/gstreamer-embedded/attachments/20090603/849aa834/attachment-0001.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: RTSP GST_DEBUG=3.txt
URL: <http://lists.freedesktop.org/archives/gstreamer-embedded/attachments/20090603/849aa834/attachment-0002.txt>
More information about the Gstreamer-embedded
mailing list