gstreamer使用rtsp服务器

  1. 教程网址https://gist.github.com/hum4n0id/2760d987a5a4b68c24256edd9db6b42b#stream-web-camjetson-nano

将videotestsrc推送为rtsp链接

  1. 先安装开发环境
    # 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)
    
  2. 注意检查主机是否开放了防火墙端口,这里用8554端口演示如何开放
    sudo iptables -I INPUT -p tcp --dport 8554 -j ACCEPT
    sudo iptables -I OUTPUT -p tcp --sport 8554 -j ACCEPT
    
  3. 运行编译好的程序
    ./test-launch " videotestsrc ! x264enc ! rtph264pay name=pay0 pt=96 "
    
  4. 用vlc拉流

将videotestsrc推送到rtmp地址

  1. 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"
  2. 时间大字体放到中间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

  1. 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
posted @ 2023-05-05 17:37  马角的逆袭  阅读(1315)  评论(0编辑  收藏  举报