24/4畢業設計小記

折騰了很久了,關於我的畢業設計,一直就沒有時間來寫博客,今天感冒了,趁着思路不太好的時候就寫一篇博客吧!寫什麼好呢,就寫基於vlc sdk的播放器開發吧!

我的項目是關於windows和linux兩個平臺的網絡通信,題目本身的範圍很廣,我的想法是進行遠程的實時視頻傳輸,包括攝像頭視頻,本地視頻或者屏幕錄像的傳輸,再配合一些文件的傳輸操作。當然可以通俗易懂的說類似於扣扣的網絡聊天,只不過嚴格意義上並不是。

廢話不多說了,我此刻的目標就是開發一款播放器,如果要靠自己完全去寫,那也不現實,畢竟要了解的東西太多了,視頻的編解碼,打包,封裝,音頻的編解碼,視音頻的同步等等。我之前考慮過用微軟的direct show來進行開發,它封裝了很多功能的filter,步驟也不算特別難,但是整個項目中最難的部分其實不是這裏,而是視頻的編碼發送,和接收解碼。查了很多資料,最後決定用ffmpeg來進行編解碼,當然後來無意中搜到關於vlc的一些東西,原諒我第一次聽說vlc,它能進行網絡流的解碼播放,支持http,httpd,rtsp,rtmp等協議,所以火速下載了vlc fow windows,安裝,體驗了這款播放器,我主要在乎的是它的網絡流的解碼播放功能如何,於是找了幾個公開的rtsp地址進行播放,實驗成成功。我爲什麼要說這個呢?因爲ffmpeg,對,因爲ffmpeg可以實時採集攝像頭或者錄屏進行rtp流的發佈,那麼嚴格來說我就不用去關心中間的編碼發送接收解碼等細節,這也行?爲什麼不行呢,我把vlc嵌入自己的應用中,關心更多的用戶體驗方面的設計,或者其他的一些東西,提高開發的效率,有何不可?

當然別看我說起來好像我的畢業設計就此搞定,但是遠遠不是我想的那麼容易。

那麼一直說不說廢話了還說了這麼多廢話的情況下,有必要真的不說廢話了。那麼就來點乾貨。百度一搜”vlc 播放器開發”第一個跳出來的是點我。大神的源碼下載之後,進行研究,發現關於播放器的那些還真不難,比如播放,快進,快退,暫停,抓圖,停止等,vlc 的sdk完全封裝好了,只需要調用即可。

整個工程的源碼很容易理解,在此我就不細說了,各位看官自行研究。我對MFC的接觸很早,但僅僅是接觸,所以,爲了修改成自己的播放器,包括界面,背景,快捷鍵等,需要進行自己的創造。接下來幾篇博客,我會就某一個小小的問題或者功能進行詳述。我再次聲明,我幾乎是小白,理解的有不對的地方望海涵,當然接收拍磚,不拍磚怎麼成長,對不?

就到這吧,寫得一點邏輯都沒有,看來感冒真的把腦子燒壞了!本來說4月底儘量搞完,看來又得延長几天了!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章