ffmpeg-metartc推webrtc流(4.0版本)

Posted setfiretoyou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ffmpeg-metartc推webrtc流(4.0版本)相关的知识,希望对你有一定的参考价值。

git clone https://gitee.com/metartc/ffmpeg-metartc

切换到最新的版本
[root@centos7-81-17 ffmpeg-metartc]# git branch --all
* (detached from origin/main)
  main
  remotes/origin/2.0release
  remotes/origin/3.0release
  remotes/origin/HEAD -> origin/main
  remotes/origin/main


git clone https://gitee.com/metartc/metaRTC.git

切换到4.0release

[root@centos7-81-17 metaRTC]# git branch --all
* (detached from origin/4.0release)
  develop
  remotes/origin/2.0release
  remotes/origin/3.0release
  remotes/origin/4.0release
  remotes/origin/HEAD -> origin/develop
  remotes/origin/develop
  remotes/origin/main


 cd libmetartccore4

./cmake_x64.sh 编译出libmetartccore4.a

将libmetartccore4.a拷贝到ffmpeg-metartc/FFmpeg-n4.3.3/metartc4目录

由于metaRTC4.0支持聊天数据传输,依赖SCTP,需要下载SCTP代码并编译出静态库

git clone https://github.com/sctplab/usrsctp.git

将libusrsctp.a拷贝到ffmpeg-metartc/FFmpeg-n4.3.3/metartc4目录

然后编译ffmpeg-metartc/FFmpeg-n4.3.3/metartc4下面自带的

openssl-1.1-fit

speexdsp-SpeexDSP-1.2.0

libsrtp-2-fit

将生成的.a拷贝到ffmpeg-metartc/FFmpeg-n4.3.3/metartc4目录

[root@centos7-81-17 metartc4]# ls -al *.a
-rw-r--r-- 1 root root 5607836 Jun 14 13:39 libcrypto.a
-rw-r--r-- 1 root root  917840 Jun 14 16:50 libmetartccore4.a
-rw-r--r-- 1 root root  417998 Jun 14 13:43 libspeexdsp.a
-rw-r--r-- 1 root root  179618 Jun 14 13:35 libsrtp2.a
-rw-r--r-- 1 root root 1022064 Jun 14 13:39 libssl.a
-rw-r--r-- 1 root root 3047764 Jun 14 16:07 libusrsctp.a

集齐以上.a就可以在ffmpeg-metartc/FFmpeg-n4.3.3这个目录下

./configure --enable-libx264 --enable-gpl --extra-libs='-L/ffmpeg-metartc/FFmpeg-n4.3.3/metartc4 -lmetartccore4 -lusrsctp -lpthread -lspeexdsp -lsrtp2 -lssl -lcrypto -ldl'

然后make

生成ffmpeg就可以推流了。

./ffmpeg -stream_loop -1 -re -i source.200kbps.768x320.flv -acodec opus -strict -2 -ar 48000 -vcodec h264 -f webrtc webrtc://10.21.19.18/live/hahhaha

技术WebRTC开源技术平台新版EasyRTC如何获取推流信息列表?

我们的EasyRTC平台是基于开源框架WebRTC的一项互联网音视频会议云服务平台,可广泛应用于视频会议、企业远程培训、在线教育、远程医疗、社交娱乐、视频客服等场景中。

随着WebRTC技术的不断崛起,视频会议系统也迎来了全新的模式,TSINGSEE青犀视频结合WebRTC和RTMP/RTSP技术的优点,开发出EasyRTC平台,支持一对一、一对多等视频会议互动通话等功能,可满足用户的多场景视频通话需求。

在此前的文章中我们也提过,EasyRTC的平台正在进行全新升级开发中,今天和大家分享一些最新的开发动态。

在EasyRTC平台中,视频会议开启后会将流推到流媒体内核中进行转发,那么就需要获取流媒体中正在推流的信息列表,并返回HLS、FLV、RTMP播放地址等其他信息。通过以下代码可以实现这个需求功能。

接口调用并返回值效果如下:

代码逻辑:

其中HLS、FLV、RTMP播放地址拼接方法:

在5G即将商用的时代下,更高的传输速率,更低的网络时延,更大的通讯容量将成为常态化,音视频通话技术的应用场景也将会进一步扩大和延伸。EasyRTC凭借其稳定的性能、可灵活拓展、轻量化部署、操作便捷等特点,也将在市场中迎来值得期待的应用前景。尤其是当前全球疫情的影响,视频云会议服务则能更好地解决居家办公、跨地域沟通等问题。

欢迎大家关注我们获取更多信息。

以上是关于ffmpeg-metartc推webrtc流(4.0版本)的主要内容,如果未能解决你的问题,请参考以下文章

技术WebRTC开源技术平台新版EasyRTC如何获取推流信息列表?

将本地 WebRTC 流推送到云端的 NodeJS 服务器

SRS4 对接海康威视GB28181协议推流 RTMP、webRTC拉流

Qt推流程序自动生成网页远程查看实时视频流(视频文件/视频流/摄像头/桌面转成流媒体rtmp+hls+webrtc)

metaRTC4.0集成ffmpeg编译

TSINGSEE青犀视频开发单通道 Go WebRTC服务端拉流接口无响应导致程序堵塞如何处理?