2010年8月27日
摘要: VLC在0.8.6C版本时,还保持着大部分代码对MSVC编译环境的兼容,到了0.9版本以后,就基本放弃了对MSVC的兼容性了。不过,要在MSVC环境里编译VLC最新版本,也还是有方法可以做到。VC6的编译环境,补丁版本ServicePack5,ProcessorPackSP5。下面仅以一个plugin的移植编译过程来说明。1.首先,将VLC-0.8.6C的msvc目录拷贝到vlc-0.9.9a目录下,这里面有多数plugin的VC6的.dsp工程文件。2.用VC6打开plugin_mp4.dsp,先尝试编译,错误如下:--------------------Configuration:plug 阅读全文
posted @ 2010-08-27 16:53 一个人的天空@ 阅读(3836) 评论(0) 推荐(0) 编辑
摘要: 在做VLC开发的时候,想使用一个模块访问另外一个模块的数据,比如在网络模块得到了一些数据,想在其他模块得到这些数据进行处理,这时候就需要两个模块共享一些变量。查看VLC的源码,发现VLC专门有variables.h和variables.c是用来处理变量的。它提供了一些方法可以创建VLC变量、设置VLC变量、改变、销毁VLC变量等。当我们要产生一个VLC变量的时候,我们使用var_Create()函数;如在UDP模块创建了一个变量,vlc_value_tvalTemp;var_Create(p_access,"var_test",VLC_VAR_STRING);valTemp 阅读全文
posted @ 2010-08-27 15:53 一个人的天空@ 阅读(925) 评论(0) 推荐(0) 编辑
摘要: Hi,Thereareseveralfreeforcommercialuse,publishedRTSPDirectShowSourceFilters,withfullsourcecodeinC++.imustadmitthatittookaLOTofsearchingtofindthem!IwilltellyouaboutonethatIthinkisthebest.LookatthesourcecodeforVLC(VideoLAN)andpulloutthefiles:access.creal.crtsp.crtsp.hThat'sallyouneed.Lookatthesamp 阅读全文
posted @ 2010-08-27 11:18 一个人的天空@ 阅读(645) 评论(0) 推荐(0) 编辑
摘要: Mpgv.c是对mpegvedio的解码部分,从demux开始,到sample到输出。其中,核心部分是函数ParseMPEGBlock。两种数据格式:video_format是video的meta_data,block是实际的数据CodePath:Open()----->Modules/demux/Mpgv.c1)setfunctionpoint.p_sysismainstructurep_demux->pf_demux=Demux;p_demux->pf_control=Control;p_demux->p_sys=p_sys=malloc(sizeof(demux_ 阅读全文
posted @ 2010-08-27 10:38 一个人的天空@ 阅读(1393) 评论(0) 推荐(0) 编辑
摘要: 输入模块的CodePath,看来主要的分析还是在demux和access模块的分析。现在的codepath只是大致的模块input_CreateThread2--->Create()---->Run()---->Init()vlm.cinput.cinput.cinput.c---->input_EsOutNew()input.c---->[1]InputSourceInitinput.c1)-->demux2_New--->__demux2_New-->module_Need(p_demux,"access_demux",p 阅读全文
posted @ 2010-08-27 10:37 一个人的天空@ 阅读(1106) 评论(0) 推荐(0) 编辑
摘要: 概述代码从两大部分入手,一个telnet的deamon。还有就是rtsp的实现部分。结果发现,他们通过了一个桥梁vlm的media进行沟通。当受到newMEDIANAMEvodenabled就建立一个media。如果受到setupMEDIANAMEinputfilename.mpg就读入流准备分析,建立input流当受到rtsp的请求后,就建立这个output流这样,vod就和别的模块一致了。rtsp只是一种output流的module。代码分析1./modules/control/telnet.c/*********************************************** 阅读全文
posted @ 2010-08-27 10:36 一个人的天空@ 阅读(2109) 评论(0) 推荐(0) 编辑
摘要: 1.vlc.c只是入口程序2.Libvlc.c是各个模块的结合点,这要是对接口编程Vlc_Create():两个重要的数据结构:libvlc_t&vlc_t,所有的参数传递都在这里面Vlc_Init():初始化参数,module_bankVlc_AddInf():添加module3./src/misc/configure.c命令行参数和参数文件分析参数文件是~/.vnc/vlcrc。其中可以设置log文件的位置4./include/所有头文件的集合5./src/interface/Interface.h所有module的集合6./src/misc/Modules.c其中module_t 阅读全文
posted @ 2010-08-27 10:36 一个人的天空@ 阅读(4106) 评论(2) 推荐(0) 编辑
摘要: 从接收到数据流到播放视频的过程分析从网络接收到流->对数据流进行视频和音频分离->对视频用解码器解码->显示解码后的视频流视频显示部分走势线:分离->解码->新的VOUT缓冲区->VOUT线程Demux(modules\demux\mpeg\ps.c)->DemuxPs(modules\demux\mpeg\system.c)->ParsePS->input_SelectES(src\input\input_programs.c)->input_RunDecoder(src\input\input_dec.c)->CreateD 阅读全文
posted @ 2010-08-27 10:14 一个人的天空@ 阅读(2060) 评论(0) 推荐(0) 编辑
摘要: 网络数据流接收处理分析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 一个人的天空@ 阅读(1010) 评论(0) 推荐(0) 编辑
摘要: 第一部分变量及宏定义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 一个人的天空@ 阅读(859) 评论(0) 推荐(0) 编辑
摘要: 一.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 一个人的天空@ 阅读(693) 评论(0) 推荐(0) 编辑
摘要: 一.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 一个人的天空@ 阅读(709) 评论(0) 推荐(0) 编辑
摘要: 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 一个人的天空@ 阅读(670) 评论(0) 推荐(0) 编辑
摘要: 一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 一个人的天空@ 阅读(2266) 评论(0) 推荐(0) 编辑