首页 > 技术文章 > ZLMediaKit ubuntu初探

leehm 2021-06-22 14:35 原文

https://github.com/ZLMediaKit/ZLMediaKit

 

 

快速开始:
https://github.com/ZLMediaKit/ZLMediaKit/wiki/%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B

1.
请不要使用github下载zip包的方式下载源码,务必使用git克隆ZLMediaKit的代码,因为ZLMediaKit依赖于第三方代码,
zip包不会下载第三方依赖源码,你可以这样操作:
#国内用户推荐从同步镜像网站gitee下载
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
#千万不要忘记执行这句命令
git submodule update --init


2.
切换分支到dev,因为只有dev分支才有webrtc的支持
列出分支
git branch -a
切换到dev
git checkout dev


3. 直接使用脚本编译
./build_for_linux.sh

问题:1.
shell脚本报错:-bash: xxx: /bin/sh^M: bad interpreter: No such file or directory

https://blog.csdn.net/yamaxifeng_132/article/details/71105311

windows编辑的bash传到了linux下,windows下是dos方式,linux下是bash方式结尾

vim或者vi打开
:set ff
可以看到:
fileformat=dos

修改:
:set ff=unix

再次:set ff查看
fileformat=unix


问题:2.
会提示srtp找不到

最新libsrtp库的编译与测试方法
https://blog.csdn.net/cgs1999/article/details/89704359

git clone https://github.com/cisco/libsrtp.git
cd libsrtp

  ./configure
支持webrtc
  ./configure --enable-openssl

make
测试编译结果
make runtest
sudo make install

 

4. 再次运行脚本./build_for_linux.sh进行编译
编译完成的程序在
ZLMediaKit/release/linux/Debug下

 

5. 运行测试
cd ZLMediaKit/release/linux/Debug
./MediaServer
程序启动失败,请修改配置文件中端口号后重试

sudo ./MediaServer


推流:
//rtsp push
ffmpeg -re -i "./test.264" -vcodec h264 -acodec aac -f rtsp -rtsp_transport tcp rtsp://192.168.192.141/live/test

//rtmp push
ffmpeg -re -i "./test.264" -vcodec h264 -acodec aac -f flv rtmp://192.168.192.141/live/test


拉流查看
ffplay -i rtsp://192.168.192.141/live/test -fflags nobuffer

ffplay -i rtmp://192.168.192.141/live/test -fflags nobuffer


//延时
采用vlc或者或者别的播放器是无法查看延时的,为了卡顿,音视频同步等,会做buff处理,用ffplay会好点

 

效果如下截图:

rtmp

 

rtsp

另:

采用rtsp推流,rtmp拉流,或者rtmp推流,rtsp拉流也是可以的

 

 

webrtc

注意:前期如果编译libsrtp的时候没有开启openssl,此处会crash,重新编译就好

 

打开2个页面实现音视频通信,选择对应的分辨率
https://192.168.192.141/webrtc/

一个push
https://192.168.192.141/index/api/webrtc?app=live&stream=test&type=push
一个play
https://192.168.192.141/index/api/webrtc?app=live&stream=test&type=play

 

推荐阅读