摘要: 视频直播流程 视频直播的流程可以分为如下几步: 采集 —>处理—>编码和封装—>推流到服务器—>服务器流分发—>播放器流播放 1.采集 采集是整个视频推流过程中的第一个环节,它从系统的采集设备中获取原始视频数据,将其输出到下一个环节。视频的采集涉及两方面数据的采集:音频采集和图像采集,它们分别对应两 阅读全文
posted @ 2019-12-20 14:53 奔梦 阅读(2827) 评论(0) 推荐(0) 编辑
摘要: 推流,指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观看直播时就会发生卡顿等现象,观看体验很是糟糕。 要想用于推流还必须把音视频数据使用传输协议进行封装,变成流数据。常用的流传输协议有RTSP、 阅读全文
posted @ 2019-12-20 14:28 奔梦 阅读(15402) 评论(0) 推荐(0) 编辑
摘要: 一、什么是RABC RBAC(基于角色的权限控制)模型的核心是在用户和权限之间引入了角色的概念。取消了用户和权限的直接关联,改为通过用户关联角色、角色关联权限的方法来间接地赋予用户权限(如下图),从而达到用户和权限解耦的目的。 RABC的好处 在不断的发展过程中,RBAC也因不同的需求而演化出了不同 阅读全文
posted @ 2019-09-02 15:19 奔梦 阅读(1376) 评论(0) 推荐(0) 编辑
摘要: ppID:应用的唯一标识AppKey:公匙(相当于账号)AppSecret:私匙(相当于密码) token:令牌(过期失效) 使用方法 1. 向第三方服务器请求授权时,带上AppKey和AppSecret(需存在服务器端) 2. 第三方服务器验证AppKey和AppSecret在DB中有无记录 3. 阅读全文
posted @ 2019-09-02 14:08 奔梦 阅读(2235) 评论(0) 推荐(0) 编辑
摘要: 1.概念 2.注意事项 1.生产者publish消息时打开一个连接,publish后连接可以立即关闭2.channel只接收publish发送的消息,自身不存储消息,如果channel没有被订阅,则消息丢弃3.订阅的消费者需要一直在线,阻塞获取消息,连接断开表示立即退订 3.使用rawCommand 阅读全文
posted @ 2019-05-13 10:45 奔梦 阅读(6010) 评论(0) 推荐(0) 编辑
摘要: 【安装步骤】 一、安装node.js 1.前往node.js官网下载并安装工具,这里安装路径选到D盘,D:\Program Files\nodejs 安装完毕在命令行输入以下命令测试是否安装成功,正确会出现版本号 2.改变原有的环境变量, (1)我们要先配置npm的全局模块的存放路径以及cache的 阅读全文
posted @ 2019-02-12 11:21 奔梦 阅读(197) 评论(0) 推荐(0) 编辑
摘要: Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱。因为开发者很容易滥用异常,甚至一个小小的错误都抛出一个异常。在Go语言中,使用多值返回来返回错误。不要用异常代替错误,更不要用 阅读全文
posted @ 2018-12-13 10:52 奔梦 阅读(15032) 评论(1) 推荐(1) 编辑
摘要: 阅读全文
posted @ 2018-12-13 10:31 奔梦 阅读(821) 评论(0) 推荐(0) 编辑
摘要: go提供了sync包和channel机制来解决协程间的同步与通信。 一、sync.WaitGroup sync包中的WaitGroup实现了一个类似任务队列的结构,你可以向队列中加入任务,任务完成后就把任务从队列中移除,如果队列中的任务没有全部完成,队列就会触发阻塞以阻止程序继续运行,具体用法参考如 阅读全文
posted @ 2018-09-12 11:31 奔梦 阅读(750) 评论(0) 推荐(0) 编辑
摘要: Go语言的并发和并行 不知道你有没有注意到一个现象,还是这段代码,如果我跑在两个goroutines里面的话: 我们观察下输出: 这是不是有什么问题?? 以前我们用线程去做类似任务的时候,系统的线程会抢占式地输出, 表现出来的是乱序地输出。而goroutine为什么是这样输出的呢? goroutin 阅读全文
posted @ 2018-08-24 10:09 奔梦 阅读(1016) 评论(2) 推荐(0) 编辑