- 博客(55)
- 收藏
- 关注
原创 无线高清会议室终端之Miracast/HDCP
前言: 公司在2015年5月立项做一款硬件类产品,使用SOC(CPU+DSP)芯片方案做一款高清会议室终端,除了会议功能之外,需要具备多路无线投屏功能。项目从5月份立项、历经搭建团队、研发、生产、测试,至2016年1月完成一期功能和试产,期间经历很多困难和曲折,现分一个系列做下回顾,本篇讲下Miracast的HDCP。Miracast: 关于Miracast的基
2016-05-07 13:27:29
4630
1
原创 无线高清会议室终端之Airplay
前言: 公司在2015年5月立项做一款硬件类产品,使用SOC(CPU+DSP)芯片方案做一款高清会议室终端,除了会议功能之外,需要具备多路无线投屏功能。项目从5月份立项、历经搭建团队、研发、生产、测试,至2016年1月完成一期功能和试产,期间经历很多困难和曲折,现分一个系列做下回顾,本篇讲下Airplay。Airplay: 关于Airplay的基础知识,大家可以ba
2016-02-20 13:29:07
2160
原创 无线高清会议室终端之Miracast
前言: 公司在2015年5月立项做一款硬件类产品,使用SOC(CPU+DSP)芯片方案做一款高清会议室终端,除了会议功能之外,需要具备多路无线投屏功能。项目从5月份立项、历经搭建团队、研发、生产、测试,至2016年1月完成一期功能和试产,期间经历很多困难和曲折,现分一个系列做下回顾,本篇讲下Miracast。Miracast: 关于Miracast的基础知识,大家可
2016-01-30 15:40:50
4992
1
原创 audio_coding模块分析和audio_conference_mixer模块分析
audio_coding1. 主要接口 AudioCodingModuleImpl::RegisterReceiveCodec 初始化Codec AudioCodingModuleImpl::IncomingPacket 收包 AudioCodingModuleImpl::PlayoutData10Ms neteq处理,并解码,返回原始数据 Au
2015-07-11 17:28:47
1896
原创 audio_device模块分析
1. 对外接口 AudioDeviceModule, 采音放音接口,音量控制,静音控制等 2. 主要类 AudioDeviceModuleImpl, 对外提供的主要实现类,硬件实现主要调用AudioDeviceGeneric,管理AudioDeviceGeneric,AudioDeviceBuffer和AudioDeviceUtility Aud
2015-07-11 17:25:52
3688
原创 video_capture模块分析
1. 对外接口 VideoCaptureModule 控制接口 VideoCaptureDataCallback Vie中的ViECapturer继承,用于响应抓包数据2. 主要类 VideoCaptureImpl, 继承VideoCaptureModule,用于控制和抽象具体的capture执行接口 VideoCaptureAn
2015-07-11 17:25:11
2310
原创 video_render模块分析
1. 对外接口 VideoRender 创建控制等接口 VideoRenderCallback 推送render数据接口2. 主要类 ModuleVideoRenderImpl 控制类 IncomingVideoStream 用于接收Render数据 VideoRenderLinuxImpl/VideoX11Channel L
2015-07-11 17:24:19
2850
转载 几种类间关系:继承、实现、依赖、关联、聚合、组合及UML实现图
几种类间关系:继承、实现、依赖、关联、聚合、组合及UML实现图继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间 最常见的关系;在Java中此类关系通过关键字extends明确标识,在设计时一般没有争议性;实现指的是一个class类实现interface接口(可以是多个)
2015-06-27 09:06:11
1002
原创 WebRTC代码走读(十一):video_coding模块分析
1. 对外提供的主要接口 VideoCodingModuleImpl::IncomingPacket, 收包处理接口,在RTP解析流程之后调用 VideoCodingModuleImpl::Decode, 处理解码的接口 VCMReceiveCallback 解码完成之后的回调接口 VideoCodingModuleImpl::AddVideoFra
2015-06-20 13:20:36
2800
原创 WebRTC代码走读(十):rtp_rtcp模块分析
1. 对外提供的主要流程接口 收包的调用接口RtpReceiverImpl::IncomingRtpPacket 发包的调用接口ModuleRtpRtcpImpl::SendOutgoingData 收包处理之后的回调接口RtpData2. 主要处理类 ModuleRtpRtcpImpl, 控制模块,是个Module,自己能够独立处理
2015-06-20 13:19:29
5226
原创 设计模式的一些理解
转载注明出处http://blog.youkuaiyun.com/wanghorse1. 把变化的部分都用组合、聚合或依赖实现,不变的部分用继承实现 Visitor模式, 将经常删减的操作中继承体系中提炼出来,成为操作类,每个类中的操作对应原有的不变的继承体系 Strategy模式,将可扩充的算法使用依赖实现;接口抽闲出来 Observer模式,将观察者放在
2015-06-17 19:28:01
975
转载 设计模式大全
Longronglin之设计模式:Christopher Alexander 说过:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”。模式描述为:在一定环境中解决某一问题的方案,包括三个基本元素--问题,解决方案和环境。阅读类图和对象图请先学习UML创建模式 结构模式 行为模式创建模式:对类的实
2015-06-17 19:25:46
852
原创 WebRTC代码走读(九):VoiceEngine和VideoEngine主要的控制类说明
转载注明出处http://blog.youkuaiyun.com/wanghorse1. VideoEngineImplVideoEngine对外提供的集成接口实现类, 其继承了VideoEngine对外提供的所有接口实现类,包括ViEBaseImpl/ViECaptureImpl/ViEFileImpl/ViEImageProcessImpl/ViENetworkImpl/ViERTP_RT
2015-06-16 20:32:03
2834
原创 WebRTC代码走读(八):代码目录结构
转载注明出处http://blog.youkuaiyun.com/wanghorse├── ./base //基础平台库,包括线程、锁、socket等├── ./build //编译脚本,gyp├── ./common_audio //基础公共的音频处理│ ├── ./common_audio/include //就一个类型转换头文件│ ├── ./common_audio/resampl
2015-06-06 14:13:36
5512
原创 WebRTC代码走读(七):线程关系
转载注明出处http://blog.youkuaiyun.com/wanghorsewebrtc实际的ProcessThreadImpl线程主要有:1. VoiceChannelTransport下的CreateThread(UdpSocketManagerPosixImpl::Run), 用于收发网络包2. AudioTrackJni::PlayThreadProcess,用于播放
2015-05-09 14:17:48
2986
原创 WebRTC代码走读(六):视频发送流程
转载注明出处http://blog.youkuaiyun.com/wanghorseJNI调用ProvideCameraFrame VideoCaptureAndroid::OnIncomingFrame VideoCaptureImpl::IncomingFrame 申请内存,转换层I420 VideoCaptureImpl::Deli
2015-05-07 20:59:28
4527
原创 WebRTC代码走读(五):视频接受流程
转载注明出处http://blog.youkuaiyun.com/wanghorse收到视频包UdpSocketManagerPosixImpl::Run UdpSocketManagerPosixImpl::Process UdpSocketPosix::HasIncoming(recvfrom) UdpTransportImpl::IncomingRTPCa
2015-05-03 16:03:54
4008
原创 WebRTC代码走读(四):音频发送流程
转载注明出处http://blog.youkuaiyun.com/wanghorse发送音频OpenSlesInput::RecorderSimpleBufferQueueCallback OpenSlesInput::RecorderSimpleBufferQueueCallbackHandler,保存数据OpenSlesInput::CbThreadImpl AudioDeviceBuf
2015-04-25 16:21:58
4391
原创 WebRTC代码走读(三):音频接收流程
收到音频包UdpSocketManagerPosixImpl::Run UdpSocketManagerPosixImpl::Process UdpSocketPosix::HasIncoming(recvfrom) UdpTransportImpl::IncomingRTPCallback UdpTransportI
2015-04-21 19:52:12
5222
原创 WebRTC代码走读(二):发送Call
转载注明出处http://blog.youkuaiyun.com/wanghorseVoiceEngine_startListen VoEBaseImpl::StartReceive channelPtr->StartReceiving设置channel的receiving的状态VoiceEngine_startPlayout VoEBaseImpl::StartPlayout
2015-03-28 16:34:21
3466
原创 CentOS6.5+Mysql5.5.20安装mysqldb模块
公司的服务程序所有的MySQL是5.5.20,安装在CentOS6.5。 现在需要用python做一个简单的统计工具,需要读取MySQL中的数据。 CentOS6.5默认安装的是python2.6.6, 但python读取MySQL所需的mysqldb模块没有安装,使用yum安装MySQL-python无法和MySQL5.5.20匹配上,安装失败。估选择下载MySQL-python源码
2015-03-26 18:56:07
1603
原创 WebRTC代码走读(一):初始化
MediaEngine.java:MediaEngine初始化 转载注明出处http://blog.youkuaiyun.com/wanghorsenew VoiceEngine/VoiceEngine_create new VoiceEngineData webrtc::VoiceEngine::Create GetVoiceEngine
2015-03-21 16:43:39
6702
原创 我经历过的失败产品和项目(九):综述
分析这么多产品,我们从头来看,可以得出如下: 产品启动的太草率,产品结束的太草率 产品不聚焦 不聚焦,导致2个问题: 公司的研发和技术没有聚焦,产品无法越做越完善。做研发的清楚,产品出来DMEO很容易,也很快;但完善和优化的过程是需要较长时间的,甚至是无止境的,而且如果没有实际的项目和用户驱动,很多问题都是无法暴露出来的 市场也无
2015-02-07 11:57:24
1410
1
原创 我经历过的失败产品和项目(八):拍脑袋出来的移动视频相亲应用
* 背景 2014年初,公司新进入一个控股股东,公司的战略方向调整到移动互联网。接下来公司内部开始思考如下问题:在公司现有的技术积累下,选择做什么样的移动互联网产品? 我们是做视频的,能想到的就是移动视频通话、移动视频会议、手游视频直播、远程视频教育等等 一帮通信行业的人考虑来考虑去,方向很多,但没有头绪。 后来开会,投资人随口给大家提了点:说移动的视频相亲应用如何?然后找了几个他自己工厂的小
2015-02-07 11:30:18
1238
原创 我经历过的失败产品和项目(七):定位模糊的面向移动互联网的视频通话应用
背景 2011年下半年的时候,随着移动互联网的普及,移动端的应用越来越多,移动互联网模式初现,强烈的冲击着我们这家做通信公司。作为专业做视频的公司,公司老板决定在移动互联网上面试下水,对于产品只说了这么一句话:大家看下tango,用户只需要在我们的APP上输入手机号,收到短信,就能注册,登录就能免费用我们的视频通话功能,我们先做着,等用户量起来了,我们再做其他想法。 就这样
2015-01-24 12:30:33
1517
原创 我经历过的失败产品和项目(六):体验很差的视频会议系统
背景 这个产品从07开始做,到13年基本停止开发,持续了6年时间。当时上这个,主要是我们公司的媒体服务器专注视频,而视频的应用,但是也就视频会议的应用比较广泛。 所以在07年的时候,招了几个兄弟,开始基于媒体服务器,开发会议服务器描述 公司那几年,在视频会议上面投入的精力是最多的,每年至少有20人的投入,主要分为4个小组:硬件平台组、媒体服务器组、应用服
2015-01-17 11:08:12
2634
原创 我经历过的失败的产品和项目(五):没有前途的视频呼叫中心
背景 也是在3G大环境下,公司在视频领域尝试的一种业务形态。 大概就在10年的时候,三大运营商也都在做视频呼叫中心的业务评估,不过基本属于规范制定中,其中中联通走的比较快,而且他们的视频呼叫中心最终也上线了(但业务一直起不来),也有一些传统的语音呼叫中心厂家在尝试做这方面的工作。我们在经过一段时间的评估和考察之后,在2010年初的时候,决定和一个Avaya和思科呼叫中心的代
2014-12-27 15:42:24
2427
原创 我经历过的失败产品和项目(四):没有落单的多媒体彩铃媒体服务器
背景 2009年国家发布3G牌照,一时间运营商纷纷上线视频业务。对于我们这个专业做视频硬件服务器的公司来说,正好赶上了大环境,也是纷纷开始开发各类的视频业务,多媒体彩铃是其中一款。 我们公司07年成立,之前一直处于开发硬件的媒体服务器阶段,该服务器只是提供基础的音视频处理能力,其在功耗、性能和体积上面,再国内外都处于领先。 但我们在具体的业务层面从来没有接触过,
2014-12-20 14:20:46
1774
原创 运营商沦为管道的原因分析-- 读《周鸿祎自述:我的互联网方法论》后感
我们公司业长期和4大运营商打交道(移动、电信、联通和广电),产品也主要面向运营商,陪运营商做了很多企业和个人业务产品,我们的有款业务产品,拿下了全国1/3的运营商市场,但该业务一直不温不火,进而导致我们公司的运营商市场也是一直不温不火。 运营商业务拓展不开,也促使了我们公司的艰难的互联网转型。之前我们只是随大流断定“互联网时代,运营商无法开展企业和个人业务,必然开始沦为管道商”,最近看
2014-12-13 16:35:32
1806
1
原创 我经历过的失败产品和项目(三):一款未启动的益智类游戏
背景 在上次棋牌类游戏结束不久,大概在研二的时候,本地有一位少儿培训学校的老板刘,刘老师有位同学刘总在上海开公司,准备介入幼教行业,想到的点子就是开发一款益智类游戏来介入这个行业。 然后刘老师就找到了我同学。描述 这个项目从启动到接触,持续了小半年。开发是在上次棋牌类游戏的基础上做,最后决定先做一款连连看,但未等开发完,团队就解散了。过程
2014-12-13 14:53:41
1916
原创 我经历过的失败产品和项目(二):一款无疾而终的棋牌类游戏
背景 这个项目大概是在04年启动的,05年结束。是面向江浙地区的在线棋牌游戏平台,投资方是一个浙江的土豪(投的钱也不多)。 研一的时候,机房老师找到我们导师,需要几个学生加入到他们的团队,打打下手。所以我们导师的几个学生开始加入他们的团队开始开发。我是在04年10月份加入的。描述 所有成员都是兼职,核心成员是3个,一个是学校机房老师、一个是某大型软件外包
2014-12-06 14:09:05
1501
1
原创 我经历过的失败产品和项目(一):序
从读研到现在,参与或领导了几十个项目,大部分都以失败结束,现在将其中较代表性的项目总结一下,便于吸取经验教训。每篇为一个项目或产品总结,包含如下内容:背景、描述、过程、结果、总结(含失败分析、收获)包括如下系列:一款无疾而终的棋牌类游戏一款未启动的益智类游戏没有落单的多媒体彩铃媒体服务器没有前途的视频呼叫中心体验很差的视频会议系统定位模糊的面向移动互联网的视频通话应用拍脑袋出来的移
2014-12-06 11:29:52
1150
原创 移动端多人视频通话软件开发(七)-- 结语
重构之后,我们做了两件事情:1. 我们继续进行音视频的优化工作,这个事情现在也还未结束2. 我们做了一个无业务流程的版本,用于放置在网上供演示,并供一些技术朋友们参考建议到目前为止,产品还存在了一些问题,1. 音频质量和视频质量还是有提高的余地2. 大容量的情况下还未做测试3. 业务模式还在探索,业务层面的开发停滞不前一些想法:1. 这是一款移动互联
2014-11-29 10:04:37
1594
原创 移动端多人视频通话软件开发(六)-- 重构
成功进行演示之后,我们开始往产品化方向前进,但是越来越发现部分模块及部分架构越来越不适应整体需求和进度要求,所以我们启动了一次较大规模的重构,整体投入的工作量大概为6人月。 1. 重构原因a) 需求不满足,由于我们这个产品的底层部分需要支持所有公司的现有产品,但是当前在设计的时候只是考虑了当前需要演示的产品,所以在某些模块的架构方面没有考虑太多,需要重构b)
2014-11-22 11:05:21
1457
原创 移动端多人视频通话软件开发(四) -- 原型开发阶段
1. 开发过程a) 主要任务,主要的任务梳理如下:l Live555代码移植(Android已经移植过,之前有基础)l Ffmpeg中的H264编解码模块移植(之前有基础,直接拿来用)l 添加呼叫流程和控制流程l 增加多股视频流分解流程l 添加音频发送流程l 添加视频发送流程l 添加音频收流程、视频收流程(之前有基础)l
2014-11-09 11:13:21
1721
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人