Wowza Community

Using gstreamer-0.10 with Wowza

Thanks for the prompt reply.

Yeah, I seem to be doing that. Setting the marker bit for the last RTP packet before the next packet with a different timestamp is set.

From a wireshark Capture.

3206 3.778338 172.16.1.43 172.16.1.35 RTP PT=Unknown (96), SSRC=0x1E48E2BB, Seq=1473, Time=1836230591, Mark

3207 3.813092 172.16.1.43 172.16.1.35 RTP PT=Unknown (96), SSRC=0x1E48E2BB, Seq=1474, Time=1836233591

Thanks.

Hello, I’m trying to send a stream from a webcam, codificated in H264, and packeted into a RTP contaner to a Wowza Media Server Pro (build 9437).

Using debug logging, it shows the same that the other users’ log in this thread:

“DEBUG server comment - send: size:0 filter:7 time:305 tOffset:0 …”

Is this problem solved?

What should I do?

Thanks

Charlie, is there any solution for this problem?

Thanks

fonarik, you must the h264 enconding before rtp payloading:

gst-launch-0.10.exe -v filesrc location=avc.avi ! avidemux ! x264enc byte-stream=true ! rtph264pay mtu=1438 ! udpsink host=192.168.3.13 port=6000

try it

I’m trying to send live audio form a dvb card with gstreamer to a Wowza server and then play audio flash from jwplayer.

The problem is that I can’t hear the audio in jwplayer.

I’d tested it with a mp3 file and the following command:

gst-launch-0.10 -v filesrc location=/share/sample.mp3 ! flump3dec ! queue max-size-buffers=0 max-size-time=0 ! ffenc_libfaac ! queue max-size-buffers=0 max-size-time=0 ! queue max-size-buffers=0 max-size-time=0 ! rtpmp4apay ! udpsink host=192.168.1.168 port=6060

Wowza caught it and I have this SDP:

v=0

o=- 116704633 116704633 IN IP4 127.0.0.1

s=GStreamer

t=0 0

a=range:npt=now-

a=control:trackID=1

c=IN IP4 192.168.1.168

m=audio 6060 RTP/AVP 96

a=rtpmap:96 MP4A-LATM/48000/2

But, if I try to play that SDP in jwplayer, It looks loke loading, but doesn’t play anything…

Wowza doesn’t echo any errors, when I connect from jwplayer to play, it only says (I turn the debug off):

INFO session connect-pending 192.168.1.128 -

INFO session connect 192.168.1.128 -

INFO stream create - -

INFO server comment - MediaStreamMediaCasterPlay: startPlay

INFO stream play rtplive.sdp -

Has Anybody any idea?

Has Anybody tried anything like that?

Is it a problem only with audio encoding or SDP file config or is there a bug in any part?

Thanks

I’ve found a gstreamer’s pipeline and a SDP that work with Wowza, sending live video and audio to Wowza.

However, I’m only able to send audio or video separately, but not together.

Here is my last SDP file (caps are copied form gstreamer output).

If i remove video or audio from SDP, the other (video or audio, depending) is played alright:

v=0

o=- 14818005123115786627 14818005123115786627 IN IP4 localhost.localdomain

s=Gstreamer

i=N/A

c=IN IP4 237.1.1.3

t=0 0

m=video 6070 RTP/AVP 96

a=rtpmap:96 H264/90000

a=fmtp:96 media=video; clock-rate=90000; encoding-name=H264; profile-level-id=4d4015; sprop-parameter-sets=Z01AFZJUDwX3/gAwACIgAAADACAAAAZR4sXU; payload=96; ssrc=3120057827; clock-base=1065471660; seqnum-base=39429;

a=control:trackID=1

m=audio 6060 RTP/AVP 96

a=rtpmap:96 MPEG4-GENERIC/48000/2

a=fmtp:96 media=audio; clock-rate=44100; encoding-name=MPEG4-GENERIC; encoding-params=1; streamtype=5; profile-level-id=1; mode=AAC-hbr; config=0a08; objectType=64; sizeLength=13; indexLength=3; indexDeltaLength=3; payload=96; ssrc=4278936313; clock-base=160119643; seqnum-base=26806

a=control:trackID=2

Setting the RTP/AVSyncMethod attribute to systemclock made it!

