第一篇:Mplayer学习总结一
总结一
首先,在fedora14编译和安装mplayer。在官网下了源码:MPlayer-1.0rc3.tar.bz2,编译安装就是./configure,make,make install三部曲。但是,不知道为什么在make时出错。出现如下的错误:“/usr/lib/libgif.so.4: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make: *** [mplayer] 错误 1”
以为版本mplayer版本太高,后来就下了MPlayer-1.0rc2.tar.bz2重新编译。但在make时出现了新错误,如下:
vo_ivtv.c:80: warning: unused variable ''sd1''
vo_ivtv.c:79: warning: unused variable ''sd''或者-o vo_ivtv.o vo_ivtv.cvo_ivtv.c: In function 'ivtv_reset':vo_ivtv.c:79: error: storage size of 'sd' isn't knownvo_ivtv.c:80: error: storage size of 'sd1' isn't knownvo_ivtv.c:84: error:
…………
在网上查了资料后,知道之前配置出现了问题,./configure 后面应加上——disable-ivtv 屏蔽ivtv(若不屏蔽,make时将出现-o vo_ivtv.o vo_ivtv.c错误),这个问题解决后,又出现了刚开始的问题。又在网上找到资料后知道,产 生这个问题的原因是lib库引用错了:QuantizeBuffer是libgif里的东西, 但是却引用成-lungif。解决办法:找到Makefile引用的地方, 把-lungif改成-lgif就可以了。位置在:MPlayer-1.0rc2目录下包含的一个config.mak里(大概是46行)。
这个问题解决后,后面就顺利安装上Mplayer了。
接着就是开始看源码了,了解mplayer的框架。看代码当然需要一个好软件,这样才能提高阅读效率。在windows下可以用source insight软件,而在linux下通过vim+ctags+Tlist可以得到同样的效果。这里就要熟悉各种命令,在网上也查了一些用法。比较常用的是查找和变量跳转。这时自己也好好熟悉一下,vim的一些常用的快捷键,因为在看代码时要经常用到。
看代码时,刚开始真的是无从下手,因为太多了,各种跳转,没有侧重点。在网上查了些资料,发现这方面的资料也挺少的。后来,看了一下视频播放原理的资料。mplayer本身就是一个播放器,原理也是大同小异。大体来说播放视频分4个步骤:1)获取音视频 2)音视频分离 3)音视频解码 4)音视频输出。在源码里,/stream目录对应的功能主要是实现接收和获取音视频; /libmpdemux是解复用,作用是分离音视频;/libmpcodecs作用是解码;/libvo为视频输出;/libao2为音频的输出。
开始不太明白为什么要分离音视频,查资料后知道,其实之所以需要demux,是因为音视频在制作的时候实际上都是独立编码的,得到的是分开的数据,为了传输方便必须要用某种方式合起来,这就有了各种封装格式也就有了demux。因为原始的音视频都是占用大量空间,而且冗余度较高的数据,通常在制作的时候就会进行某种压缩。所以,在解码之前需要先分离。
解码是比较重要的一部分,解出来是一张张图片,最终会输出到显示器上。这里解码器只负责解码,把解码后的帧传给一个过渡变量,不负责显示。
显示的时候,有些函数接口可以调用显卡加速功能,不然,直接一张一张图片刷在屏幕上,会很慢。同时,音频和视频在demux之后就是独立的,但是需要有一套机制把它们同步起来。同时我们需要有一套机制来控制速度、暂停、停止、跳进,获取各种媒体信息,这些都是很复杂而又很重要的事情。
这周只是查了些网上资料,大概了解了一下mplayer,代码还没有怎么细看。接下来就要就某模块细看代码,好好理清各个模块的作用,是怎么样分离视频流和音频流,解码接口函数如何调用,如截图功能,就得好好看看libmpcodes/mp_image.c, 看看解码后的图片是怎样储存的。
第二篇:Mplayer学习总结二
总结 上周找到了截图的核心函数接口是在libvo/vo_jpeg.c里,这周的任务主要是研究这些截图函数是如何和前面的主函数连接起来的。
从mplayer.c里面main()函数开始看,截图最重要还是palyer video(3684行)那部分,而里面的update_video()是核心,通过调试知道不管是截图和播放视频都经过它。在update_video()里面包括两方面的内容:视频解码(decode_video())和解码后的视频过滤(filter_video())。之前一直研究视频解码后返回的mpi(一幅图片相关的结构体变量)后,到底怎么处理的。通过反复的调试,终于知道了视频解码后就把mpi传给了 filter_video()(在libmpcodecs/dec_video.c定义的)。
在filter_video()里,不断地屏蔽某些函数接口不断调试,发现在filter_video()里有个核心函数接口:put_image。后来查了一下,put_image()总共有82处用到,几乎都在libmpcodecs文件里。在filter_video()里屏蔽了put_image()后,发现mplayr还能播放,只是播放的画面很快,尝试了一下截图,截图失败。这说明了,截图是在put_image()中或者是put_image()后实现的。只是不确定是在里面实现还是在后面实现。也尝试一下屏蔽filter_video()里面的vf->control()函数,对播放视频和截图都没有影响,说明这个函数在这里的作用可能是控制视频输出的。
filter_video()核心部分还是那个vf->put_image(), 继续跳进去,来到libmpcodecs/vf_vo.c里put_image()(177行)的定义处,之前说过,put_image()总共有82处用到,后来通过播放不同视频验证了,最终都会回到libmpcodecs/vf_vo.c里的put_image(),这说明了,播放视频或截图时可能调用了很多个put_image(), 但可能是由vf_vo.c那里的put_image()分发出去或者最终回到这里。而在vf_vo.c里
put_image()有一个截图核心函数 video_out->draw_fame()(192行),后来调试一下,屏蔽了这个函数肯定不能截图,却不影响视频播放,之后也屏蔽了其它的函数截图,对播放视频和截图都没有影响。这说明,vf_vo.c里put_image()的功能主要是截图,和播放视频不太相关。在回到libvo/vo_jpeg.c看了一下,确定了libmpcodecs/vf_vo.c里put_image()的video_out->draw_fame()就是截图的入口函数。但是,后来调试验证了一下,只是输入播放视频的命令,播放视频时也会调用这个接口,却进不去libvo/vo_jpeg.c,所以不能截图。不能截图也是正常的,因为截图的图片格式有很多种,还有draw_fame()也有很多地方定义了(各种格式图片的截图都定义了)。而输入截图命令就能进入截图。这说明,这个虽然是截图入口,但在截图前mplayer进行了一些截图的命令配置,如果没有这些命令的截图配置,就算调了这个函数也不会进去libvo里那些截图核心函数,所以不能截图。
通过这些的研究,也理清了mplayer的截图流程了。大体就这样的:在update_video()里进行解码和视频过滤,在视频过滤中调用put_image(),然后就跳到libmpcodecs/vf_vo.c里put_image()里,在put_image()里再调用截图入口函数video_out->draw_fame(),但是,这时调用了不一定就能进去,这时如果检测到截图命令,才回真正进入libvo/vo_jpeg.c(不一定是jpg, 看你要截哪种格式的图片)里面实现最终的截图。
所以最终也得回到命令解析那部分,看看截图命令如何配置。
回到mplayer.c的main函数里,重点看了一下m_config_preparse_command_line(),这个函数主要处理了运行mplayer时,我们输入的那一连串命令。在里面跟着函数找,最后会跳到m_config.c里,里面是各种配置处理。只是找到尽头,还是没找到函数是怎么调用这些命令函数的。这些是下周要做的任务。
想尝试一下不通过命令解析,自己直接mplayer.c的main函数写个接口函数看能不能截图。就认真看了一下libvo/vo_jpeg.c里面的函数,发现里面有一个LIBVO_EXTERN(),是一个宏定义,这个是连接libvo/vo_jpeg.c里函数的关键,是在libvo/video_out_internal.h定义的。尝试一下,在update_video()里,当某个临时变量累加某个值时,调用LIBVO_EXTERN(),看能不能截图,但是make时报错,LIBVO_EXTERN()不是这样调用的。
在找截图函数入口时也验证了一个问题,屏蔽mplayer.c里的mpctx->video_out->flip_page()(3740行),播放视频没有画面输出,但截图功能正常。这说明了,这个函数接口是视频显示的核心,是将解码后的视频帧刷新到屏幕。
第三篇:ubuntu个人安装mplayer心得
ubuntu个人安装mplayer心得.txt ubuntu个人安装mplayer心得0
管理提醒: 本帖被 赫敏 执行加亮操作(2008-11-30)也弄这个弄了一天多的时间 终于可以了 也找了很多的资料 但由于是新手 遇到很多问题 还是要自己动手一
个一个的试过去,现在把自己的安装过程写下来与大家分享,当然资料参考网上也有一些是自己的体会的 由
于很多因素的影响也不一定适合你。但我希望能帮上点忙
下载(最新版的mplayer支持的格式已经很多了解码器我安装我就不说了)
mplayer-20070814.tar.bz2 目前最新版 这个网上有下的
mplayer的skin和字体
http://www.xiexiebang.compilation.去网上Google了下,需要GTK的dev包,继续get,我就不信了:
#sudo apt-get install libgtk1.2-dev
这会安装了15个包:
libglib1.2 libglib1.2-dev libgtk1.2 libgtk1.2-common libgtk1.2-dev libx11-dev libxau-dev libxdmcp-dev libxext-dev libxi-dev pkg-config x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev
configure过后 就可以输入以下命令:
#make
#sudo make install
这样就会在/usr/local/mplayer/bin/下生成gmaplayer图形界面的 与mplayer命令行的
双击gmplayer无法运行 因为没有装默认皮肤
下载上面链接中的任意一个skin解压缩到/usr/local/share/mplayer/Skins目录下,记得一定要把其中一个skin的目录名改为default 比如你的皮肤为 xxx.tar.bz2 #tar jxvf xxx.tar.bz2 #sudo mv xxx /usr/local/share/mplayer/skins/ #cd /usr/local/share/mplayer/skins/ #sudo mv xxx default 安装字体:
# tar jxvf gb2312-kai.tar.bz2 #cd /usr/local/share/mplayer/ #sudo mkdir font #cd ~ # cd gb2312-kai/gkai00mp16 # sudo cp * /usr/local/share/mplayer/font/ 这样就可以运行gmplayer了 而且应用程序的音影中也有mplayer这个选项了 要看什么东东就尽力享受吧呵呵
我安装的是图形界面的mplayer 但是没有与视频关联 打开视频还是用默认的 啥也打不开的播放器打开 修改关联:
有时会遇到想默认用mplayer打开某种格式的影音文件,可以在该文件上点右键,选择”属性“->“打开方式”,点选“Mplayer movie player”(前面有黑点就是选上了),然后关闭”属性“对话框就可以了。还有就是全屏问题了 :
播放时 点全屏后 画面还是原来那么小 只是框架最大化了 解决方法:
编辑 ~/.mplayer/config 加入一行zoom=yes #sudo gedit ~/.mplayer/config 然后在里面加入一行 zoom=y
演讲稿
尊敬的老师们,同学们下午好:
我是来自10级经济学(2)班的学习委,我叫张盼盼,很荣幸有这次机会和大家一起交流担任学习委员这一职务的经验。
转眼间大学生活已经过了一年多,在这一年多的时间里,我一直担任着学习委员这一职务。回望这一年多,自己走过的路,留下的或深或浅的足迹,不仅充满了欢愉,也充满了淡淡的苦涩。一年多的工作,让我学到了很多很多,下面将自己的工作经验和大家一起分享。
学习委员是班上的一个重要职位,在我当初当上它的时候,我就在想一定不要辜负老师及同学们我的信任和支持,一定要把工作做好。要认真负责,态度踏实,要有一定的组织,领导,执行能力,并且做事情要公平,公正,公开,积极落实学校学院的具体工作。作为一名合格的学习委员,要收集学生对老师的意见和老师的教学动态。在很多情况下,老师无法和那么多学生直接打交道,很多老师也无暇顾及那么多的学生,特别是大家刚进入大学,很多人一时还不适应老师的教学模式。学习委员是老师与学生之间沟通的一个桥梁,学习委员要及时地向老师提出同学们的建议和疑问,熟悉老师对学生的基本要求。再次,学习委员在学习上要做好模范带头作用,要有优异的成绩,当同学们向我提出问题时,基本上给同学一个正确的回复。
总之,在一学年的工作之中,我懂得如何落实各项工作,如何和班委有效地分工合作,如何和同学沟通交流并且提高大家的学习积极性。当然,我的工作还存在着很多不足之处。比日:有的时候得不到同学们的响应,同学们不积极主动支持我的工作;在收集同学们对自己工作意见方面做得不够,有些事情做错了,没有周围同学的提醒,自己也没有发觉等等。最严重的一次是,我没有把英语四六级报名的时间,地点通知到位,导致我们班有4名同学错过报名的时间。这次事使我懂得了做事要脚踏实地,不能马虎。
在这次的交流会中,我希望大家可以从中吸取一些好的经验,带动本班级的学习风气,同时也相信大家在大学毕业后找到好的工作。谢谢大家!
第四篇:学习总结一
学习总结
一、夯实理论素养,细读教育专著作为一名新时代的教师,不能只钻研教科书,还要有高屋建瓴的教育思想,有先进的教育理念,而这些信息的获得,读书则是一条很好的途径。本学期结合学校“读书节”活动,我静下心来,细细研读一本教育专著,从中发现,从中反思,从中转变,从中实践,从中总结,力争做一名与时俱进的新型教师。
二、把握培训机会、及时进行内化外出参加教育教学活动的相关培训是教师提高综合素质的主要形式。我在本学期里紧紧抓住每一次外出的机会,进行海绵吸水般的学习。并且利用业余时间和双休日进行消化,做好相关的自学笔记。并且将一些理论成果付诸于我的教育教学实际当中,取得了非常好的效果。使得继续教育的意义落到了实处。
三、重视教学反思、做好反思实践反思是教师发现问题,分析问题的过程。在这一过程中,我结合大量教学杂志、教学参考书中的观点及案例,找出自己在教育教学中存在的问题,并分析问题产生的原因以及由此产生的教育后果特别是对于本学期的几堂公开课、展示课,我都会进行进行“课前反思--课中反思--课后反思-思后实践”并且写好反思案例等,及时总结好理论成果,工作总结《教师个人继续教育工作总结》
第五篇:党课学习总结一
党课总结
(一)第一次这么心潮澎湃,第一次这么激动,一切源于参加了《中北大学党校2009年秋季发展对象培训班开班典礼》。还记得那庄严而又嘹亮的国歌带领着我们大家拉开了这次党课的帷幕,接着与会的诸位老师和领导向我们讲述了这次学习的重要性。
国歌之后,首先是张惠选书记发表的关于《端正动机,牢记宗旨》的讲话:强调了坚持党的宗旨的重要性,应抱有什么样的入党动机,如何正确确立入党动机,如何成为一名合格的共产党员„„关于这些问题的确引人深思,我也思考了很多。我们的建党宗旨是需要时刻牢记,在十七大报告中我们的胡锦涛总书记提出了“四个一定”,意在提醒大家不要忘本。每一个共产党员都应做到“居安思危、戒骄戒躁、加强团结“,才能把我党建设得更好。正确的入党动机是思想上入党的根本问题,是激励人们入党的主观原因,它从根本上决定了每一个党员的素质和行为,是共产党员的世界观、人生观的集中反映。因此,树立正确的入党动机是十分重要的问题。中共党员是为绝大多数人谋利的,要始终全心全意为人民服务,带领和团结全国各族人民实现和平统一。只有标明了服务的要求,才能更好的实现目的,要始终坚持立党为公、执政为民。,并树立正确的意识,以及强烈的求知意识。
第二讲是山西省委党校的高校长的发言报告,他给我们做了有关十七届四中全会的专题辅导。报告中提到了邓稼先等人伟大的付出,我们要搞思想建设,要理论科学武装,以及盲目乐观急于求成的错误。并指出全党要有忧患意识、党员和同志要常怀优党之心、克记兴党之责。高校长就强调了今年是特别的一年——建党88年,建国60年,改革开放30年。正是这特别的一年,召开的十七届四中全会。中国共产党第十七届中央委员会第四次全体会议,于2009年9月15日至18日在北京举行。全会号召全党要紧密团结在以胡锦涛同志为总书记的党中央周围,高举中国特色社会主义伟大旗帜,全面贯彻党的十七大精神,以改革创新精神全面推进党的建设新的伟大工程,团结带领全国各族人民为把党和国家事业继续推向前进而努力奋斗,永远不辜负人民的信任和期望。全会充分肯定党的十
七届三中全会以来中央政治局的工作。必须坚持民主基础上的集中和集中指导下的民主相结合,以保障党员民主权利为根本,以加强党内基层民主建设为基础,切实推进党内民主,广泛凝聚全党意愿和主张,充分发挥各级党组织和广大党员的积极性、主动性、创造性,坚决维护党的集中统一。
第三讲由校团委书记孙豫峰老师的“树立正确价值观,争做四个新一代“的讲解。中间部分还提及了科学发展观,科学发展观的核心是以人为本。坚持以人为本,就是坚持人民群众是历史创造者的唯物史观基本原理,坚持全心全意为人民服务的党的根本宗旨,把依靠人作为发展的根本前提,把提高人作为发展的根本途径,把尊重人作为发展的根本准则,把为了人作为发展的根本目的,始终把实现好、维护好、发展好最广大人民的根本利益作为党和国家一切工作的出发点和落脚点,做到发展为了人民、发展依靠人民、发展成果由人民共享。科学发展观的基本要求是坚持全面协调可持续发展。坚持全面发展,就是以经济建设为中心,推进经济建设、政治建设、文化建设、社会建设共同进步,推进物质文明、政治文明、精神文明、生态文明共同发展,在实现社会全面进步中促进人的全面发展。当前我国发展的阶段性特征和出现的新矛盾新课题,决定了科学发展观对全局工作具有重大的指导意义。
第一天的党课培训结束了,我收获了满满的知识,立志自己一定要努力学习,早日成为一名合格的共产党员,为党和人民的利益奋斗终身,为把我国建设成富强、民主、和谐的社会主义社会而奉献。