
流媒体
文章平均质量分 78
wlCran
这个作者很懒,什么都没留下…
展开
-
Darwin Streaming Server程序结构分析
Darwin Streaming Server是Apple公司提供的开源实时流媒体播放服务器程序。整个程序使用C++编写,在设计上遵循高性能,简单,模块化等程序设计原则,务求做到程序高效,可扩充性好。本文简述了程序的整个结构,目的是为了以后阅读及修改程序的方便。1. 前言Darwin Streaming Server是Apple公司提供的开源实时流媒体播放服务器程序。整个程序使用C++转载 2015-11-13 18:45:36 · 626 阅读 · 0 评论 -
用Darwin和live555实现的直播框架
用Darwin实现流媒体转发程序2013-02-21 09:20 1091人阅读 评论(18) 收藏 举报DSS源码中已经实现了由源端主动推送视频,再将视频转发到客户端的功能,在基于DSS的先侦听后推送式流媒体转发:http://blog.youkuaiyun.com/xiejiashu/article/details/8298583中已经描述,代码可以在http://download.c转载 2015-11-14 15:15:18 · 832 阅读 · 0 评论 -
编写Darwin的Module来支持新的流媒体文件格式
Darwin是Apple公司的开源视频服务器,支持通过编写Module来进行扩展,从而支持新的流媒体封装格式。本文给出如何编写支持新的流媒体封装格式的Module。Darwin的Module必须实现两个函数,其中一个在服务器加载Module的时候被调用,这个函数的名字必须是ModuleName_Main,其中ModuleName就是模块的名字,如果采用动态模块,编译后的模块文件名也必须是这转载 2015-12-21 14:11:15 · 470 阅读 · 0 评论 -
Live555通过SDP文本信息实现对RTP的接收
笔者最近因为工做中需要用到此功能,特把实现方法分享给有兴趣的网友。我的方法来自Live555官方论坛最权威的方案,如下:[Live-devel] Once again, SDP support for Live555 & interaction with FFMpeg1.First, create a “MediaSession” object, by calling“Medi转载 2015-12-21 13:54:31 · 3024 阅读 · 0 评论 -
Live555性能优化实践
网上很多文章提到了Live555的单线程任务调度模式,在用作RTSP服务时,导致了在并发量较多或者磁盘性能不佳时会导致性能较差,并发数受限。笔者通过在做基于海思3531编码器和解码器的过程当中(提供基于2路H264+1路AAC的TS流编码(输入为RTSP TS流)和RTSP流媒体解码播放),有以下2点收获,特分享给有需要的同仁。优化1:同步读取数据源修改为异步读取数据源, FramedSour转载 2015-12-21 10:48:29 · 5726 阅读 · 1 评论 -
深刻理解Live555源码,掌握这把RTSP,RTP的瑞士军刀
我无意评价Live555的源码是否优雅易懂,但对于我这种C++设计模式应用不熟的IT老兵,还是很难直接通过阅读源码深刻清晰,一目了然的理解其中的调用逻辑。Live555中关于RTSP的Session,SubSession的概念,以及FramedSource和Sink的抽象都很不错的。但对于其任务单步调用机制,以及如何读取一帧数据及时发出一帧数据的全部逻辑, 真不容易得到清晰的处理逻辑。实践出真知,转载 2015-12-21 10:39:11 · 2622 阅读 · 0 评论 -
Live555 + Darwin Streaming Server(DSS)视频直播方案
该方案的实现原理是,通过Live555的DarwinInjector Class,把本地采集的音频和视频流,注入到DSS服务器。客户端就可以直接访问DSS服务器(不是Live555所在的采集端)来访问实时流媒体数据。这种方案的优点:》保证了单台DSS服务器并发量可以上几百。》DSS服务可以像承载点播一样,实现直播。》支持多路直播,就跟增加一个点播文件一样简单。缺点:》延时一转载 2015-12-21 10:24:11 · 3438 阅读 · 0 评论