Darwin推流存储实现介绍 之一
来源:互联网 发布:免谷歌软件下载商店 编辑:程序博客网 时间:2024/05/19 02:21
给Darwin服务器推送的流能否存储为文件,答案是肯定的,只是什么时候存,怎么存,存储的时机问题需要对Darwin的源码好好分析。
受限于项目进度,对Darwin的分析仅限于QTSSReflectorModule模块。
确定推流存储方案的时候,我们是把推流和推流过程中的拉流一起来分析的,在分析完推流过程中的拉流后,基本上就确认了在Darwin上扩展存储功能的方案了。
先大概梳理下Darwin推流中用到的几个组织概念:
推流的SessionMap,用来存储推流的sdp地址和推流的session对象
Session:一个会话(ReflectorSession)
Stream:流,一个会话可以包括多个流,一般是一个视频流,一个音频流(RtpStream)
Output:一个推送的流可以对应多个Output,这样就做到了一对多的转发 (ReflectorOutput)
自此确认了这几个概念后,大的改造方案就出来了:在给Darwin推流过程中,这个Session的多个流是没有Output的,一旦有播放请求过来后,这个Session对象中的Stream就会增加Output;那么我们确认的方案就是,在推流创建的过程中,我们给这个Session的Stream增加一个Output,这个Output的作用就是用来将接收到的RTP包写到文件中,基本方案就确定了(这里说明下,因为我们项目只要求单独存储视频或者音频,所以我们只在视频流的Setup中增加了Output,如果需要将音视频同时存储,那方案就需要调整了。)
0 0
- Darwin推流存储实现介绍 之一
- Darwin推流存储实现介绍 之二
- darwin之一万个定时器实现(IdleTask)
- darwin之推流协议详解
- darwin之拉流模块实现
- Darwin Streaming Server 介绍
- 个推技术实现原理介绍
- 个推技术实现原理介绍
- dwr的Reverse Ajax(推技术的实现之一)
- dwr的Reverse Ajax(推技术的实现之一)
- Darwin
- Darwin
- Darwin Streaming Server 6.0.3 之一 : 编译安装
- Darwin中RTSP协议的实现
- Darwin中RTSP协议的实现
- 阿里巴巴内推题目之一
- 递推 钥匙计数之一
- RTMP推流摄像头设计实现0
- openstack 工作流 workflows使用原理讲解
- pthread_cond_t 与 pthread_mutex_t(转载)
- Qualcomm android camera 架构简析及如何debug
- java Thread 线程的.Join()方法
- UILabel lineBreakMode:设置标签文字过长时的显示方式。
- Darwin推流存储实现介绍 之一
- sd/mmc驱动总线函数指针解析
- Ubuntu下Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
- 多维向量vector的初始化
- 计蒜客 数据结构 栈 模板倒水问题
- HDU 2853 Assignment 建图的巧妙性
- 数据库相关知识
- hdu 5831 (Rikka with Parenthesis II)
- 常用数据库validationQuery语句