Thank you Charlie and Florent.

i’m trying to stream H.264 AVI file to Wowza via RTP using GStreamer.

Wowza Version: WowzaMediaServerPro-1.6.0 build9437

Operation System: Windows Vista

Gstreamer version: 0.10

Gstreamer command line string:


gst-launch-0.10.exe -v filesrc location=avc.avi ! avidemux ! rtph264pay mtu=1438 ! udpsink host=192.168.3.13 port=6000


Wowza .sdp file:


v=0

o=- 1188340656180883 1 IN IP4 192.168.3.13

s=Session streamed by GStreamer

i=server.sh

t=0 0

a=tool:GStreamer

a=type:broadcast

m=video 6000 RTP/AVP 96

c=IN IP4 192.168.3.13

a=rtpmap:96 H264/90000

a=cliprect:0,0,240,320

a=framesize:96 320-240


log file:


  • definst rtplive/definst

    • 127.0.0.1 -
  • 127.0.0.1 -


MediaStreamMediaCasterPlay: startPlay

RTPMediaCaster.create

RTPMediaCaster.init

RTPMediaCaster.Reconnector: start

RTPSessionDescriptionDataProviderBasic.getStreamInfo: C:/Program Files/Wowza Media Systems/Wowza Media Server Pro 1.6.0/content/test264_3.sdp

test264_3.sdp -

UDPTransport.bind: /192.168.3.13:6000

UDPTransport.bind: /192.168.3.13:6001

RTPMediaCaster.Reconnector: stop

UDPTransport.firstPacket: /192.168.3.13:6000


and nothing happens, no video :frowning:

Can you help me with this problem?

Thanks for help! Now i can give more detailed info:

File already coded in H.264, VLC Player shows h.264 in media info.

  1. File -> Gstreamer -> VLC Player -> Works!

  2. File -> VLC Player -> Wowza -> Works!

  3. File -> GStreamer -> VLC Player -> Wowza -> Works!

  4. File -> Gstreamer -> Wowza -> NO!


GStreamer command:

gst-launch-0.10.exe -v filesrc location=videotestsrc_h264.avi ! avidemux ! rtph264pay mtu=1438 ! udpsink host=10.218.35.135 port=1234


VLC command (from file):

vlc -vvv videotestsrc_h264.avi --sout “#rtp{dst=10.218.35.135,port=50002,sdp=file://vlc6.sdp}”


VLC command (from GStreamer):

vlc -vvv file://7.sdp --sout “#rtp{dst=10.218.35.135,port=50002,sdp=file://vlc8.sdp}”


.SDP file:

v=0

o=- 14770170187368070364 14770170187368070364 IN IP4 c3dpcws004

s=Unnamed

i=N/A

c=IN IP4 10.218.35.135

t=0 0

a=tool:vlc 0.9.6

a=recvonly

a=type:broadcast

a=charset:UTF-8

m=video 1234 RTP/AVP 96

b=RR:0

a=rtpmap:96 H264/90000

a=fmtp:96 packetization-mode=1

a=fmtp:96 profile-level-id=3; config=000001b001000001b58913000001000000012000c48d8800cd14043c1463000001b24c61766335312e37312e30;

last string i found somewhere in internet or forum, without it wowza doesn’t show video.


Link to video source:

http://3detection.com/downloads/videotestsrc_h264.avi


