Live Streaming from RaspberryPi using GStreamer - Help please?

Similar question : GStreamer + RTSP

Hi Everybody,

We are having a RaspberryPi which is connected to two cameras, and is supposed to send the streams to Wowza server.

Our Wowza server works great with GoCoder iPhone app.

We have GStreamer on RaspberryPi and are trying to stream using the following commands on an RTMP/RTSP open connection (no authentication)

 gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-h264,width=1920,height=1080,framerate=30/1 ! h264parse ! muxout. pulsesrc device="alsa_input.usb-046d_HD_Pro_Webcam_C920_5A8C986F-02-C920.analog-stereo" ! queue ! audioconvert ! voaacenc ! muxout. flvmux name=muxout streamable=true ! \ rtmpsink location =  'wowz://54.213.46.154:1935/liveStreamCam1/cam1'

What we get is the following:

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstPulseSrcClock
ERROR: RTMP_ReadPacket, failed to read RTMP packet header
ERROR: from element /GstPipeline:pipeline0/GstRTMPSink:rtmpsink0: Could not open resource for writing.
Additional debug info:
gstrtmpsink.c(214): gst_rtmp_sink_render (): /GstPipeline:pipeline0/GstRTMPSink:rtmpsink0:
Could not connect to RTMP stream "wowz://54.213.46.154:1935/liveStreamCam1/cam1" for writing
Execution ended after 0:00:03.223963639
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

We took a TCP dump and found that the connection is being refused with the message “Permission Denied”

The verbose messages are following:

........level...status..code...NetConnection.Connect.Success..description...Connection succeeded...data.......version..
3,5,7,7009.....clientid.A..I".....objectEncoding............
releaseStream.@...........cam1
C..........FCPublish.@...........cam1
C..........createStream.@........
...............onStatus.............level...error..code...NetStream.Publish.Denied..description..FRTMP
Publishing not allowed.  Client is not in list of valid 
encoders...clientid.A..I"......
...............onFCPublish.............level...status..code...NetStream.Publish.Start..description...FCPublish
to stream 
cam1...clientid.A..I"....................._result.@.........?.......
......"........publish.@...........cam1...live
...............onStatus.............level...error..code...NetStream.Publish.Denied..description..FRTMP
Publishing not allowed.  Client is not in list of valid 
encoders...clientid.A..I"......
C..........FCUnpublish.@...........cam1
C....."....deleteStream.@.........?.......

We tried using rtmp:// instead of wowz:// too! (wowz: certainly doesn’t look a fit here)

It says “NetStream.Publish.Denied description. FRTMP Publishing not allowed. Client is not in list of valid encoders”

Are there only certain kind of clients that Wowza will support?

Now, there’s a tutorial here on how to do it using FFMPEG, but we currently don’t have the liberty of time to set FFMPEG on our Pi.

Is there something that we are missing here?

It doesn’t work even when the server is not expecting any authentication.

Any help will be greatly appreciated

Similar question : GStreamer + RTSP

Hi Everybody,

We are having a RaspberryPi which is connected to two cameras, and is supposed to send the streams to Wowza server.

Our Wowza server works great with GoCoder iPhone app.

We have GStreamer on RaspberryPi and are trying to stream using the following commands on an RTMP/RTSP open connection (no authentication)

 gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-h264,width=1920,height=1080,framerate=30/1 ! h264parse ! muxout. pulsesrc device="alsa_input.usb-046d_HD_Pro_Webcam_C920_5A8C986F-02-C920.analog-stereo" ! queue ! audioconvert ! voaacenc ! muxout. flvmux name=muxout streamable=true ! \ rtmpsink location =  'wowz://54.213.46.154:1935/liveStreamCam1/cam1'

What we get is the following:

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstPulseSrcClock
ERROR: RTMP_ReadPacket, failed to read RTMP packet header
ERROR: from element /GstPipeline:pipeline0/GstRTMPSink:rtmpsink0: Could not open resource for writing.
Additional debug info:
gstrtmpsink.c(214): gst_rtmp_sink_render (): /GstPipeline:pipeline0/GstRTMPSink:rtmpsink0:
Could not connect to RTMP stream "wowz://54.213.46.154:1935/liveStreamCam1/cam1" for writing
Execution ended after 0:00:03.223963639
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

We took a TCP dump and found that the connection is being refused with the message “Permission Denied”

The verbose messages are following:

........level...status..code...NetConnection.Connect.Success..description...Connection succeeded...data.......version..
3,5,7,7009.....clientid.A..I".....objectEncoding............
releaseStream.@...........cam1
C..........FCPublish.@...........cam1
C..........createStream.@........
...............onStatus.............level...error..code...NetStream.Publish.Denied..description..FRTMP
Publishing not allowed.  Client is not in list of valid 
encoders...clientid.A..I"......
...............onFCPublish.............level...status..code...NetStream.Publish.Start..description...FCPublish
to stream 
cam1...clientid.A..I"....................._result.@.........?.......
......"........publish.@...........cam1...live
...............onStatus.............level...error..code...NetStream.Publish.Denied..description..FRTMP
Publishing not allowed.  Client is not in list of valid 
encoders...clientid.A..I"......
C..........FCUnpublish.@...........cam1
C....."....deleteStream.@.........?.......

We tried using rtmp:// instead of wowz:// too! (wowz: certainly doesn’t look a fit here)

It says “NetStream.Publish.Denied description. FRTMP Publishing not allowed. Client is not in list of valid encoders”

Are there only certain kind of clients that Wowza will support?

Now, there’s a tutorial here on how to do it using FFMPEG, but we currently don’t have the liberty of time to set FFMPEG on our Pi.

Is there something that we are missing here?

It doesn’t work even when the server is not expecting any authentication.

Any help will be greatly appreciated

Hi Aman,

I would also like to stream my house entrance-area using Raspberry-PI.

Can you share more infos how to setup (which OS and tools to use for Raspberry-PI) this all? I have access to wowza-server.

That would be really great.

Many thanks in advance.

Cheers

Hi again, I wrote a message to your other post but

when I saw here

It says “NetStream.Publish.Denied description. FRTMP Publishing not allowed. Client is not in list of valid encoders”

IN wowza 4.1 there is a settings in Application-> incoming stream security

that

Flash Version String

Wirecast/|FME/|FMLE/|Wowza GoCoder*

and you can edit here.

Emre Karatasoglu

emre.karatasoglu@hotmail.com

LetheaSoftware

http://letheasoftware.com

http://emrekaratasoglu.com

ahhahaha :wink: Thanks; consider me as having drunk :slight_smile: cheers .

I’m not sure , you have to try like that, it seems there is a regex rule,I wish one of them work

Wirecast/|FME/|FMLE/|Wowza GoCoder*|Gstreamer/|Gstreamer/|Gstreamer

Oh great, that means it will look into some kind of UA string etc?

Okay, will try this.

And I was serious for buying you beer :wink:

yes , exactly that is UA as I understood. I guess that I’m far way from you ,I’m in Turkey :slight_smile: If you happen to pass by here,ur beer ready :slight_smile:

Thanks for the reply again!

(How can I buy you a beer? :slight_smile: )

Yes, there’s such an entry there in our Wowza server, but I am not sure what it does.

Should I change it to something?

I have almost no clue about it.

-Aman

Oh great, that means it will look into some kind of UA string etc?

Okay, will try this.

And I was serious for buying you beer :wink: