流媒体
xjdaniel
这个作者很懒,什么都没留下…
展开
-
live555 iPhone静态库编译
live555是一个c/c++写的开源跨平台的支持rtsp,还有H264编码的流媒体库,下载地址和说明都在这里: 支持windows平台,linux平台等多平台。在iphone上如果使用它的cpp源代码,由于环境配置原因可能有许多错误,所以还是采用官方推荐的,控制台编译,生成动态库文件,也避免了胡乱改动源代码而引起错误。使用的时候,只需要导入对应的头文件和静态库文件就可以,还节省编译时间。转载 2012-12-19 09:19:38 · 606 阅读 · 0 评论 -
ES PES PS
1.流媒体系统结构ES:elemental stream 基本数据流;PES:packet elemental stream分组的基本数据流;然后把PES打包成PS ,TS流,PS:program stream;TS:transport stream;DTS(解码时间戳)和PTS(显示时间戳)分别是解码器进行解码和显示帧时相对于SCR(系统参考)的时间戳。SCR可以理解为解转载 2013-04-02 16:19:30 · 617 阅读 · 0 评论 -
PS流包结构分析
一个完整的MPEG-2文件就是一个PS流文件。 MPEG-2文件的构造格式如下图: 以一个实际的MPEG-2文件为例来分析一下PS流,MPEG-2文件: http://download.csdn.net/source/212077 打开文件,可以看到文件以0x0000 01B9结束,即MPEG_Program_end_code,之前有很多个0x000转载 2013-04-02 16:17:25 · 2886 阅读 · 0 评论 -
Darwin Streaming Server 核心代码分析
基本概念首先,我针对的代码是Darwin Streaming Server 6.0.3未经任何改动的版本。Darwin Streaming Server从设计模式上看,采用了Reactor的并发服务器设计模式,如果对Reactor有一定的了解会有助于对Darwin Streaming Server核心代码的理解。Reactor模式是典型的事件触发模式,当有事件发生时则完成相转载 2014-05-11 23:02:37 · 814 阅读 · 0 评论 -
pthread join 和detach 的处理
默认情况下 pthread_create 创建的线程是 joinable的也就是即便pthread线程退出以后,退出状态也不会释放,这时候,如果一直创建的话,就会出现问题。我遇到的就是 pthread_create 返回的 thread id 跟上一次调用时候返回的一样,而pthread_create 也不会报错。程序也就无法继续创建线程了。。。解决的办法就是创建转载 2014-05-19 20:03:39 · 713 阅读 · 0 评论