Now can you please check it out? Wowza giving no any log comments about errors =(

Gstreamer is easy to setup and launch on Linux\Windows (i tried both)…

I havent found any CRC settings in GStreamer’s UDP, but i can post here list of it’s parameters,

or you can see them launching command “gst-inspect-0.10.exe udpsink”

Yes, it was me contacting via email. I understand, that i can’t stream H.263 Sorensen Spark via RTP :frowning:

Thanks in advance for help, i hope i’ll get in touch with Wowza.

Charlie, i don’t have to transcode, my file is already in H.264, ant it streams perfectly with VLC without transcoding directly to wowza. And Gstreamer RTP stream playing fine with VLC player.

ok, i tried but got no results. it was not this problem, cause wowza play video normaly with this sdp file and stream coming from VLC player.

So, one more time. Stream are playing from gstreamer with VLC, stream getting into wowza if it streamed from GStreamer via VLC. But nothing happens if it streamed directly from GStreamer to wowza, and no information why in log file

So, what can i do? Can you give me an intructions how to get result, or can you try it ? It will take 5 minute to download and launch g-streamer, and see what’s happens.

Ok. Please, post a solution if you’'ll find one.

We can’t switch from GStreamer, so, i’ll come to forum regulary to find a solution for some time. We will continue search suitable streaming solution for our projects, hope it will be wowza.

Charlie, i’ll try it with new version of GStreamer too.

Can i use 1.6.0 Server Version? Do i need to install some updates or patches?

Florent, can you demonstrate working GSTreamer commnad line and SDP file please?

Thanks in advance!

Hi guys,

I’m trying to stream a DVD from my Play Station 2 to my TV capture card using GStreamer until Wowza and from there to my Flowplayer client.

I have it working with audio or video but not with both at the same time. My problem when I’m trying both is that the video get delayed and plays very slow. Like on slow motion.

I’m using the last version of GStreamer 0.10.24 (compiled by myselft) and Wowza 2 preview 6 (which I think is the latest version).

This is my SDP file:

v=0

o=- 1208520720 2590316915 IN IP4 83.244.217.196

s=Gstreamer

i=N/A

c=IN IP4 83.234.38.8

t=0 0

m=video 10004 RTP/AVP 96

a=rtpmap:96 H264/90000

a=fmtp:96 media=video; clock-rate=90000; encoding-name=H264; profile-level-id=4d401e; sprop-parameter-sets=Z01AHpJUBQHtgIgAAAMACAAAAwGUeLF1,aO48gA==; payload=96; ssrc=2977118887; clock-base=179044607; seqnum-bas\

e=51513;

a=control:trackID=1

m=audio 10002 RTP/AVP 96

a=rtpmap:96 MPEG4-GENERIC/48000/2

a=fmtp:96 media=audio; clock-rate=16000; encoding-name=MPEG4-GENERIC; encoding-params=1; streamtype=5; profile-level-id=1; mode=AAC-hbr; config=0c08; objectType=64; sizeLength=13; indexLength=3; indexDeltaLength\

=3; payload=96; ssrc=2977118887; clock-base=179044607; seqnum-base=51513;

a=control:trackID=2

And this is my Gstreamer pipeline:

gst-launch-0.10 -v v4l2src device=/dev/video0 ! “video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480, framerate=(fraction)25/1” ! queue ! ffdeinterlace ! queue ! x264enc bitrate=200 byte-stream=true ! queue ! rtph264pay ! queue ! udpsink host=89.234.38.8 port=10004 alsasrc ! “audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)16000, channels=(int)1” ! queue ! volume volume=10 ! queue ! faac ! queue ! rtpmp4gpay ! queue ! udpsink host=89.234.38.8 port=10002

Btw, I’ve started the stream with the DEBUG level on my wowza server and I don’t see any errors at all.

Any help or thoughts?

PD: I forgot to mention that I have the RTP/AVSyncMethod attribute to systemclock

Thank you very much.

Hi Charlie,

I’ve been trying the different options of that post but without success.

Any other ideas?

It’s really important for us get this working with gstreamer.

Thank you very much in advance.

Hi guys,

I think I found my problem. Just in case someone else need this info.

The only problem was on the sdp file. I had the following line:

a=rtpmap:96 MPEG4-GENERIC/48000/2

However, If you have a look to my pipelines I was using an audio stream of 16000 Hz.

I adjusted the stream and the sdp files for a 48000 Hz audio stream and everything is working perfectly now.

I guess that changing that line to 16000 Hz instead of 48000 Hz should work as well.

Thx.

Hi guys,

Right now I have working gstreamer with Wowza successfully with H264 and AAC for flash clients and Iphone clients.

The following pipelines are working nice for me.

gst-launch-0.10 -v videotestsrc ! "video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480, framerate=(fraction)15/1" ! queue ! x264enc bitrate=500 cabac=false pass=qual quantizer=27 subme=4 threads=0 bframes=0 dct8x8=false ! queue ! rtph264pay ! queue ! udpsink host=127.0.0.1 port=50000 

