transfer of video via udp/rtp/rtsp

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


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: 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: 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>


[Index of Archives]     [Linux Embedded]     [Linux ARM Kernel]     [Linux for ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux Media]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux