Android WebRtc+SRS/ZLM视频通话(2):安装SRS

news2024/12/28 19:45:47

Android WebRtc+SRS/ZLM视频通话(2):安装SRS

来自奔三人员的焦虑日志

接着上一章内容,继续来安装开源流媒体系统(SRS),可以按官方教程或者直接问ChatGPT安装教程,又或者百度一下照着大佬们的教程来安装都可以。我这里尝尝鲜,照着ChatGPT来试一下看看可不可行。

ChatGPT提问记录


我的提问:

ubuntu安装srs,支持webrtc推拉流

AI回答:

要在Ubuntu上安装SRS并支持WebRTC推流和拉流,可以按照以下步骤进行操作:
1、安装依赖项:

sudo apt-get update
sudo apt-get -y install git build-essential libpcre3-dev libssl-dev libxml2-dev libexpat1-dev libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libqt4-dev zlib1g-dev

2、克隆SRS源代码并切换到最新的WebRTC分支:

git clone https://github.com/ossrs/srs.git
cd srs
git checkout webrtc

3、编译并安装SRS:

./configure --with-webrtc --with-hls --with-nginx --with-ffmpeg --prefix=/usr/local/srs
make
sudo make install

4、配置SRS: 编辑SRS配置文件/usr/local/srs/conf/srs.conf,在文件末尾添加以下内容:

rtc_server {
    enabled         on;
    listen          1935;
    ssl_listen      443;
    ssl_certificate cert.pem;
    ssl_private_key cert.key;
}

5、启动SRS:

sudo /usr/local/srs/objs/srs -c /usr/local/srs/conf/srs.conf

具体实践:

打开Ubuntu终端,切换到root账户,按ChatGPT回答的密令进行操作。
在这里插入图片描述

这里出个小插曲,由于国内直接拉取github代码比较耗时,我这里是先拉到电脑(YOU TIZI),再由电脑传到虚拟机(这里的方式有很多,如共享盘、xftp、lrzsz等),我这里用的lrzsz,Ubuntu安装lrzsz,然后就可以在电脑上用Xshell来进行上传了。

注意:如果没安装openssh-server,是没办法进行ssh连接的,所以要先安装。

sudo apt-get install openssh-server

安装lrzsz,可以直接用Xshell上传文件。

sudo apt install lrzsz

可能是提问的方式不对,从上面的回答来看,意思是先拉取代码,再切换到webrtc分支,但具体实操下来会发现,根本没有这个分支。
在这里插入图片描述
在这里插入图片描述

官方文档安装


看来解决这个问题还得从官方文档下手,具体看:https://ossrs.net/lts/zh-cn/docs/v4/doc/getting-started-build,直接照着官网的文档来编译。
在这里插入图片描述
注意:如果还没安装cmake和ffmpeg,先安装再进行编译。下面是一些常用的依赖,可以根据需求安装。

sudo apt-get install cmake
sudo apt-get install -y tclsh
sudo apt-get install libssl-dev
sudo apt-get install libsdl-dev
sudo apt-get install libavcodec-dev
sudo apt-get install libavutil-dev
sudo apt-get install ffmpeg

装好后进入/srs/trunk目录修改一下srs.config配置文件,把rtmp转rtc打开,因为我是rtmp推流上来,再用webrtc去拉流。

vim conf/srs.conf

在这里插入图片描述
启动srs后,使用 FFmpeg(点击下载) 、 OBS(点击下载) 或者其他推流工具进行推流,APK推流可以用rtmp-rtsp-stream-client-java、腾讯云视立方等进行推流。

推流地址的ip换成自己的,由于我这里是内网环境,推流端需要和服务器在同一个网段下。

rtmp://192.168.1.172/live/livestream

推流成功后,打开浏览器,进入http://localhost:8080/players/rtc_player.html,点击播放视频即可看到手机推上来的视频页面。
在这里插入图片描述
在这里插入图片描述

第二章到这里就结束了,下节继续记录如何安装ZLMediaKit,占用您的垃圾时间了,实在对不住

THE END


感谢查阅
玉念聿辉:编辑

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/502926.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

别开玩笑了!特种兵式旅游,胆小勿进!

【大学生特种兵旅游】是什么梗? 最近在多御浏览器上看新闻的时候看到一个热梗【大学生特种兵旅游】这又是什么梗!!!老阿姨震惊了! 我随即搜索了一下,看到了下面这段介绍: 近日,“特种…

【SpringBoot集成Nacos+Dubbo】企业级项目集成微服务组件,实现RPC远程调用

文章目录 一、需求环境/版本 二、须知2.1、什么是RPC?2.2、什么是Dubbo?2.3、什么是Nacos? 三、普通的SpringBoot项目集成微服务组件方案(笔者给出两种)方案一(推荐)1、导入maven依赖&#xff0…

rocketmq4.9.4 docker安装

rocketmq4.9.4 给对应的路径赋权 chmod -R 777 文件名 不然启动可能报错后者看不到容器日志 systemctl status firewalld 查看防火墙状态 https://www.jianshu.com/p/0c1c3c679ef8 Docker部署RocketMQ(4.9.4)官方镜像和控制台windows、mac、linux全平…

20230508在Ubuntu22.04下使用python3批量转换DOCX文档为TXT

20230508在Ubuntu22.04下使用python3批量转换DOCX文档为TXT 2023/5/8 16:27 在WIN10下请参考本文,在Ubuntu22.04下需要不通的插件! https://blog.csdn.net/weixin_46255747/article/details/129961988 python实现批量docx转txt docx文档放到input目录中。…

Origin如何绘制二维图形?