gst-launch-0.10 -v audiotestsrc ! "audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)48000, channels=(int)2" ! queue ! tee name=audio audio. ! queue ! faac ! queue ! rtpmp4gpay ! queue ! udpsink host=127.0.0.1 port=50002

You can also run both together at the same time:

gst-launch-0.10 -v videotestsrc ! "video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480, framerate=(fraction)15/1" ! queue ! x264enc bitrate=500 cabac=false pass=qual quantizer=27 subme=4 threads=0 bframes=0 dct8x8=false ! queue ! rtph264pay ! queue ! udpsink host=127.0.0.1 port=50000 audiotestsrc ! "audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)48000, channels=(int)2" ! queue ! tee name=audio audio. ! queue ! faac ! queue ! rtpmp4gpay ! queue ! udpsink host=127.0.0.1 
port=50002

This is the sdp file that I’m using for this pipelines:

v=0
o=- 1208520720 2590316915 IN IP4 127.0.0.1
s=MY FIRST PIPELINE
i=N/A
c=IN IP4 127.0.0.1
t=0 0
m=video 50000 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 media=video; clock-rate=90000; encoding-name=H264; profile-level-id=4d4015; sprop-parameter-sets=Z01AFbkQOhH3EYCIAAADAAgAAAMA9HixdQ==,aO48gA==
a=control:trackID=1
m=audio 50002 RTP/AVP 96
a=rtpmap:96 MPEG4-GENERIC/48000/2
a=fmtp:96 media=audio; clock-rate=48000; encoding-name=MPEG4-GENERIC; encoding-params=2; streamtype=5; profile-level-id=1; mode=AAC-hbr; config=0990; sizeLength=13; indexLength=3; indexDeltaLength=3; payload=96
a=control:trackID=2

It’s very important to notice that every different compilation of gstreamer has very different caps even for the same version. I mean, if you are using a different x264 library you will get different caps on your gstreamer pipeline outoput. This means that you need to update your sdp file with the caps from your gstreamer output. MAKE SURE YOU USE THE -v OPTION ON YOUR PIPELINES TO GET THESE CAPS.

““NOTE: I’'VE REMOVED SOME OUTPUT BECAUSE THERE IS A TEXT LIMITATION.””

For example, the caps for the previous pipelines are (it’s likely that the following caps and my previous sdp file doesn’t match because it’s from a different box):

Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480, framerate=(fraction)15/1
/GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)48000, channels=(int)2
Pipeline is PREROLLING ...

..................

