树莓派CM4——使用MetaRTC3.0集成ffmpeg实现webrtc推拉流

一、前言

由于项目需要实时语音通讯,集成了国内大神MetaRTC3.0功能

原文如下:

https://blog.csdn.net/m0_56595685/article/details/124366760?spm=1001.2014.3001.5502

在这里插入图片描述


1、本文属于新手向,主要讲编译过程;

2、文章超长,图片众多,且编译过程非常耗时;

3、请一定要按顺序弄,自由发挥容易出问题,不要问我怎么知道的。。。。。。


二、环境

1、硬件准备

(1)我手上的的是CM4带emmc的版本(lite的直接刷SD卡上就行了)

(2)淘宝买的IO板

这个是链接

2、刷系统

(1)刷系统前将这两个跳线帽插上在这里插入图片描述
(2)win10上安装这个驱动

下载地址

(3)安装目录打开这个 rpiboot.exe
在这里插入图片描述
打开后状态如下:
在这里插入图片描述
(4)然后用type-c线将接IO板子上的type-c口和win10的usb口连接

在这里插入图片描述

(5)连接成功显示如下内容(窗口会自动关闭)
在这里插入图片描述
(6)然后就能在win10上看到被识别为u盘了
在这里插入图片描述
(7)官方烧写工具下载地址 安装后选择这个操作系统
在这里插入图片描述

提示:emmc烧系统时很慢,请耐心等待

这个工具还有个新功能,就是在烧系统时自动写入设置,省去好多麻烦,强力推荐!
在这里插入图片描述

3、准备开机

烧完系统后,断电,将两个跳线帽都拔下来,重新上电


三、编译安装NASM

参考文章

1、下载:

原链接
国内链接

2、安装:

tar xvf nasm-2.15.05.tar.bz2

cd nasm-2.15.05

./configure

make

sudo make install

四、编译安装X264

参考文章

1、下载:

原链接
国内链接

2、安装:

tar xvf x264-master.tar.bz2

cd x264-master
./configure --host=arm-linux --cross-prefix=/usr/bin/aarch64-linux-gnu- --disable-asm --enable-shared

make

sudo make install

sudo cp _install/include /usr/ -rf

sudo cp _install/lib /usr/ -rf

五、安装集成了metaRTC的ffmpeg

说明:这个里边包含ffmpeg和metaRTC

1、下载:

原链接
国内链接

2、编译第三方包

unzip ffmpeg-metartc-main.zip

cd ffmpeg-metartc-main/FFmpeg-n4.3.3/metartc3

文件夹中包含这个3个包,都需要编译
在这里插入图片描述

参考文章链接

(1) srtp2
tar xvf libsrtp-2-fit.tar.gz

cd libsrtp-2-fit

./configure

找到这个文件
在这里插入图片描述
在第82行插入static
在这里插入图片描述
修改完效果在这里插入图片描述

参考文章链接

修改完上边的文件后再编译(否则报错,不信你试试)

make

make成功如下图
在这里插入图片描述

sudo make install
(2) openssl-1.1-fit
tar xvf openssl-1.1-fit.tar.gz

cd openssl-1.1-fit/

export CC=/usr/bin/aarch64-linux-gnu-gcc

./Configure linux-aarch64

make

sudo make install
(3) SpeexDSP
sudo apt-get install -y autoconf automake libtool

你没看错,确实需要先安装这个。。。。。。

tar xvf speexdsp-SpeexDSP-1.2.0.tar.gz

cd speexdsp-SpeexDSP-1.2.0/

sh autogen.sh

./configure

make

sudo make install

看到这是不是快受不了了???
😉😉😉😉😉😉

还没完呢,让我们继续!!!

(4) metaRTC-3.0release
1) 下载:

原链接
国内链接

2) 编译:
sudo apt-get install cmake

你没看错,确实需要先安装这个。。。。。。

unzip metaRTC-3.0release.zip

cd metaRTC-3.0release/libmetartccore3

sh cmake_arm.sh

cd build

ls

确认是否有这个文件
在这里插入图片描述

sudo cp libmetartccore3.a /usr/local/lib 

3、万事具备,主角登场:

(1)回到主目录
cd ~/mateRTC3/ffmpeg-metartc-main/FFmpeg-n4.3.3/

先来个写真
在这里插入图片描述

(2)东风起兮云飞扬!

折腾半天就是为了这个。。。。。。

./configure --enable-shared --enable-libx264 --enable-gpl --extra-libs='-L/path/metartc3 -lmetartccore3 -lspeexdsp -lpthread -lsrtp2 -lssl -lcrypto -ldl'

在这里插入图片描述
当你看见这个画面说明成功了
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

然后是漫长的make,大概30分钟吧…Orz

make

sudo make install
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
敬告:该系列的课程在抓紧录制更新中,敬请大家关注。敬告: 该系列的课程涉及:FFmpeg,WebRTC,SRS,Nginx,Darwin,Live555,等。包括:音视频媒体、直播、Android、视频监控28181、等。 我将带领大家一起来学习WebRTC原理和编程知识,并动手搭建环境完成网页视频会话和文字聊天。具体内容包括: 一、Html与JavaScript小白入门二、WebRTC小白入门与程原理分析三、网络打洞STUN和TURN四、信令服务器的原理与实战五、手撕WebRTC程与代码六、亲自敲码踩坑搭建视频会话   音视频媒体是一门很复杂的技术,涉及的概念、原理、理论非常多,很多初学者不学 基础理论,而是直接做项目,往往会看到c/c++的代码时一头雾水,不知道代码到底是什么意思,这是为什么呢? 因为没有学习音视频媒体的基础理论,就比如学习英语,不学习基本单词,而是天天听英语新闻,总也听不懂。所以呢,一定要认真学习基础理论,然后再学习播放器、转码器、非编、媒体直播、视频监控、等等。 梅老师从事音视频媒体行业18年;曾在永新视博、中科大洋、百度、美国Harris广播事业部等公司就职,经验丰富;曾亲手主导广电直播全套项目,精通h.264/h.265/aac,曾亲自参与百度app上的网页播放器等实战产品。目前全身心自主创业,主要聚焦音视频+媒体行业,精通音视频加密、媒体在线转码快编等热门产品。    

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值