文章目录 0.引言1.函数绘图2.线图3.符号图4.点线符号图5.柱状/条形/饼图6.多面板/多轴图7.面积图8.专业图9.主题绘图 0.引言 因科研等多场景需要绘制专业的图表,笔者对Origin进行了学习,本文通过《Origin 2022科学绘图与数据》及其配套素材结合网上相关资…

stable diffusion模型讲解

AI模型最新展现出的图像生成能力远远超出人们的预期,直接根据文字描述就能创造出具有惊人视觉效果的图像,其背后的运行机制显得十分神秘与神奇,但确实影响了人类创造艺术的方式。 AI模型最新展现出的图像生成能力远远超出人们的预期&#xf…

PyCharm使用 Anaconda安装TensorFlow

1.安装python全家桶Anaconda 1.1 官网 https://www.anaconda.com/ 进入官网后如下图所示,点击Download即可开始下载(若无法下载,请转至清华源下载) 1.2 清华 https://repo.anaconda.com/archive/ 2.Anaconda安装 点击Next -…

libssh2交叉编译和测试

目录 官方地址:https://www.libssh2.org/ 1.源码下载 2.交叉编译 3.测试代码 官方地址:https://www.libssh2.org/ 正常来说,看官网说明和例子都能正常编译和使用,想偷个懒的就参考以下步骤。 1.源码下载 我当前看到的版本是li…

【二分查找】求解单调方程的解 C++实现

目录 1 问题2 想法3 二分查找4 实现4-1 伪代码说明4-2 C11 1 问题 有函数 f ( x ) a x ( a > 1 ) f(x)a^x(a>1) f(x)ax(a>1) ,单调递增,现在给一个正整数 N N N,求使得 f ( x ) N f(x)N f(x)N的正整数解 x x x。    2 想法 x l o g a N xl…

Spring Boot集成ShardingSphere分片利器 AutoTable (二)—— 自动分片算法示例 | Spring Cloud 46

一、前言 在前面我们通过以下章节对ShardingSphere的AutoTable 有了基础的了解: Spring Boot集成ShardingSphere分片利器 AutoTable (一)—— 简单体验 | Spring Cloud 45 书接上回,本章进行对AutoTable 支持的自动分片算法进行…

【JAVAEE】使用wait()方法和notify()方法解决线程不安全中的有序性问题

目录 1.wait()方法 2.notify()方法 3.notifyAll()方法 4.wait()和sleep()方法的区别 由于线程之间是抢占式执行的,因此线程之间执行的先后顺序难以预知。但是在实际开发中有时候我们希望合理的协调多个线程之间的执行先后顺序。 完成这个协调工作,主…

QML之HTML5画布移植(Porting from HTML5 Canvas)

移植一个HTML5画布图像到QML画布非常简单。在成百上千的例子中,我们选择了一个来移植。 螺旋图形(Spiro Graph) 我们使用一个来自Mozila项目的螺旋图形例子来作为我们的基础示例。原始的HTML5代码被作为画布教程发布。 下面是我们需要修改…

OpenGL(十)——基础光照

目录 一、前言 二、环境光照 三、漫反射光照 3.1 法向量 3.2顶点着色器 3.3 VAO属性解释 3.4 片段着色器 四、镜面光照 4.1 片段着色器 一、前言 现实世界光照十分复杂,冯氏光照模型是对现实世界光照的抽象,主要由3部分组成,环境amb…

【JAVAEE】使用synchronized关键字和volatile关键字解决线程安全问题中的原子性,内存可见性和有序性问题

目录 1.synchronized关键字---监视器锁monitor lock 1.1synchronized的特性 互斥 刷新内存 可重入 1.3synchronized使用注意事项 2.volatile关键字 2.1volatile保证内存可见性问题 MESI缓存一致性协议 内存屏障 2.2volatile解决有序性问题 3.总结synchronized和vola…

ELK -- kibana 用nginx代理后无法访问

背景: 本地搭建好elk后,一切正常,后面改成用nginx代理kibana的5601端口,发现代理后无法正常访问(未代理的地址可正常访问),花了很多时间去查问题,报错基本都是http://ip:port/spaces…

Leetcode刷题之复制带随机指针的链表

生命不是安排,而是追求,人生的意义也许永远没有答案,但也要尽情感受这种没有答案的人生。 --弗吉尼亚. 伍尔芙 目录 前言: 🌸一.复制带随机指针的链表 🌅1.复制结点链接到原本链表每一个结点的…

24个强大的HTML属性,每个资深Web工程师都应该掌握!

HTML 属性非常多,除了基本的一些属性外,还有很多很有用的功能性特别强大的属性; 本文将介绍24个强大的HTML属性,这些属性可以让你的网站更加动态和交互,让用户感到更加舒适和愉悦。 让我们一起来探索这24个强大的HTML…

进程优先级+环境变量++地址空间+虚拟地址空间

索引 一.进程优先级二.环境变量1.通过代码如何获取环境1.通过第三个命令行参数获得2.根据第三方变量environ获取3.通过系统调用获取环境变量 2.验证环境变量可以被子进程继承下去 三.验证地址空间1.验证程序地址空间2.证明地址空间不是物理地址 四.虚拟地址空间虚拟地址空间存在…

BI财务智能分析,让企业管理更上一层楼

智能财务建设既可以看作是财务管理工作在经济社会数字化转型的全面开启,也可以看作是财务职能在以数字化技术为支撑,形成对内提升单位管理水平和风险管控能力、对外服务财政管理和宏观经济治理的会计职能拓展,究其本质则是在财务数字化转型升…

简单介绍之隔离级别与分布式事务

一,分布式系统与环境问题 概念 系统可以笼统分为集中式系统和分布式系统。 集中式系统就是由一台或多台主计算机组成中心节点,系统所有功能均由其集中处理。 分布式系统是硬件和软件组件分布不同的网络计算机上,彼此之间仅仅通过消息传递进…