/GstPipeline:pipeline0/GstQueue:queue3.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)48000, channels=(int)2
/GstPipeline:pipeline0/GstTee:audio.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)48000, channels=(int)2
/GstPipeline:pipeline0/GstTee:audio.GstPad:src0: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)48000, channels=(int)2
/GstPipeline:pipeline0/GstTee:audio.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)48000, channels=(int)2
/GstPipeline:pipeline0/GstQueue:queue4.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)48000, channels=(int)2
/GstPipeline:pipeline0/GstQueue:queue4.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)48000, channels=(int)2
/GstPipeline:pipeline0/GstFaac:faac0.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)48000, channels=(int)2
/GstPipeline:pipeline0/GstFaac:faac0.GstPad:src: caps = audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)48000, codec_data=(buffer)0990
/GstPipeline:pipeline0/GstQueue:queue5.GstPad:sink: caps = audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)48000, codec_data=(buffer)0990
/GstPipeline:pipeline0/GstQueue:queue5.GstPad:src: caps = audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)48000, codec_data=(buffer)0990
/GstPipeline:pipeline0/GstRtpMP4GPay:rtpmp4gpay0.GstPad:src: caps = application/x-rtp, media=(string)audio, clock-rate=(int)48000, encoding-name=(string)MPEG4-GENERIC, encoding-params=(string)2, streamtype=(string)5, profile-level-id=(string)1, mode=(string)AAC-hbr, config=(string)0990, sizelength=(string)13, indexlength=(string)3, indexdeltalength=(string)3, payload=(int)96, ssrc=(guint)3072717366, clock-base=(guint)2502145401, seqnum-base=(guint)57789
/GstPipeline:pipeline0/GstRtpMP4GPay:rtpmp4gpay0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)48000, codec_data=(buffer)0990
/GstPipeline:pipeline0/GstQueue:queue6.GstPad:sink: caps = application/x-rtp, media=(string)audio, clock-rate=(int)48000, encoding-name=(string)MPEG4-GENERIC, encoding-params=(string)2, streamtype=(string)5, profile-level-id=(string)1, mode=(string)AAC-hbr, config=(string)0990, sizelength=(string)13, indexlength=(string)3, indexdeltalength=(string)3, payload=(int)96, ssrc=(guint)3072717366, clock-base=(guint)2502145401, seqnum-base=(guint)57789
/GstPipeline:pipeline0/GstQueue:queue6.GstPad:src: caps = application/x-rtp, media=(string)audio, clock-rate=(int)48000, encoding-name=(string)MPEG4-GENERIC, encoding-params=(string)2, streamtype=(string)5, profile-level-id=(string)1, mode=(string)AAC-hbr, config=(string)0990, sizelength=(string)13, indexlength=(string)3, indexdeltalength=(string)3, payload=(int)96, ssrc=(guint)3072717366, clock-base=(guint)2502145401, seqnum-base=(guint)57789
[B]/GstPipeline:pipeline0/GstUDPSink:udpsink1.GstPad:sink: caps = application/x-rtp, media=(string)audio, clock-rate=(int)48000, encoding-name=(string)MPEG4-GENERIC, encoding-params=(string)2, streamtype=(string)5, profile-level-id=(string)1, mode=(string)AAC-hbr, config=(string)0990, sizelength=(string)13, indexlength=(string)3, indexdeltalength=(string)3, payload=(int)96, ssrc=(guint)3072717366, clock-base=(guint)2502145401, seqnum-base=(guint)57789[/B]
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = video/x-h264, width=(int)640, height=(int)480, framerate=(fraction)15/1, codec_data=(buffer)0142c016ffe100186742c016b9101407b60220000003002000000303d1e2c5d401000468ce1720
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = video/x-h264, width=(int)640, height=(int)480, framerate=(fraction)15/1, codec_data=(buffer)0142c016ffe100186742c016b9101407b60220000003002000000303d1e2c5d401000468ce1720
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0.GstPad:src: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, profile-level-id=(string)42c016, sprop-parameter-sets=(string)\"Z0LAFrkQFAe2AiAAAAMAIAAAAwPR4sXU\\,aM4XIA\\=\\=\", payload=(int)96, ssrc=(guint)1090311487, clock-base=(guint)3529879298, seqnum-base=(guint)18909
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0.GstPad:sink: caps = video/x-h264, width=(int)640, height=(int)480, framerate=(fraction)15/1, codec_data=(buffer)0142c016ffe100186742c016b9101407b60220000003002000000303d1e2c5d401000468ce1720
/GstPipeline:pipeline0/GstQueue:queue2.GstPad:sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, profile-level-id=(string)42c016, sprop-parameter-sets=(string)\"Z0LAFrkQFAe2AiAAAAMAIAAAAwPR4sXU\\,aM4XIA\\=\\=\", payload=(int)96, ssrc=(guint)1090311487, clock-base=(guint)3529879298, seqnum-base=(guint)18909
/GstPipeline:pipeline0/GstQueue:queue2.GstPad:src: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, profile-level-id=(string)42c016, sprop-parameter-sets=(string)\"Z0LAFrkQFAe2AiAAAAMAIAAAAwPR4sXU\\,aM4XIA\\=\\=\", payload=(int)96, ssrc=(guint)1090311487, clock-base=(guint)3529879298, seqnum-base=(guint)18909
[B]/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, profile-level-id=(string)42c016, sprop-parameter-sets=(string)\"Z0LAFrkQFAe2AiAAAAMAIAAAAwPR4sXU\\,aM4XIA\\=\\=\", payload=(int)96, ssrc=(guint)1090311487, clock-base=(guint)3529879298, seqnum-base=(guint)18909
[/B]Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

The last (bolth) lines of each media type (audio and video) are the final caps that you need to include on the sdp file.

Finally notice that on relation to the video caps for x264 (concretely the sprop-parameter-sets) have on the command line caps different backslash that should be removed on the sdp file. For example from the previous caps:

sprop-parameter-sets=(string)“Z0LAFrkQFAe2AiAAAAMAIAAAAwPR4sXU\,aM4XIA\=\=”

