Cannot stream mp4 file to network over RTP

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Cannot stream mp4 file to network over RTP

Markus
Hi,

Im trying to stream a file stored on my pc.  video/quicktime, variant=(string)iso, but could not achieve
can someone please help me?
Thanx in advance

server
gst-launch-0.10 -v  filesrc location=test.mp4 ! qtdemux name=demux demux.video_00 ! queue ! rtpmp4vpay pt=96 ! udpsink host=224.0.0.1 port=5000    demux.audio_00 ! queue ! rtpmp4apay pt=97 ! udpsink host=224.0.0.1 port=5001

Output :

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, profile=(string)simple, level=(string)1, codec_data=(buffer)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32, width=(int)1280, height=(int)720, framerate=(fraction)2397/100, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, profile=(string)simple, level=(string)1, codec_data=(buffer)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32, width=(int)1280, height=(int)720, framerate=(fraction)2397/100, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstRtpMP4APay:rtpmp4apay0: timestamp = 1438909787
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, profile=(string)simple, level=(string)1, codec_data=(buffer)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32, width=(int)1280, height=(int)720, framerate=(fraction)2397/100, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstRtpMP4APay:rtpmp4apay0: seqnum = 50865
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, profile=(string)simple, level=(string)1, codec_data=(buffer)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32, width=(int)1280, height=(int)720, framerate=(fraction)2397/100, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, profile=(string)simple, level=(string)1, codec_data=(buffer)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32, width=(int)1280, height=(int)720, framerate=(fraction)2397/100, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0.GstPad:src: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32, payload=(int)96, ssrc=(uint)2744762257, clock-base=(uint)1174218802, seqnum-base=(uint)51772
/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0.GstPad:sink: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, profile=(string)simple, level=(string)1, codec_data=(buffer)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32, width=(int)1280, height=(int)720, framerate=(fraction)2397/100, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0: timestamp = 1174218802
/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0: seqnum = 51772
/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32, payload=(int)96, ssrc=(uint)2744762257, clock-base=(uint)1174218802, seqnum-base=(uint)51772
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock



Client :
VCAPS="application/x-rtp, media=(string)audio, clock-rate=(int)48000, encoding-name=(string)MP4A-LATM, cpresent=(string)0, config=(string)40002320, payload=(int)97"

gst-launch-0.10 -v udpsrc port=5000 ! $VCAPS ! rtpmp4vdepay ! ffdec_h264 ! fpsdisplaysink  sync=false  udpsrc port=5001  ! $ACAPS ! rtpmp4adepay ! ffdec_aac


Out : warning erroneous pipeline, link with no source element
Reply | Threaded
Open this post in threaded view
|

Re: Cannot stream mp4 file to network over RTP

Wim Taymans
On 08/21/2012 09:43 AM, Markus wrote:

