gstreamer使用rtsp服务器
将videotestsrc推送为rtsp链接
- 先安装开发环境
# install gst-rtsp-server libs sudo apt-get install libgstrtspserver-1.0 libgstreamer1.0-dev # install gst-rtsp-server test server(1.14 is your gst version, checked by gst-lanch-1.0 --version) wget https://raw.githubusercontent.com/GStreamer/gst-rtsp-server/1.14/examples/test-launch.c gcc test-launch.c -o test-launch $(pkg-config --cflags --libs gstreamer-1.0 gstreamer-rtsp-server-1.0)
- 注意检查主机是否开放了防火墙端口,这里用
8554
端口演示如何开放sudo iptables -I INPUT -p tcp --dport 8554 -j ACCEPT sudo iptables -I OUTPUT -p tcp --sport 8554 -j ACCEPT
- 运行编译好的程序
./test-launch " videotestsrc ! x264enc ! rtph264pay name=pay0 pt=96 "
- 用vlc拉流
将videotestsrc推送到rtmp地址
gst-launch-1.0 videotestsrc ! "video/x-raw,format=YUY2,width=1920,height=1080,framerate=30/1" ! timeoverlay ! videoconvert ! x264enc ! flvmux ! rtmpsink location="rtmp://0.0.0.0/live/stream0"
- 时间大字体放到中间
gst-launch-1.0 videotestsrc ! "video/x-raw,format=YUY2,width=1920,height=1080,framerate=30/1" ! timeoverlay font-desc="Sans, 50" halignment=center valignment=center ! videoconvert ! x264enc ! flvmux ! rtmpsink location="rtmp://0.0.0.0/live/stream10"
用ffmpeg将mp4推送到rtmp
ffmpeg -re -i 'G:\majiao\电影\流浪地球2\流浪地球2.The.Wandering.Earth.Ⅱ.2023.2160p.WEB-DL.H265.AAC-GPTHD.mp4' -c:v libx264 -preset veryfast -b:v 3000k -maxrate 3000k -bufsize 6000k -c:a aac -b:a 128k -f flv rtmp://192.168.1.11/live/stream99