第一篇: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.tmdps.cnpilation.去網上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日在北京舉行。全會號召全黨要緊密團結在以胡錦濤同志為總書記的黨中央周圍,高舉中國特色社會主義偉大旗幟,全面貫徹黨的十七大精神,以改革創新精神全面推進黨的建設新的偉大工程,團結帶領全國各族人民為把黨和國家事業繼續推向前進而努力奮斗,永遠不辜負人民的信任和期望。全會充分肯定黨的十
七屆三中全會以來中央政治局的工作。必須堅持民主基礎上的集中和集中指導下的民主相結合,以保障黨員民主權利為根本,以加強黨內基層民主建設為基礎,切實推進黨內民主,廣泛凝聚全黨意愿和主張,充分發揮各級黨組織和廣大黨員的積極性、主動性、創造性,堅決維護黨的集中統一。
第三講由校團委書記孫豫峰老師的“樹立正確價值觀,爭做四個新一代“的講解。中間部分還提及了科學發展觀,科學發展觀的核心是以人為本。堅持以人為本,就是堅持人民群眾是歷史創造者的唯物史觀基本原理,堅持全心全意為人民服務的黨的根本宗旨,把依靠人作為發展的根本前提,把提高人作為發展的根本途徑,把尊重人作為發展的根本準則,把為了人作為發展的根本目的,始終把實現好、維護好、發展好最廣大人民的根本利益作為黨和國家一切工作的出發點和落腳點,做到發展為了人民、發展依靠人民、發展成果由人民共享。科學發展觀的基本要求是堅持全面協調可持續發展。堅持全面發展,就是以經濟建設為中心,推進經濟建設、政治建設、文化建設、社會建設共同進步,推進物質文明、政治文明、精神文明、生態文明共同發展,在實現社會全面進步中促進人的全面發展。當前我國發展的階段性特征和出現的新矛盾新課題,決定了科學發展觀對全局工作具有重大的指導意義。
第一天的黨課培訓結束了,我收獲了滿滿的知識,立志自己一定要努力學習,早日成為一名合格的共產黨員,為黨和人民的利益奮斗終身,為把我國建設成富強、民主、和諧的社會主義社會而奉獻。