Stream gstreamer to nginx rtmp server

PS: The first gstreamer user is here. :)

Im trying to transfer video from a logitech c920 webcam connected to beaglebone using gstreamer to a nginx server. But for some reason rtmpsink fails. However, with fileink im you can save the video to beaglebone. Although I still have problems with frame loss and no sound, I want the streaming part to work first. Im command uses

GST_DEBUG=4 GST_DEBUG_FILE=gst2.log gst-launch-1.0 -v -e uvch264src device=/dev/video0 name=src auto-start=true average-bitrate=5000000 iframe-period=33 src.vidsrc ! queue ! video/x-h264,width=1920,height=1080,framerate=30/1 ! h264parse ! flvmux ! rtmpsink location="rtmp://192.168.1.104:1935/hls/movie" 

My debugging output is here. gist

gstreamer just shuts down in 5 seconds.

I checked that the streaming server is working. But from the client, gstreamer does not give me any error messages. Or I donโ€™t know how to properly debug it.

I have been stuck on this issue for so many days. Any help would be greatly appreciated.

Thanks.

Update 1

: I can send a local file to my rtmp server using ffmpeg, and the server processes it as expected.

 ffmpeg -re -i /Users/r3dsm0k3/10.mp4 -vprofile baseline -ar 44100 -ac 1 -c copy -f flv rtmp://192.168.1.4:1935/hls/example 

Tried gstreamer with fakesink and it gives no errors.

Update 2

I also tried v4l2src, with no luck.

+6
source share
1 answer

Finally figured it out. It was pretty simple, but server side.

I needed to add publish_time_fix off; to the nginx configuration for the rtmp server.

Thanks to this blog .

+4
source

Source: https://habr.com/ru/post/977034/


All Articles