GStreamer UDP 推流拉流操作¶
1. GStreamer 推流命令¶
1.1 linux 基础推流(MPEG-TS over UDP)¶
gst-launch-1.0 filesrc location=Transformers_1080p60.mp4 \
! decodebin \
! x264enc \
! mpegtsmux \
! udpsink host=192.168.5.188 port=5600
1.2 windows VLC推流¶
1. 打开 VLC → 媒体 → 流
2. 添加源
- 点击「添加」选择视频文件,或选择「捕获设备」用摄像头
3. 点击「串流」按钮
4. 下一步 → 新建目标,选择 UDP(传统)
5. 填写目标地址:
- 地址:
192.168.168.188 - 端口:
5600(常用FPV端口,可自定义) - 点击「添加」
6. 转码设置(关键)
- 勾选「激活转码」
- 选择配置文件,点击编辑(扳手图标)
- 视频编解码器选
H264 - 封装格式选
MPEG-TS(UDP必须用TS封装) - 音频可以取消勾选(FPV不需要)
7. 点击「流」开始推流

1.3 ffmpeg 推流命令¶
ffmpeg -re -stream_loop -1 -i Transformers_1080p60.mp4 -an \
-c:v libx264 -preset veryfast -tune zerolatency \
-pix_fmt yuv420p -profile:v baseline -g 30 \
-x264-params keyint=30:min-keyint=30:scenecut=0 \
-f rtp -payload_type 96 "rtp://192.168.1.102:5600?pkt_size=1200"
优化推流段
ffmpeg -re -stream_loop -1 -i Transformers_1080p60.mp4 -an \
-c:v libx264 -preset ultrafast -tune zerolatency \
-pix_fmt yuv420p -profile:v baseline -g 60 \
-b:v 1000k -maxrate 1000k -bufsize 1000k \
-x264-params keyint=30:min-keyint=30:scenecut=0:nal-hrd=cbr \
-f rtp -payload_type 96 "rtp://192.168.1.102:5600?pkt_size=1316"
循环推送的呢:
ffmpeg -re -stream_loop -1 -i ./videos/nfs_v/Cold2520Winter2520Dream-HD3_1.mp4.mp4 -an \
-vf "scale=1280:720,fps=30" \
-c:v libx264 -preset ultrafast -tune zerolatency \
-pix_fmt yuv420p -profile:v baseline -bf 0 \
-b:v 800k -maxrate 800k -bufsize 400k \
-g 30 \
-x264-params keyint=30:min-keyint=30:scenecut=0:nal-hrd=cbr \
-f rtp -payload_type 96 "rtp://192.168.1.102:5600?pkt_size=1200"