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

相关推荐
问道飞鱼4 小时前
【工具介绍】Ffmpeg工具介绍与简单使用
ffmpeg·视频工具
l***77529 小时前
从MySQL5.7平滑升级到MySQL8.0的最佳实践分享
ffmpeg
ZouZou老师15 小时前
FFmpeg性能优化经典案例
性能优化·ffmpeg
aqi0017 小时前
FFmpeg开发笔记(九十)采用FFmpeg套壳的音视频转码百宝箱FFBox
ffmpeg·音视频·直播·流媒体
齐齐大魔王19 小时前
FFmpeg
ffmpeg
你好音视频21 小时前
FFmpeg RTSP拉流流程深度解析
ffmpeg
IFTICing1 天前
【环境配置】ffmpeg下载、安装、配置(Windows环境)
windows·ffmpeg
haiy20111 天前
FFmpeg 编译
ffmpeg
aqi001 天前
FFmpeg开发笔记(八十九)基于FFmpeg的直播视频录制工具StreamCap
ffmpeg·音视频·直播·流媒体
八月的雨季 最後的冰吻2 天前
FFmepg--28- 滤镜处理 YUV 视频帧:实现上下镜像效果
ffmpeg·音视频