should end on the sdp file like:

Z0LAFrkQFAe2AiAAAAMAIAAAAwPR4sXU,aM4XIA==

I hope this would help someone.

Thank you.

Hi,

i have a similar problem using gstreamer to send an rtp stream to wowza.

The player starts playing for 1s then it stops for about 40s then starts playing again.

When i make two sdp files one for audio and one for video i can play them, using the same gstream-cmd and everything is fine. But i would like to be able to use just one flash-player :slight_smile:

It would be nice if we would have an example of an gstreamer-cmd working with wowza, in the forum i only find stuff not working.

gst-cmd:

 gst-launch-0.10 -vvv videotestsrc ! capsfilter caps="video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480, framerate=(fraction)30/1" ! queue ! x264enc byte-stream=true bitrate=300 ! rtph264pay ! udpsink port=6000 host=127.0.0.1 sync=false audiotestsrc ! "audio/x-raw-int, rate=(int)48000" ! faac ! rtpmp4gpay ! udpsink host=127.0.0.1 port=6002

gst-log:

/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0.GstPad:src: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, profile-level-id=(string)4d401e, sprop-parameter-sets=(string)Z01AHpJUBQHtgIgAAAMACAAAAwHkeLF1, payload=(int)96, ssrc=(guint)2198359392, clock-base=(guint)614858601, seqnum-base=(guint)21776
/GstPipeline:pipeline0/GstUDPSink:udpsink1.GstPad:sink: caps = application/x-rtp, media=(string)audio, clock-rate=(int)48000, encoding-name=(string)MPEG4-GENERIC, encoding-params=(string)1, streamtype=(string)5, profile-level-id=(string)1, mode=(string)AAC-hbr, config=(string)0988, sizelength=(string)13, indexlength=(string)3, indexdeltalength=(string)3, payload=(int)96, ssrc=(guint)2805765163, clock-base=(guint)4260627807, seqnum-base=(guint)57770

sdp-file:

v=0
o=- 116704633 116704633 IN IP4 127.0.0.1
s=GStreamer
t=0 0
c=IN IP4 127.0.0.1
m=video 6000 RTP/AVP 96
a=rtpmap:96 H264/90000
a=control:trackID=1
m=audio 6002 RTP/AVP 96
a=rtpmap:96 MPEG4-GENERIC/48000/2
a=fmtp:96 media=audio; clock-rate=48000; encoding-name=MPEG4-GENERIC; encoding-params=1; streamtype=5; profile-level-id=1; mode=AAC-hbr; config=0b88; sizeLength=13; indexLength=3; indexDeltaLength=3; payload=96; ssrc=2805765163; clock-base=4260627807; seqnum-base=57770
a=control:trackID=2

other information:

GStreamer Core Library version 0.10.22

Wowza Media Server Pro10 1.7.2 build12107

Played with setting in post

http://www.wowza.com/community/t/-/57

systemclock

12000

sortPackets

sortBufferSize

any idea?

Hello,

long time since last post but I hope someone can help. My problem is to stream video from Gstreamer to Wowza, where Gstreamer is running on ARM architecture on Pandaboard computer with Ubuntu 11.10. My actual achievement is RTP streaming from Gstreamer to VLC then from VLC to Wowza and it works so I can see the video in flash sample application.

I’ve tried cbao.rambo’s solution but the only I can have is to see video in VLC (when I run it with SDP file), when I’m trying stream to Wowza directly, it doesn’t see anything. These are my Gstreamer output and SDP file:

I used the same parameters as cbao.rambo:

gst-launch-0.10 -v videotestsrc ! "video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480, framerate=(fraction)15/1" ! queue ! x264enc bitrate=500 cabac=false pass=qual quantizer=27 subme=4 threads=0 bframes=0 dct8x8=false ! queue ! rtph264pay ! queue ! udpsink host=192.168.3.206 port=5000 

