Qt6.5.1+WebRTC学习笔记(十二)环境搭建流媒体服务器(ubuntu22.04+SRS)

这篇具有很好参考价值的文章主要介绍了Qt6.5.1+WebRTC学习笔记(十二)环境搭建流媒体服务器(ubuntu22.04+SRS)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

若只是实现一对一通信,仅使用webrtc就足够了。但有时间需要进行多个人的直播会议,当人比较多时,建议使用一个流媒体服务器,笔者使用的是SRS。

这个开源项目资料比较全,笔者仅在此记录下搭建过程

一、准备

1.操作系统ubuntu22.04 64位 x86架构(建议更新到最新)

2.安装编译器相关,执行如下命令

sudo apt-get install build-essential

二、获取源码并编译

源码下载

git clone -b develop https://gitee.com/ossrs/srs.git

注意: 建议使用国内的代码库,下载速度快一些

切换到srs/trunk目录,并编译

cd srs/trunk
./configure --ffmpeg-opus=on
make

 注:音频编码需要支持opus,所以记得需要添加ffmpeg-opus选项

若是需要播放网络摄像头的画面,建议使用如下编译选项

cd srs/trunk
./configure --gb28181=on --ffmpeg-opus=on
make

注:摄像头推流建议使用gb28181,视频选择x264编码,音频选择AAC编译 

三、 设置配置文件,并启动服务

编译完成后,在conf目录下有多个配置文件,即可以直接使用,也可以修改或创建新的配置文件

笔者为方便测试,参考https.rtc.conf和push.gb28181.conf两个配置,合并成https.push.gb28181.conf,以方便测试

说明:

1.使用SRS的web端推流,需要使用https协助的接口,相关配置在https.rtc.conf中

2.播放网络摄像头的视频流,相关配置在push.gb28181.conf中

准备好配置文件后,就可以启动SRS服务器了,执行如下命令

CANDIDATE="192.168.1.10"
./objs/srs -c conf/https.push.gb28181.conf

若是在公网测试,CANDIDATE的地址设置成公网IP

若是在本地测试,CANDIDATE的地址设置成服务器网卡的IP 

检查SRS是否成功启动,可以打开 http://192.168.1.10:8080,或者执行命令:

# 查看SRS的状态
./etc/init.d/srs status

# 或者看SRS的日志
tail -n 30 -f ./objs/srs.log

四、推拉流测试

访问http://192.168.1.0:8080或https://192.168.1.0:8088

如下所示

Qt6.5.1+WebRTC学习笔记(十二)环境搭建流媒体服务器(ubuntu22.04+SRS)

 可以通过SRS控制台,查看相关流信息

Qt6.5.1+WebRTC学习笔记(十二)环境搭建流媒体服务器(ubuntu22.04+SRS)

 进行SRS播放器,可以查看流信息

Qt6.5.1+WebRTC学习笔记(十二)环境搭建流媒体服务器(ubuntu22.04+SRS)

 需要注意的是,若使用非默认端口的,需要手工修改下对应的端口,如下图所示Qt6.5.1+WebRTC学习笔记(十二)环境搭建流媒体服务器(ubuntu22.04+SRS)

 注:若需要web推流测试,且SRS没有安装在本地,需要使用https协议的接口

 笔者测试项目如下

1.web推流,web拉流播放

2.gb28181推流,web拉流播放

3.webrtc native推流,web拉流播放

4.web推流,webrtc native拉流播放

5.gb28181推流,webrtc native拉流播放

6.webrtc native推流,webrtc native拉流播放

目前各测试项目工作正常

后记

本文档记录的是笔者的测试过程,有几点问题,笔者强调下

1.webrtc native默认推流使用opus音频编码,SRS默认使用AAC音频编码,建议在SRS中启用opus音频编码

注:每路音频编码AAC转opus都会消耗服务器资源的,不要开太多

2.webrtc native默认本地不启用h264编码的,需要自己打开相关编译选项;部分支持硬件加速的Android设备会启用h264,需要在编译时开户软解码。否则SRS默认默认不支持的,接口上会返回400错误

3.webrtc默认使用udp传输数据的,不建议修改成tcp

4.为测试方便,建议关闭浏览器的跨域限制

以谷歌浏览器为例:

在浏览器地址栏输入

chrome://flags/#block-insecure-private-network-requests

Block insecure private network requests.项的Default改为Disabled即可。文章来源地址https://www.toymoban.com/news/detail-494254.html

