随笔分类 -  多媒体编程

vlc学习计划(6)--网络数据流接收处理过程分析
摘要:网络数据流接收处理分析1、在input.c(src\input)文件中的主线程循环ThreadinchargeofprocessingthenetworkpacketsanddemultiplexingRunThread(input_thread_t*p_input){InitThread(p_input);…………………………………………………….input_SelectES(p_input,p_input->stream.p_newly_selected_es);……………………………………………………./*Readanddemultiplexsomedata.*/i_count=p 阅读全文
posted @ 2010-08-27 10:11 一个人的天空@ 阅读(1020) 评论(0) 推荐(0)
vlc学习计划(5)--VLC程序宏及线程分析
摘要:第一部分变量及宏定义1.消息映射宏vlc_module_begin();…………………..vlc_module_end();2.结构中包含函数structinput_thread_t{VLC_COMMON_MEMBERS/*Threadproperties*/vlc_bool_tb_eof;vlc_bool_tb_out_pace_control;/*Accessmodule*/module_t*p_access;ssize_t(*pf_read)(input_thread_t*,byte_t*,size_t);int(*pf_set_program)(input_thread_t*,pgrm 阅读全文
posted @ 2010-08-27 10:10 一个人的天空@ 阅读(887) 评论(0) 推荐(0)
vlc学习计划(4)--在EMACS中使用GDB调试
摘要:一.EMACS中调试1、usingtheclipboardM-xmenu-bar-enable-clipboard(makecut,copy,pastymenuitems,usetheclipboard)2、using“wheel”miceM-xmouse-wheel-mode(激活中间的滚动键)3、退出出任何命令状态C-g4、进入编译模式M-xcompile或者从菜单-》TOOLS-》COMPILE5、用COMPILE模式C-x`(搜索出错的源代码行)<RET>(光标定位在compilebuffer的出错提示行上,按〈RET〉键,会跳到出错的源代码行)C-uC-x`在compil 阅读全文
posted @ 2010-08-27 10:09 一个人的天空@ 阅读(708) 评论(0) 推荐(0)
vlc学习计划(3)--VLC及其他播放器
摘要:一.rm格式的播放器:下载地址:http://www.real.com/linux/?src=020923home_cn_cn安装方式:~#./realplayer.bin打开方式:命令行:~#realplayGUI:redhat->audioandvideo->otherapp->realplayer二.mp3播放器:xmms-1.2.8.tar.gz安装方式:./configure&make&makeinstall三.经验:从源码编译安装Mplayer1.0pre5来自:http://yangchengkai.blogchina.com/blog/refe 阅读全文
posted @ 2010-08-27 10:07 一个人的天空@ 阅读(720) 评论(0) 推荐(0)
vlc学习计划(2)---二进制包安装及使用
摘要:1.在RH9上的安装需要1).RH9的升级包.2).FC2的RPM包详细说明清参见:http://www.videolan.org/vlc/download-redhat.html以上VLC版本为:0.7.22.下载RH9的升级包http://download.videolan.org/pub/videolan/vlc/0.7.2/rpm/redhat/rh9/3.下载FC2的RPM包http://download.videolan.org/pub/videolan/vlc/0.7.2/rpm/fedora/fc2/二进制包为:vlc-binary.tar.gz4.将RH9的升级包和vlc-b 阅读全文
posted @ 2010-08-27 10:06 一个人的天空@ 阅读(702) 评论(0) 推荐(0)
VLC 学习计划---文档阅读
摘要:一videolan-howto-en-html该文档完全描述了VideoLAN"流"的解决方法.VideoLAN项目包括两个软件.1)VLC:以前是视频流接收的客户端,但是现在也可以作为服务端工作.2)VLS:视频服务端,能发送MPEG-1,MPEG-2andMPEG-4files,DVDs,digitalsatellitechannels,digitalterrestialtelevisionchannelsandlivevideosonthenetworkinunicastormulticast.1.VLC在REDHAT下的安装从下面的链接中下载vlc的包和包所需要的库 阅读全文
posted @ 2010-08-27 10:04 一个人的天空@ 阅读(2284) 评论(0) 推荐(0)
在windows 使用vs2008编译live555
摘要:基于liveMedia的程序,需要通过继承UsageEnvironment抽象类和TaskScheduler抽象类,定义相应的类来处理事件调度,数据读写以及错误处理。live项目的源代码里有这些类的一个实现,这就是“BasicUsageEnvironment”库。1.live555源代码简介liveMedia项目的源代码包括四个基本的库,各种测试代码以及IVE555MediaServer。四个基本的库分别是UsageEnvironment&TaskScheduler,groupsock,liveMedia,BasicUsageEnvironment。UsageEnvironment和T 阅读全文
posted @ 2010-08-25 10:46 一个人的天空@ 阅读(3762) 评论(0) 推荐(1)
DirectShow一些流程
摘要:以dsnetwork为例,Directshow协商过程:1.BuildGraph维护着链表,有各个filter的链接信息.首先对输入filter和输入filter1.ConnectFilter中协商类型:我们实现的ConnectFilter方法:1).枚举输入pin的每个媒体类型:EnumPins由basefilter创建一个IEnumPin接口,basefilter已经实现,IEnumPin的next方法中会调用basefilter::GetPinCount(),和basefilter::GetPin(index)获取的每一个IOutputPin首先通过调用UpPin->Connect 阅读全文
posted @ 2010-08-18 13:39 一个人的天空@ 阅读(3296) 评论(0) 推荐(0)
参数平衡特技(ParamEQ)
摘要:参数平衡特技的参数通过下面的结构来调整:typedefstruct_DSFXParamEq{FLOATfCenter;//中心的频率,单位是hz,取值范围是80.0fhz~~16000.0f,缺省值是8000hzFLOATfBandwidth;//音的带宽,以半音为单位,取值范围是1.0f~~36.0f,缺省值是12FLOATfGain;//音频的音量,以db为单位,取值范围是-15.0db~~15.0fdb,缺省值是0db}DSFXParamEq,*LPDSFXParamEq;我们在程序中可以定义这个结构的对象,如下:LPDIRECTSOUNDFXPARAMEQ8g_pParamEq=NUL 阅读全文
posted @ 2010-08-16 11:25 一个人的天空@ 阅读(604) 评论(0) 推荐(0)
DSound的所有音频特技使用和参数解释详细笔记(音频特效)[静态缓冲]
摘要:#defineSTRICT#include<windows.h>#include"resource.h"#include<basetsd.h>#include<commdlg.h>#include<mmreg.h>#include<dxerr9.h>#include<dsound.h>#include<DSUtil.h>#include<DXUtil.h>#include<DSUtil.cpp>#include<DXUtil.cpp>#pragmacomm 阅读全文
posted @ 2010-08-12 15:09 一个人的天空@ 阅读(2511) 评论(0) 推荐(0)
RTSP实例解析
摘要:核心提示:rtsp简介(ZT)RealTimeStreamingProtocol或者RTSP(实时流媒体协议),是由Realnetwork和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一种可扩展的框架,使能够提供能控制的,按需传输实时数据,比如音频和视频文件rtsp简介(ZT)RealTimeStreamingProtocol或者RTSP(实时流媒体协议),是由Realnetwork和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一种可扩展的框架,使能够提供能控制的,按需传输实时数据,比如音频和视频文件。源数 阅读全文
posted @ 2010-08-12 11:35 一个人的天空@ 阅读(44297) 评论(3) 推荐(2)
How-to compile MPC-HC
摘要:PartA:PreparingtheVisualStudioenvironment.1.InstallVisualC++2008,partoftheVisualStudiopackagedownloadablehere:URL:http://msdn.microsoft.com/en-us/evalcenter/bb633753.aspx).Note:Expresseditionwon'twork(it'smissingMFC,whichMPC-HCuses).2.InstallServicePack1(SP1)forVisualStudio2008andalltheVisua 阅读全文
posted @ 2010-08-04 12:41 一个人的天空@ 阅读(1404) 评论(0) 推荐(0)
Media Player Classic(guliverkli)源代码的下载与编译
摘要:MediaPlayerClassic(guliverkli)是由匈牙利人Gabest开发,基于源代码开放协议(GPL:GNU通用公共许可证)的软件,暴风影音等不少播放器都是在它的基础上做出来的,在sourceforge.net上的项目叫做guliverkli,地址是:http://sourceforge.net/projects/guliverkli/.1.下载guliverkli首先安装TortoiseSVN客户端,通过地址:https://guliverkli.svn.sourceforge.net/svnroot/guliverkli检出源代码。2.编译guliverkli注意:需要使用 阅读全文
posted @ 2010-06-26 20:15 一个人的天空@ 阅读(1224) 评论(0) 推荐(1)
多媒体开发指南
摘要:设置(Profile)一个设置是一个ASF的配置(configuration)的描述数据集合。一个设置必须至少包含一个流的配置设置。流信息设置中的流信息包含流的比特率(bitrate),缓冲窗口和媒体属性的设置。视频和音频的流信息准确描述了文件中的媒体配置,包括压缩数据使用的编码和解码器(如果有的话)。一个设置也包含很多创建ASF文件时使用的ASF的特性,这包括互斥、媒体优先级、带宽共享和数据单位扩展。每次写文件时必须提供设置。你可以调用IWMWriter::SetProfile指定一个设置。设置有三种形式,应用程序中设置对象包含的数据,XML文件,或者ASF文件头。设置对象可以用设置管理器创 阅读全文
posted @ 2010-05-17 16:32 一个人的天空@ 阅读(1903) 评论(0) 推荐(0)
音频捕捉(directshow)
摘要:现在的所谓多媒体电脑一般都会有声卡(软声卡或硬声卡),有声卡就能进行音频的捕捉。大家一定熟悉Windows自带的附件“录音机”程序,可以通过麦克风进行录音,最终生成一个Wave文件。读完本文之后,你就会发现,自己使用DirectShow写一个音频捕捉的应用程序,原来也是这么的容易!大家知道,DirectShow对硬件的支持是通过特定的包装Filter来实现的。声卡使用的是AudioCaptureFilter,Filter内部使用以waveIn开头的一套API实现(如waveInOpen等)。运行GraphEdit,插入Filter时,在“AudioCaptureSources”目录下,我们就能 阅读全文
posted @ 2010-03-24 16:39 一个人的天空@ 阅读(3735) 评论(2) 推荐(0)
令人崩溃的mux
摘要:最近的工作确实不顺利,很是郁闷。前几天搞的H264mux已经没有问题了,这两天的vwmv就怎么也不成功。用FileWriter写文件没问题,Dump就失败。代码我是看了无数遍,本以为就改个AM_MEDIA_TYPE的subtype和bmiHeader.biCompression就行了。结果问题还真出在这个AM_MEDIA_TYPE上了。读取SourceFiler的OutPin就OK了。就这么点个事就浪费了我两天时间啊,今天问领导后才确认出问题,不是我不够认真,实在是对DirectXShow没有经验啊。以后得多看看这方面资料了,继续努力,将空白填满。我相信我一定会做好的。 阅读全文
posted @ 2010-03-23 23:34 一个人的天空@ 阅读(311) 评论(0) 推荐(0)