编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

ZLMediaKit教程(五)支持webrtc(zlmediakit 配置)

wxchong 2024-08-08 01:02:42 开源技术 34 ℃ 0 评论

ZLMediaKit系列文章(共六篇):

ZLMediaKit流媒体(一)编译安装

ZLMediaKit教程(二)主程序和配置文件解析

ZLMediaKit教程(三)URL规则

ZLMediaKit教程(四)HTTP API

本文为第5篇:ZLMediaKit教程(五)支持webrtc

环境

  • ubuntu 18.04 64bit
  • ZLMediaKit 20210924
  • ffmpeg 3.4.8

webrtc是什么

WebRTC 是 Web Real Time Communication 的缩写,也被称为网络实时通信,是由 Google 和其他一些大公司推动的一个开源项目,它通过 Javascript API 来实现无插件的实时通信。WebRTC 促进了浏览器到浏览器的语音呼叫、视频聊天和文件共享应用的大力发展。目前大多数浏览器已经支持了 webRTC 。

C++音视频开发ZLMediaKit+WebRTC学习资料点击莬费领取音视频开发(资料文档+视频教程+面试题)(FFmpeg+WebRTC+RTMP+RTSP+HLS+RTP)

下图是 WebRTC 的架构图

  • 最上层的 web app,是 Web 开发者自己开发的程序,主要利用的是 javascript 的 web api
  • web api,WebRTC 标准的 API (javascript 版),由 w3c 来维护
  • 媒体层,这里就笼统来讲,它是 WebRTC 的底层核心部分,包括了音频和视频数据的采集、编码、传输,除此之外,还有会话的管理、点对点的链接等,采用的 C++ 语言编写

实践

安装 openssl,ubuntu 18.04 对应的 openssl 版本是 1.1.1

sudo apt-get install libssl-dev

如果你的操作系统版本比较老的话,也可以从源码开始安装 openssl,命令如下

git clone https://github.com/openssl/openssl.git
cd openssl
./config
make 
sudo make install

然后是安装 libsrtp,即 Secure Realtime Transport Protocol,方法还是熟悉的老三样 configure、make 和 make install

git clone https://github.com/cisco/libsrtp.git
cd libsrtp
./configure --enable-openssl
make
sudo make install

最后来编译 ZLMediaKit

cd ZLMediaKit
mkdir build
cd build

# 加入webrtc的编译选项
cmake .. -DENABLE_WEBRTC=on
make

在 cmake 的时候注意看看输出信息,确保 webrtc 功能已开启

编译成功后,生成的可执行文件在 release/linux/MediaServer

接下来,就可以启动服务了

sudo ./MediaServer -d

然后,使用 ffmpeg 推送一个本地视频文件到服务器

ffmpeg -re -i test.mp4 -vcodec h264 -acodec aac -f flv rtmp://127.0.0.1/live/test

完成后,我们打开 chrome 浏览器,输入 http://192.168.1.140,这个 ip 地址是 MediaServer 服务器的地址

C++音视频开发ZLMediaKit+WebRTC学习资料点击莬费领取音视频开发(资料文档+视频教程+面试题)(FFmpeg+WebRTC+RTMP+RTSP+HLS+RTP)

选择 6 webrtc,这里我们没有证书,所以忽略掉 https 的警告

设置下分辨率,点击开始,上方的播放器就开始播放推送的视频了

如果你对音视频开发感兴趣,或者对本文的一些阐述有自己的看法,可以在下方的留言框,一起探讨。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表