从0到不知道去哪的音视频技术学习

2019-08-19  本文已影响0人  社会小猫

半个月了, 研究音视频的技术,感觉已经筋疲力尽

首先吐槽,百度和我国内互联网环境,有用的东西一盖没有除了广告还是广告, 还要吐槽csdn 有用没用不知道, 反正收费奇高, 结果还是没啥有用信息

下面进入正题

我的目的:开发一个音视频实时聊天的项目

采用技术方案:未知,以前是一个PHP的web程序员,从没有做过类似产品,

调研技术方案1:大部分直播系统采用什么技术方案,百度告诉了我一堆广告,那么就去看广告吧, 阿里云,腾讯云,网易云,介绍的虽然都是自己好的话,但偶尔看见几个图片,TCP+CDN ,感觉这不等于要绑定与这些服务商了吗。因为我知道,TCP必须要有IP,but 我没有钱买

调研技术方案2:继续深入的看百度广告, 发现虽然他们说的TCP+CDN 但实际背后用的是UDP的P2P点对点技术, 但是用TCP做了心跳的处理,但是我觉得, 更多地是给你计费, 准备从你钱包拿钱, 所以,越发觉得运营商恶心,开始研究自己搭建UDP

调研技术方案3:决定UDP,那么就开始搞起。UDP包含打洞技术,但是先不管, 内网先搞,所以不打洞了,那么选择编程语言吧

调研技术方案4:PHP出身, 那么swoole还是知道的, 那就去看喽, 这个时候知道了,原来是基于SOCKET的鬼,那么,知道了什么东西, 并且我要做的不是WEB网站, 是要做出那传说中的下一步王者,CS架构的软件,所以PHP肯定不行,正好研究了一下GO , 那就GO开始吧

实操1:选择了GO,安装环境,然后找源码DEMO,最后找到,然后自己开始调试, 然后OK ,好的, GO的udp搞定了,说起来好简单,实际上很复杂漫长的过程,大约用了1天时间。那么UDP搞定就改搞音频了, 

实操2:GO调用麦克风,然后2进制,然后转给UDP,发送,接收,然后耳机输出,发现, 除了杂音全是鬼,遇到问题解决问题是程序员的必备技能,那么接着百度看广告

调研技术方案5:百度看广告,为啥GO udp声音全是杂音,GO的解决方案没找到,广告到时看见PYTHON的RUDP(可信赖的UDP,解决丢包),所以这个时候就开始怀疑,是不是自己GO发的顺序乱了, 又丢包了, 所以全是杂音呢, 好吧,方向有了,继续搞

实操3:什么是可信赖的UDP,就是,你发1,我收1,你发2,我收2,你发345,我收567,但我没有4和5,找你要,你给我,然后我完整的1234567,就是给每一个包加一个序号, 判断序号是否联系,不连续就是丢了或者顺序错了, 哈哈, 一看好简单,那么就开始加起,测试文字OK ,那么测试音频,这时发生了一件事情,就是一脸懵逼如我(狗),音频的编码是什么鬼, 你加了什么都他喵的不再是音频了, 然后换成数组在转字节,或者中间加东西,然后截取,各种搞,还是一脸懵逼如我(狗),那么遇到问题解决问题是程序员的必备技能,那么接着百度看广告

上一篇 下一篇

猜你喜欢

热点阅读