这次因为群里有个粉丝需要音视频会议系统,我们就开始搭建了,不会的可以问开源作者,我们一起合作来做,我先慢慢做 ,开源作者的微信是: taihang82 ;我参考的他这篇文章:metaRTC搭建纯C版webrtc的视频会议_metaRTC的博客-CSDN博客_webrtc 视频会议
我们要实现 的功能 大概是这样的图:
不过只完成里面的会议交互模块、支持推拉流、支持udp(webrtc)、tcp(rtmp)协议、直播浏览器观看、推流以及加入会议多人同时推流。
1:../YangMeetingServer/src/yanghttp/../yangsql/include/YangMysqlBase.h:12:10: fatal error: mysql/mysql.h: No such file or directory
安装mysql; sudo apt-get install libmysql++-dev
2:/usr/bin/ld: cannot find -lst 问作者,说是 srs的协程库,就剩下最后这一个就编译过了。
最后自己找了半天还是没找到,洗洗睡吧,今早上,去项目编译文件看看路径:LIBS += -L$$HOME_BASE/lib/YangMeetingServer/lib,结果发现lib下面有这个libst.a,那就是路径错了,于是发现home_base后面带着个lib目录,删掉就编译过了。
3:马上运行,sudo ./YangMeetingServer
rtc@ubuntu:~/git/yangrtc-2.0.116/bin/server_debug$ sudo ./YangMeetingServer [sudo] rtc 的密码: ../YangMeetingServer/src/yangsql/src/YangConf.cpp: Opent file /home/rtc/git/yangrtc-2.0.116/bin/server_debug/yang_config.ini failed. connect mysql error!
原来是没有配置config文件copy到执行文件同一个地方,并且创建数据库
rtc@ubuntu:~/git/yangrtc-2.0.116/bin/server_debug$ mysql Command 'mysql' not found, but can be installed with: sudo apt install mysql-client-core-8.0 # version 8.0.29-0ubuntu0.20.04.3, or sudo apt install mariadb-client-core-10.3 # version 1:10.3.34-0ubuntu0.20.04.1
sudo apt install mysql-client-core-8.0安装后继续mysql创建,结果继续报错,没有启动mysql
rtc@ubuntu:~/git/yangrtc-2.0.116/bin/server_debug$ mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
sudo apt install mysql-server 安装后自动启动了,后续可以sudo service msyql restart重启动
默认密码在这个文件中
rtc@ubuntu:~/git/yangrtc-2.0.116/bin/server_debug$ sudo cat /etc/mysql/debian.cnf # Automatically generated for Debian scripts. DO NOT TOUCH! [client] host = localhost user = debian-sys-maint password = RaSOSq1z9nU9H9bC socket = /var/run/mysqld/mysqld.sock ……
通过mysql -udebian-sys-maint -p登录进去后,每个人安装的mysql用户名密码随机的,进入后修改一下
mysql> grant all on *.* to root@'%' identified by '123qwe' with grant option; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by '123qwe' with grant option' at line 1 mysql>
发现新版本mysql修改root密码上面的命令不行了,用下面的 命令
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123qwe'; ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
还是报错,按起来密码不满意,安全问题,应该是密码太简单,SHOW VARIABLES LIKE 'validate_password%';查看密码级别,修改级别set global validate_password.policy=0和set global validate_password.length=1;最后 重新alter user修改root密码就好了 。
按照作者写的开始导入测试数据
建立mysql数据库create database yangav,字符集utf-8,从文件mysql -uroot -p < yangvd.sql导入数据
数据库参数配置在目录里的yang_config.ini文件中。
remark:yang_config.ini和可执行文件yangmeetingserv需在同一目录,然后如下图一样启动
4:启动srs : objs/srs -c conf/https.rtc.conf
5:启动qt的 项目metameeting2
6:进入srs播放页面localhost:8080 进入webrtc播放页面
7:多端测试加入会议,