到了这里,关于Qt6.5.1+WebRTC学习笔记(十二)环境搭建流媒体服务器(ubuntu22.04+SRS)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Deepin20.9 在线安装qt6.5.1

    $ wget https://ftp.fau.de/qtproject/official_releases/online_installers/qt-unified-linux-x64-online.run --2023-06-05 18:06:03--  https://ftp.fau.de/qtproject/official_releases/online_installers/qt-unified-linux-x64-online.run $ sudo apt update $ sudo apt upgrade $ sudo apt -y install build-essential libgl1-mesa-dev gdb libxcb-util1 git chmod +x qt-unified-l

    2024年02月08日
    浏览(32)
  • Qt6 for Android 环境搭建

    作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 说起 Qt 各平台的开发环境搭建,最难的当属 Android 环境,因为要配置的东西比较多,而且配置过程很容易出现问题。例如,JDK、Android SDK、NDK 等必选工具,一旦选择的版本不匹配,就会提示各种错误。此外

    2024年01月20日
    浏览(30)
  • Qt6 for android环境搭建

    准备操作 系统: win10 orlinux(基本上都一样 ) 软件: androidStudio, Qt6, java jdk11(用了17版本有警告 提示1.8以上,文中安装还是写的jdk1.8,后面编译实际使用了jdk11) 1. Qt安装  如下图: 登陆自己账户   我已经安装过了 所以这里选择添加  右侧 过滤 只要lts跟 release版本  Qt这里我默认

    2024年02月03日
    浏览(22)
  • VS2019搭建QT6.4开发环境【多图警告^-^】

    安装很简单,这里就不再赘述。 附上VS下载地址:Visual Studio 全家桶 这里就不绕弯子,先说明从5.15版本开始,qt需要下载在线下载器安装。 ** QT下载地址** ; 推荐使用网易邮箱或者QQ邮箱注册,因为会有回执确认操作。 勾选第二条,不要发送信息: 重点选择两个MSVC和MinGW:

    2024年02月04日
    浏览(31)
  • Qt6 for Windows 环境搭建(Visual Studio)

    作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 在 Windows 中,如果想要开发 Qt 应用程序,可以选择多种方式: Qt Creator + MinGW 编译器 Qt Creator + MSVC 编译器 Visual Studio(自带 MSVC 编译器) 前两种方式之前我们已经介绍过了,主要利用 Qt Creator 作为 IDE,并配

    2024年02月10日
    浏览(25)
  • 搭建 QT6+OpenCv4.7+CMake的环境

    本文主要介绍如何搭建QT6+OpenCv的开发环境,基本流程如下 先安装CMake3.27.3,用来编译适用用QT的OpenCv的源码,安装完成后要配置系统的环境变量 安装Qt6的开发环境,并配置环境变量,注意一定要重启电脑才能生效 下载OpenCv的源码,用于后面的编译 上述环境准备好后,使用

    2024年02月09日
    浏览(20)
  • windows11下Qt6.5开发环境安装及QT for Android环境搭建(含虚拟机的创建)

    最近想升级Qt6.5及顺便配置Android开发环境。于是在网上找了各种教程,结果在配置Android开发环境都以失败告终。最终花了很长时间才搞掂。接下来分享比较好的安装方法以及安装注意事项。 建议用中科大或清华的镜像下载在线安装器,官网的很慢。链接如下: 下载在线安装

    2024年02月13日
    浏览(28)
  • 【Qt 学习笔记】Qt 开发环境的搭建 | Qt 安装教程

    博客主页:Duck Bro 博客主页 系列专栏:Qt 专栏 关注博主,后期持续更新系列文章 如果有错误感谢请大家批评指出,及时修改 感谢大家点赞👍收藏⭐评论✍ 文章编号:Qt 学习笔记 / 02 1. 安装包下载(网盘链接) 链接:https://pan.baidu.com/s/1t3jbYcFYFuJIfe0hPmeDmQ?pwd=duck 提取码:du

    2024年04月26日
    浏览(30)
  • Qt推流程序(视频文件/视频流/摄像头/桌面转成流媒体rtmp+hls+webrtc)可在网页和播放器远程观看

    推流直播就是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号从手机端,电脑端,摄影机端打包传到服务器的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观看直播时就会发生卡顿等现象,观看体验比较糟糕。主流

    2024年02月04日
    浏览(39)
  • Qt推流程序自动生成网页远程查看实时视频流(视频文件/视频流/摄像头/桌面转成流媒体rtmp+hls+webrtc)

    推流程序将视频流推送到流媒体服务器后,此时就等待验证拉流播放,一般可以选择ffplay命令行播放或者vlc等播放器打开播放,也可以选择网页直接打开拉流地址播放,一般主流的浏览器都支持网页直接播放hls/m3u8/webrtc类型的视频流,而且推流的主要目的可能就是为了能够在

    2024年02月05日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包