多媒体
alien75
人生的真谛就在于简单。
展开
-
水煮TCPMP
去年年底帮别人做一个项目,了解了一下TCPMP,觉得这个软件的结构写得很好就做了些记录,今天偶然翻出来看看觉得可能对正在研究这个软件的人有点帮助就贴出来。如果转载请注明出处,谢谢。TCPMP是一个功能强大开放式的开源多媒体播放器,播放器主要由核心框架模块(common工程)和解码器分离器插件组成。TCPMP的插件非常多,、libmad我们联合几个最常用的插件(ffmpeg、splitter)来转载 2009-03-18 21:51:00 · 746 阅读 · 0 评论 -
H264基础概念
一、MPEG-4说明1、VOP视频编码技术VO(Video Object):视频对象,它是场景中的某个物体,最简单的情况下就是矩形框,它是有生命期的,由时间上连续的许多帧构成。VOP(Video Object Plane):视频对象平面,它可以看作是VO在某一时刻的采样,即一帧VO。2、运动估计与运动补偿技术I-VOP、P-VOP、B-VOP三种帧格式来表征不同的运动补原创 2014-08-06 12:45:43 · 13533 阅读 · 1 评论 -
Agg vs. Cairo 二维绘图引擎之比较和选择
转帖自:http://blog.csdn.net/cheungmine/article/details/5927909 当今时代对于作为二维图形软件开发者, 是幸运的。因为除了Windows GDI/GDI+之外,我们还有很多其他的选择。而且这些选择除了能跨平台之外,性能上与原始GDI/GDI+相比,都不逊色。如果不考虑绘图的效果,使用Win32 GDI函数直接绘图的效率大约是同样的GDI转载 2011-11-15 09:43:40 · 4273 阅读 · 1 评论 -
PCM文件格式简介
PCM文件:模拟音频信号经模数转换(A/D变换)直接形成的二进制序列,该文件没有附加的文件头和文件结束标志。Windows的Convert工具可以把PCM音频格式的文件转换成Microsoft的WAV格式的文件。 脉冲编码调制PCM文件格式简介 将音频数字化,其实就是将声音数字化。最常见的方式是透过脉冲编码调制PCM(Pulse Code Modulation) 。运作原转载 2009-10-12 11:40:00 · 1244 阅读 · 1 评论 -
傅立叶变换的物理意义
1、为什么要进行傅里叶变换,其物理意义是什么?傅立叶变换是数字信号处理领域一种很重要的算法。要知道傅立叶变换算法的意义,首先要了解傅立叶原理的意义。傅立叶原理表明:任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加。而根据该原理创立的傅立叶变换算法利用直接测量到的原始信号,以累加方式来计算该信号中不同正弦波信号的频率、振幅和相位。和傅立叶变换算法对应的是反傅立叶变换算法。该反变换转载 2009-10-10 10:13:00 · 2084 阅读 · 1 评论 -
WINDOWS下对音频的处理过程
WINDOWS下对音频的处理,大致可分为两部分,即音频的输入、输出,和ACM压缩处理。 一般情况下在WINDOWS下可以调用诸如sndPlaySound等API(MCI)来播放一个WAV文件,但那显然不是我们需要做的。必须能够直接对音频数据流进行处理。在WINDOWS下,也为之提供了一系列的API,以waveIn和waveOut开头的一组API就是干这个的。 先说输入吧。常用的相关AP转载 2009-10-07 10:52:00 · 1312 阅读 · 0 评论 -
TCPMP源代码分析---窥豹一斑
由于项目需要,最近看了下TCPMP(.72.sc1)源代码。网上深入分析TCPMP源代码的文章很少。《TCPMP播放器到WINDOWSCE平台的移植编译过程》一文对在EVC下编译TCPMP的介绍甚是详尽,非常适合入手。《WINCE TCPMP应用》与《水煮TCPMP》两篇文章简要介绍了下TCPMP的结构和各部分的功能,个人认为远远没有达到水煮的境界,但还是很值得一看。 TCPMP作为一个转载 2009-09-22 10:17:00 · 2575 阅读 · 2 评论 -
TCPMP源代码分析
播放器主要由核心框架模块(common工程)和解码器、分离器插件组成。TCPMP的插件非常多,其中主要的插件有:interface插件实现了TCPMP的界面,ffmpeg是系统主要的音视频解码模块,splitter是媒体文件分离器。由于ffmpeg的解码效率不高,系统仅使用了ffmpeg的部分功能。并且未使用其中的libavformat模块,而使用splitter模块进行。其他插件暂时没有研究转载 2009-09-22 10:16:00 · 1237 阅读 · 0 评论 -
TCPMP中的Splitter机制
Splitter在TCPMP中主要是通过InputThread线程和主线程中的Format_FillQueue()函数实现的。 InputThread线程中主要通过调用Format_ReadInput()函数,将输入流中的数据读取到内存链表中。 过程如下:得到Reader->InputBuffer,如为空,则调用Format_BufferAlloc()创建调用转载 2009-03-18 21:57:00 · 813 阅读 · 0 评论 -
FFMpeg框架代码阅读
简介FFmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、Matroska、ASF等90多种解码.TCPMP, VLC, MPlayer等开源播放器都用到了FFmpeg。转载 2009-03-18 22:12:00 · 837 阅读 · 0 评论 -
使用vlc-2.21的rtsp点播功能
在学习流媒体播放的时候,是利用vlc-2.2.1做为调试工具的。由于需要对ts流进行rtsp方式点播,在进行rtsp的C/S两端配置时出现了种种问题,经过一番探索解决问题,发现使用命令行的方式比界面方式方便很多,配置的复杂度集中在服务端,客户端则很简单,界面或命令行方式皆可。1、vlc -vvv --extraintf=logger test.ts --sout "#duplicate{dst原创 2015-11-03 15:58:32 · 2179 阅读 · 0 评论