快捷搜索: 王者荣耀 脱发

模拟RTSP服务器实现实时推流

前言

搭建本服务器主要是为了利用FFmpeg进行各种音视频codec的转换输出,验证客户端的解码器兼容情况。当然也可以采用其他的方案来替代。

1 ZLMediaKit开源项目搭建

1.1 源码下载

这里比较人性的一点是提供了比较详细的wiki文档

https://gitee.com/xia-chu/ZLMediaKit

编译环境是Ubuntu18.04版本,官方推荐是强烈建议使用ubuntu16或更新版本编译ZLMediaKit。

git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit cd ZLMediaKit #千万不要忘记执行这句命令 git submodule update --init

1.3 依赖库

这里安装了几个比较重要的库,一个是openssl,另一个是FFmpeg,用于后续推流使用

#除了openssl,其他其实都可以不安装 sudo apt-get install libssl-dev sudo apt-get install libsdl-dev sudo apt-get install libavcodec-dev sudo apt-get install libavutil-dev sudo apt-get install ffmpeg

1.4 编译

编译基本照着文档没啥大问题,接下来就是静静等着编译完成。

cd ZLMediaKit
mkdir build
cd build
#macOS下可能需要这样指定openss路径:cmake .. -DOPENSSL_ROOT_DIR=/usr/local/Cellar/openssl/1.0.2j/
cmake ..
make -j4

1.5 测试

编译完成后会在release目录下生成对应可执行文件 启动服务器:失败了查看下下面的日志,这边只报了一个端口被占用,修改下同目录下的配置文件config.ini即可。

./MediaServer

2 FFmpeg推流

这里主要是模拟mpeg4编码进行推流

ffmpeg -re -i “/home/learn/testvideo/Titanic.ts” -vcodec mpeg4 -f rtsp -rtsp_transport tcp rtsp://192.168.88.140/live/test

推流成功可以看到MediaServer下方的log: rtsp监控采用的是vlc进行:

经验分享 程序员 微信小程序 职场和发展