linx 系统 ffmpeg 推流 rtsp
# 安装FFmpeg
sudo apt update && sudo apt install ffmpeg -y
下载对应包:
wget https://github.com/aler9/rtsp-simple-server/releases/download/v0.21.6/rtsp-simple-server_v0.21.6_linux_amd64.tar.gz
启动 RTSP 服务器
./rtsp-simple-server
推流命令
当前为sh脚本文件内容
#!/bin/bash# 替换为你的视频文件实际路径(示例:~/视频/test.mp4)VIDEO_PATH="/home/lbw/docker_all/tensor02/mp4_out/ce1.mp4"# # 使用FFmpeg将本地视频文件推送到RTSP服务器
# # 核心命令及参数注释如下:
# ffmpeg \
# -re \ # 以视频原始帧率读取文件(模拟实时流,避免推流过快)
# -i "$VIDEO_PATH" \ # 输入文件路径($VIDEO_PATH是你的视频文件路径变量)
# -c:v libx264 \ # 指定视频编码器为libx264(即H.264编码,RTSP通用格式)
# -preset ultrafast \ # 编码速度预设:ultrafast表示最快速度(适合实时场景)
# -tune zerolatency \ # 编码优化:针对零延迟场景(实时推流必备)
# -c:a aac \ # 指定音频编码器为AAC(RTSP常用音频格式)
# -b:a 128k \ # 音频比特率:128kbps(平衡音质和带宽的常用值)
# -f rtsp \ # 指定输出格式为RTSP协议
# rtsp://192.168.1.16:8554/myvideo # 推流目标地址:本地8554端口的RTSP服务器,流名称为myvideo# FFmpeg推流命令
ffmpeg -re -i "$VIDEO_PATH" \-c:v libx264 \-preset ultrafast \-tune zerolatency \-c:a aac \-b:a 128k \-f rtsp \rtsp://192.168.1.16:8554/myvideo# # 带循环参数的FFmpeg推流命令(-stream_loop -1 表示无限循环)
# ffmpeg -re -stream_loop -i "$VIDEO_PATH" \
# -c:v libx264 \
# -preset ultrafast \
# -tune zerolatency \
# -c:a aac \
# -b:a 128k \
# -f rtsp \
# rtsp://192.168.1.16:8554/myvideo