rk3568开发笔记之用ZLMediaKit实现rtsp推流服务

目标

本次实验是将rk3568开发板中的MP4和h264文件用以rtsp的方式进行推流,笔记本用vlc进行拉流。


交叉编译openssl

ZLMediaKit的编译依赖openssl,因此,我们要首先编译openssl。

ffpmeg也要编译,但是我之前编译过,这里我就不做介绍了,大家看看其他博主的分享吧。

我用的版本是openssl-1.1.1,大家可以根据自己想需要自行下载其它版本:

https://openssl-library.org/source/old/index.html

1、解压openssl-1.1.g.tar.gz:
    tar zxvf openssl-1.1.1.tar.gz
2、进入openssl-1.1.g文件:
	cd openssl-1.1.g
3、创建 _install文件夹
	mkdir _install
4、开始编译
    ./Configure linux-aarch64 no-asm shared no-async --prefix=/home/l/opt/tool/openssl-1.1.1f/_install --cross-compile-prefix=aarch64-buildroot-linux-gnu-

make && make install

注意:安装路径设置为自己的路径

交叉编译ZLMediaKit

按照官方文档下载源码

快速开始 | ZLMediaKit

# 国内用户推荐从 Gitee 下载
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
# 初始化子模块 (必须执行)
git submodule update --init
编译:
mkdir build

cd build

cmake -D CMAKE_C_COMPILER=/home/l/opt/itop_rk3568_linux/rk356x_linux/buildroot/output/rockchip_rk3568/host/bin/aarch64-buildroot-linux-gnu-gcc -D CMAKE_CXX_COMPILER=/home/l/opt/itop_rk3568_linux/rk356x_linux/buildroot/output/rockchip_rk3568/host/bin/aarch64-buildroot-linux-gnu-g++ -DOPENSSL_ROOT_DIR=/home/l/opt/tool/openssl-1.1.1f/_install -DOPENSSL_LIBRARIES=/home/l/opt/tool/openssl-1.1.1f/_install/lib ..

make -j4


注意:这里cmake的时候要将openssl的目录以及库添加进来

编译好后,生成的可执行文件存放在 ZLMediaKit/release/linux/Debug

本次测试需要将三个文件导入到板子中:

libmk_api.so:推流程序所以来的库

MediaServer:对MP4文件进行推流

apt_tester_h264_media_server:对h264文件进行推流


对MP4文件推流

确保板子里面有MP4格式的视频文件,我进行演示的文件只有视频没有音频,如果播音频有问题,可以去上面我提供的官网有指令。

运行:

# 通过 -h 可以了解启动参数

./MediaServer -h

# 以守护进程模式启动

./MediaServer -d &

#开始推流

ffmpeg -re -stream_loop -1 -i 720x576_v3.mp4 -vcodec copy -acodec copy -f rtsp -rtsp_transport tcp rtsp://192.168.1.166:554/live/camera

注意:MP4文件和推流地址,大家根据自己的需求自行更改即可,ip是板子里面有线ip地址

vlc拉流:


对h264文件推流

确保板子里面有h264格式的视频文件,我进行演示的文件只有视频没有音频,如果播音频有问题,可以看上一个推流说明。

我没有更改源码,发现apt_tester_h264_media_server.c的源码,发现运行过程中有段错误,因此对源码做了更改,如下。

运行:

./api_tester_h264_media_server /app_save/sun/mpp/720x576_v2.h264 

拉流地址为:

rtsp://192.168.1.166:554/live/test

 流的地址在代码里面写的有,想更改的话,修改代码即可。

注意:ip是板子里面有线ip地址

vlc拉流:

参考:

基于Linux下openssl交叉编译详解_linux openssl交叉编译-CSDN博客

使用ZLMediaKit搭建服务器实现推流拉流_zlmediakit服务器-CSDN博客

https://www.cnblogs.com/zeliangzhang/p/17885935.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值