摘要: 1 STUN客户端所处环境探测流程 1.1 流程图 1.2 流程图中Binding请求类型说明 类型1:Binding请求消息中不设置CHANGE-REQUEST,或若设置其相应更改IP与端口标志位都清零 类型2:Binding请求消息中设置CHANGE-REQUEST,并且其相应更改IP与端口标志 阅读全文
posted @ 2016-07-05 12:05 老头慢慢飞 阅读(1750) 评论(0) 推荐(0) 编辑
摘要: 0 随着Web与移动视频直播应用的深度发展,有用户参与互动的视频直播技术被越来越多平台所支持,原来的RTMP流媒体方案由于延时较多,无法满足即时互动需求,本文提出几种互动视频直播模型(只是想法不代表实际应用中是这样做的)分享给大家,供进一步讨论。 1 P2P 1.1 模型图 1.2 说明 连麦用户向 阅读全文
posted @ 2016-06-29 11:19 老头慢慢飞 阅读(3165) 评论(0) 推荐(0) 编辑
摘要: 目前服务于Web与移动直播的流媒体系统,一般由于骨干网核心机房网络质量有保证,同时媒体流发布客户端如果到服务器的网络出现卡顿现像,会影响所有流媒体播放端用户,因此为保护媒体流发布客户端至服务器的网络质量,多数是在骨干网核心机房部署源流媒体服务器,媒体流发布客户端将媒体流发布于源流媒体(也就是说只提供 阅读全文
posted @ 2016-06-24 10:30 老头慢慢飞 阅读(696) 评论(0) 推荐(0) 编辑
摘要: 0 Web场景下的媒体流发布可以采用Flash原生API实现,但是Flash H264视频压缩参数不可控、音频无法AAC编码,所以一般采用浏览器插件方式,但是浏览器插件有版本兼容问题、不稳定,所以可以专门开发一个程本地程序,并且本地程序除了提供高压缩外还可以实现虚拟视频、美颜等功能。 1 开发一种w 阅读全文
posted @ 2016-06-21 19:49 老头慢慢飞 阅读(760) 评论(0) 推荐(1) 编辑
摘要: 1 为什么要采用Flash ActionScript实现RTMP协议发布或播放媒体流,播放媒体流,协议可控,比如对流媒体数加密,混音等。 2 核心思路使用Flash Socket建立TCP二进制传输出通道,二进制数据主要是RTMP协议封装与音视频数据,播放音视频采用NetStream的appendB 阅读全文
posted @ 2016-06-21 14:18 老头慢慢飞 阅读(1881) 评论(0) 推荐(0) 编辑
摘要: 最近广州大雨不断,并且多数无前兆,突然就来场大雨,给同学们降降温,说来本也是好事,但有时候下的真不是时候,最近这段时间都是即将下班了,大雨就来了,昨晚快下班前又出现了大雨,北方人总爱忘带雨伞,这不就被堵在公司回不了家了。 正在盘算如何回家的空档,有同事来我的座位咨询:音频输出给音频播放设备后音频低层 阅读全文
posted @ 2016-06-13 10:45 老头慢慢飞 阅读(906) 评论(0) 推荐(0) 编辑
摘要: 源流媒体服务记录所有直接发布于其上的媒体流状态信息,源流媒体服务器启动后或与媒体流状态管理服务器断开后需要立即尝试连接流状态管理服务器,联接成功要立即上报所有由其本身记录的直接发布给该服务器的媒体流状态信息给流状态管理服务器,这时流状态管理服务器返回当前记录的所有其它已联接到该流状态管理服务器的其它 阅读全文
posted @ 2016-06-02 09:56 老头慢慢飞 阅读(830) 评论(0) 推荐(0) 编辑
摘要: 由于媒体推流客户端所在地域不同、所接入网络运营商不同、就近接入原则等因素,导致不同的视频推流客户端会推流至不同的流媒体服务器(本文主要针对目前WEB或手机的基于TCP的流媒体服务器),在某流媒体服务器收到媒体拉流客户端的拉流请求时,其本身可能由于不存在该流,导致该流媒体先通过流调度服务器定位到该请求 阅读全文
posted @ 2016-05-27 11:27 老头慢慢飞 阅读(1628) 评论(0) 推荐(0) 编辑
摘要: 在流媒体发布客户端同时传送音频、视频至流媒体服务器时,一帧视频的数据量通常远大于一帧音频的数据量,在网络质量差时,传输一帧视频的质量耗时过长,通过采用块流协议,可以将视频分块发送,并在发送视频块前检测一下是否有音频要发送,若有立即穿插发送音频块,然后接着发送后续视频块(当视频帧堆积到一定程度为保实时 阅读全文
posted @ 2016-05-27 10:06 老头慢慢飞 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 1. 为什么要调整输出块大小 首先在RTMP_Connect0函数中LibRTMP是关闭了Nagle算法这个TCP选项的,为了实时性这样做是好的,但是要注意到LibRTMP的结构体RTMP的成员是有m_outChunkSize,并且在RTMP_Init函数中被初始化了默认值128,然后整个LibRT 阅读全文
posted @ 2016-05-12 20:14 老头慢慢飞 阅读(5696) 评论(0) 推荐(0) 编辑