> Hi,
>
> Im trying to stream a file stored on my pc.  video/quicktime,
> variant=(string)iso, but could not achieve
> can someone please help me?
> Thanx in advance
>
> server
> gst-launch-0.10 -v  filesrc location=test.mp4 ! qtdemux name=demux
> demux.video_00 ! queue ! rtpmp4vpay pt=96 ! udpsink host=224.0.0.1 port=5000
> demux.audio_00 ! queue ! rtpmp4apay pt=97 ! udpsink host=224.0.0.1 port=5001
>
> Output :
>
> Setting pipeline to PAUSED ...
> Pipeline is PREROLLING ...
> /GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/mpeg,
> mpegversion=(int)4, systemstream=(boolean)false, profile=(string)simple,
> level=(string)1,
> codec_data=(buffer)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32,
> width=(int)1280, height=(int)720, framerate=(fraction)2397/100,
> pixel-aspect-ratio=(fraction)1/1
> /GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/mpeg,
> mpegversion=(int)4, systemstream=(boolean)false, profile=(string)simple,
> level=(string)1,
> codec_data=(buffer)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32,
> width=(int)1280, height=(int)720, framerate=(fraction)2397/100,
> pixel-aspect-ratio=(fraction)1/1
> /GstPipeline:pipeline0/GstRtpMP4APay:rtpmp4apay0: timestamp = 1438909787
> /GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/mpeg,
> mpegversion=(int)4, systemstream=(boolean)false, profile=(string)simple,
> level=(string)1,
> codec_data=(buffer)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32,
> width=(int)1280, height=(int)720, framerate=(fraction)2397/100,
> pixel-aspect-ratio=(fraction)1/1
> /GstPipeline:pipeline0/GstRtpMP4APay:rtpmp4apay0: seqnum = 50865
> /GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/mpeg,
> mpegversion=(int)4, systemstream=(boolean)false, profile=(string)simple,
> level=(string)1,
> codec_data=(buffer)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32,
> width=(int)1280, height=(int)720, framerate=(fraction)2397/100,
> pixel-aspect-ratio=(fraction)1/1
> /GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/mpeg,
> mpegversion=(int)4, systemstream=(boolean)false, profile=(string)simple,
> level=(string)1,
> codec_data=(buffer)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32,
> width=(int)1280, height=(int)720, framerate=(fraction)2397/100,
> pixel-aspect-ratio=(fraction)1/1
> /GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0.GstPad:src: caps =
> application/x-rtp, media=(string)video, clock-rate=(int)90000,
> encoding-name=(string)MP4V-ES, profile-level-id=(string)1,
> config=(string)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32,
> payload=(int)96, ssrc=(uint)2744762257, clock-base=(uint)1174218802,
> seqnum-base=(uint)51772
> /GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0.GstPad:sink: caps =
> video/mpeg, mpegversion=(int)4, systemstream=(boolean)false,
> profile=(string)simple, level=(string)1,
> codec_data=(buffer)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32,
> width=(int)1280, height=(int)720, framerate=(fraction)2397/100,
> pixel-aspect-ratio=(fraction)1/1
> /GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0: timestamp = 1174218802
> /GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0: seqnum = 51772
> /GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps =
> application/x-rtp, media=(string)video, clock-rate=(int)90000,
> encoding-name=(string)MP4V-ES, profile-level-id=(string)1,
> config=(string)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32,
> payload=(int)96, ssrc=(uint)2744762257, clock-base=(uint)1174218802,
> seqnum-base=(uint)51772
> Pipeline is PREROLLED ...
> Setting pipeline to PLAYING ...
> New clock: GstSystemClock
>
>
>
> Client :
> VCAPS="application/x-rtp, media=(string)audio, clock-rate=(int)48000,
> encoding-name=(string)MP4A-LATM, cpresent=(string)0,
> config=(string)40002320, payload=(int)97"
>
> gst-launch-0.10 -v udpsrc port=5000 ! $VCAPS ! rtpmp4vdepay ! ffdec_h264 !
> fpsdisplaysink  sync=false  udpsrc port=5001  ! $ACAPS ! rtpmp4adepay !
> ffdec_aac
The video depayloader doesn't work with the audio payloads. You need to
use the caps
on the udpsink that streams the video on port 5000.

Wim

>
>
> Out : warning erroneous pipeline, link with no source element
>
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Cannot-stream-mp4-file-to-network-over-RTP-tp4656014.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Cannot stream mp4 file to network over RTP

Markus
sorry i didnt copy the right line, the video caps are
VCAPS="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32, payload=(int)96"


I just saw that i use h264 decoder. by the way, wich element should i use to decode the video file?

Reply | Threaded
Open this post in threaded view
|

Re: Cannot stream mp4 file to network over RTP

Wim Taymans
On 08/21/2012 01:42 PM, Markus wrote:
> sorry i didnt copy the right line, the video caps are
> VCAPS="application/x-rtp, media=(string)video, clock-rate=(int)90000,
> encoding-name=(string)MP4V-ES, profile-level-id=(string)1,
> config=(string)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32,
> payload=(int)96"
>
>
> I just saw that i use h264 decoder. by the way, wich element should i use to
> decode the video file?
If you want to know what element you can link to rtpmp4vdepay, you use
gst-inspect rtpmp4vdepay and
look at the caps of the srcpad:

Pad Templates:
   SRC template: 'src'
     Availability: Always
     Capabilities:
       video/mpeg
             mpegversion: 4
            systemstream: false

Then you find an element that has these caps on the sinkpad, for example
avdec_mpeg4.

Wim

>
>
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Cannot-stream-mp4-file-to-network-over-RTP-tp4656014p4656020.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Cannot stream mp4 file to network over RTP

Carlos Rafael Giani
In reply to this post by Markus
On 2012-08-21 13:42, Markus wrote:
sorry i didnt copy the right line, the video caps are
VCAPS="application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)MP4V-ES, profile-level-id=(string)1,
config=(string)000001b001000001b58913000001000000012000c48d884aed28045a1463000001b24c61766335312e35372e32,
payload=(int)96"


I just saw that i use h264 decoder. by the way, wich element should i use to
decode the video file?





--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Cannot-stream-mp4-file-to-network-over-RTP-tp4656014p4656020.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
To add to Wyms answer above, it seems that you are not using the jitter buffer. You should. I answered on stackoverflow why:

http://stackoverflow.com/questions/11397655/streaming-rtp-rtsp-sync-timestamp-problems/11787105#11787105

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Cannot stream mp4 file to network over RTP

Markus
Thank you for your help, I finally managed to stream the video.
My problem is now that my board does not want to display the file with the right resolution.
I get the error : received invalid Width/Height using 720/480  (my video is 720p) do you know where this could come from?