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

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


感谢查阅
玉念聿辉:编辑
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
要使用Vue和WebRTC实现音视频通话,您可以使用WebRTC API。以下是一些步骤: 1. 首先,您需要创建一个新的Vue项目,您可以使用Vue CLI来创建。 2. 接下来,您需要使用WebRTC API来实现音视频通话。在Vue中,您可以使用Vue插件来轻松地使用WebRTC API。例如,您可以使用vue-webrtc插件。 3. 您需要在Vue组件中使用vue-webrtc插件。您可以在组件的模板中放置一个video标签,该标签将用于显示视频流。使用vue-webrtc插件,您可以轻松地与其他用户进行音视频通话。 4. 在Vue组件中,您可以使用WebRTC API来处理音视频流。您可以使用getUserMedia()函数获取本地视频流,并使用RTCPeerConnection对象将视频流发送到远程用户。使用RTCPeerConnection对象,您可以建立点对点连接,并在WebRTC流之间进行通信。 5. 最后,您需要使用Vue的事件来处理音视频通话中的各种情况,例如在连接断开时显示错误消息等。 这是一个简单的示例代码,演示如何使用Vue和WebRTC API实现音视频通话: ``` <template> <div> <video ref="localVideo" autoplay></video> <video ref="remoteVideo" autoplay></video> </div> </template> <script> import VueWebRTC from 'vue-webrtc' export default { name: 'VideoChat', components: { VueWebRTC }, data () { return { localStream: null, remoteStream: null, peerConnection: null } }, mounted () { this.startLocalVideo() }, methods: { startLocalVideo () { navigator.getUserMedia({ video: true, audio: true }, (stream) => { this.localStream = stream this.$refs.localVideo.srcObject = stream this.setupPeerConnection() }, (error) => { console.error(error) }) }, setupPeerConnection () { this.peerConnection = new RTCPeerConnection() this.peerConnection.onicecandidate = (event) => { if (event.candidate) { // send candidate to remote user } } this.peerConnection.onaddstream = (event) => { this.remoteStream = event.stream this.$refs.remoteVideo.srcObject = event.stream } this.peerConnection.addStream(this.localStream) // create offer and send to remote user } } } </script> ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玉念聿辉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值