Gstreamer output:

Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)15/1, width=(int)640, height=(int)480, color-matrix=(string)sdtv, chroma-site=(string)mpeg2
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)15/1, width=(int)640, height=(int)480, color-matrix=(string)sdtv, chroma-site=(string)mpeg2
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)15/1, width=(int)640, height=(int)480, color-matrix=(string)sdtv, chroma-site=(string)mpeg2
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)15/1, width=(int)640, height=(int)480, color-matrix=(string)sdtv, chroma-site=(string)mpeg2
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)15/1, width=(int)640, height=(int)480, color-matrix=(string)sdtv, chroma-site=(string)mpeg2
/GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:src: caps = video/x-h264, width=(int)640, height=(int)480, framerate=(fraction)15/1, pixel-aspect-ratio=(fraction)1/1, codec_data=(buffer)014d4016ffe10017674d4016d900a03db0110000030001773594000f162e4801000468cbc5c8, stream-format=(string)avc, alignment=(string)au
/GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)15/1, width=(int)640, height=(int)480, color-matrix=(string)sdtv, chroma-site=(string)mpeg2
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = video/x-h264, width=(int)640, height=(int)480, framerate=(fraction)15/1, pixel-aspect-ratio=(fraction)1/1, codec_data=(buffer)014d4016ffe10017674d4016d900a03db0110000030001773594000f162e4801000468cbc5c8, stream-format=(string)avc, alignment=(string)au
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = video/x-h264, width=(int)640, height=(int)480, framerate=(fraction)15/1, pixel-aspect-ratio=(fraction)1/1, codec_data=(buffer)014d4016ffe10017674d4016d900a03db0110000030001773594000f162e4801000468cbc5c8, stream-format=(string)avc, alignment=(string)au
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0.GstPad:src: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, sprop-parameter-sets=(string)\"Z01AFtkAoD2wEQAAAwABdzWUAA8WLkg\\=\\,aMvFyA\\=\\=\", payload=(int)96, ssrc=(uint)3975972560, clock-base=(uint)4006607711, seqnum-base=(uint)19939
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0.GstPad:sink: caps = video/x-h264, width=(int)640, height=(int)480, framerate=(fraction)15/1, pixel-aspect-ratio=(fraction)1/1, codec_data=(buffer)014d4016ffe10017674d4016d900a03db0110000030001773594000f162e4801000468cbc5c8, stream-format=(string)avc, alignment=(string)au
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0: timestamp = 4006607711
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0: seqnum = 19939
/GstPipeline:pipeline0/GstQueue:queue2.GstPad:sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, sprop-parameter-sets=(string)\"Z01AFtkAoD2wEQAAAwABdzWUAA8WLkg\\=\\,aMvFyA\\=\\=\", payload=(int)96, ssrc=(uint)3975972560, clock-base=(uint)4006607711, seqnum-base=(uint)19939
/GstPipeline:pipeline0/GstQueue:queue2.GstPad:src: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, sprop-parameter-sets=(string)\"Z01AFtkAoD2wEQAAAwABdzWUAA8WLkg\\=\\,aMvFyA\\=\\=\", payload=(int)96, ssrc=(uint)3975972560, clock-base=(uint)4006607711, seqnum-base=(uint)19939
/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, sprop-parameter-sets=(string)\"Z01AFtkAoD2wEQAAAwABdzWUAA8WLkg\\=\\,aMvFyA\\=\\=\", payload=(int)96, ssrc=(uint)3975972560, clock-base=(uint)4006607711, seqnum-base=(uint)19939
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

SDP:

v=0
o=- 14818005123115786627 14818005123115786627 IN IP4 192.168.3.206
s=Pipeline1
i=N/A
c=IN IP4 192.168.3.206
t=0 0
m=video 5000 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 media=video; clock-rate=90000; encoding-name=H264; sprop-parameter-sets=Z01AFtkAoD2wEQAAAwABdzWUAA8WLkg=,aMvFyA==; payload=96; ssrc=3975972560; clock-base=4006607711; seqnum-base=19939;
a=control:trackID=1

My connections looks like that:

Gstreamer [Pandaboard] -> VLC [PC] -> Wowza [PC same as VLC] - WORKS!

Gstreamer [Pandaboard] -> Wowza [PC] - does not work

I removed slashes ‘’ in sprop-parameter-sets. Either they were or not it didn’t make any difference. I don’t no what can be wrong. I have the newest version of Gstreamer on my Pandaboard.

Any ideas?

Thanks!

ALARM CALLED OFF! Everything is working!

silly me… it was just Windows Firewall blocking connections to Wowza from Pandaboard… I was confused because it didn’t block VLC…