Openwrt下使用ffmpeg配合自建RTSP服务器实现推流

目前在Openwrt下时mjpg_streamer实现UVC摄像头转网络摄像头的方案很多,这种方案视频服在路由模组中,在局域网中使用很方便。但是对于需要远程监控管理的情况,mjpg_streamer不适应,因为不在局域网中的播放器无法访问到路由模组中的视频服。这里介绍使用ffmpeg将本地视频推送到云端服务器的方法,下面以SKYLAB的SKW99模组为例进行说明。

(1)将ffmepg编译到固件中

openwrt一般默认支持ffmpeg,SKW99在make menuconfig中,对应的路径如下:

(2)视频服

这里使用rtsp视频服务器,由于条件有限,选择自己搭建,方法如下:

环境搭建

复制代码
sudo apt-get install build-essential
sudo apt-get install cmake    //版本需要大于3.2

sudo apt-get install libssl-dev libsdl-dev libavcodec-dev libavutil-dev ffmpeg
sudo apt-get install libsdl-dev
sudo apt-get install libavcodec-dev
sudo apt-get install libavutil-dev
sudo apt-get install ffmpeg

源码下载:

复制代码
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit.git

cd ZLMediaKit

编译:

复制代码
mkdir build
cd build
cmake ..
make -j4

运行:

复制代码
cd release/linux/Debug
vim config.ini    //修改视频服的端口号
./MediaServer    //运行服务器
./MediaServer -d &    //守护进程模式启动

(3)测试

在SKW99接好摄像头后,运行如下命令:此时服务器端的IP为192.168.8.193,对应rtsp的端口为5541:

推送mjpeg视频流:

复制代码
ffmpeg -f video4linux2 -input_format mjpeg -framerate 15 -video_size 640x480 -i /dev/video0 -vcodec copy -rtsp_transport tcp -f rtsp rtsp://192.168.8.193:5541/live/livestream

设备端运行输出:

【分辨率640x480/15帧】:使用带宽11.5Mbps左右,视频有延时,不卡顿;

在rtsp服务器端的输出:

使用vlc查看视频流:rtsp://192.168.8.193:5541/live/livestream

相关推荐
棒棒的唐12 小时前
OpenWrt 25.12 版本概览
openwrt
luoqice13 小时前
RTMP视频流的帧格式分析
网络·ffmpeg
老姚---老姚1 天前
编译支持HEVC/H.265 over RTMP / Enhanced RTMP 的 ffmpeg
ffmpeg·h.265·hevc·rtmp·enhanced
滴水之功2 天前
调试OpenWrt的iw组件的link.c文件
wifi·openwrt
码流怪侠2 天前
FFmpeg 开发实战全解析:从入门到精通(附完整代码示例)
ffmpeg·音视频开发·视频编码
圆弧YH2 天前
FFmpeg
ffmpeg
luoqice3 天前
FLV文件格式详解
ffmpeg
happybasic3 天前
在CMD下使用FFmpeg将.wav文件转换成指定的格式~
ffmpeg
shao9185164 天前
第10章 Streaming(上):初级音频应用(1)——项目三:自建服务器的Mini-Omni实时语音聊天机器人
ffmpeg·whisper·asr·mini-omni·自建语音服务器
Leon_Chenl4 天前
【已开源】【嵌入式 Linux 音视频+ AI 实战项目】瑞芯微 Rockchip 系列 RK3588-基于深度学习的人脸门禁+ IPC 智能安防监控系统
深度学习·opencv·yolo·ffmpeg·音视频·边缘计算·人脸识别+检测