打造字元介面的多媒體Linux系統
0 環境與目標
硬體:ThinkPad R52筆記本一台。
目標:字元介面的LINUX系統,同時可以看圖片,聽音樂,看視頻,無線上網。
1 系統安裝
1.1 最小安裝系統
官網下載CentOS 6.4-minimal鏡像,燒錄光碟片安裝系統,系統自身已經支援framebuffer。
1.2 啟動framebuffer支援
修改/boot/grub/grub.conf檔案,增加核心啟動參數 vga=791 ,以啟動framebuffer模式。
1.3 串連Internet,安裝工具
配置有線網卡IP,串連Internet。
yum安裝pciutils,usbutils以查看硬體裝置情況。
yum安裝wget以下載源碼包。
2 我們要聽音樂、看電影、看圖片了
2.1 音效卡測試
yum安裝alsa-utils,用來測試音效卡工作情況,系統本身已經支援此筆記本的音效卡,lspci可以看到音效卡資訊。
運行alsamixer命令調整音量大小,運行aplay播放一個wav格式的音頻檔案,發出聲音說明音效卡工作正常了。
2.2 源碼安裝mplayer,支援大多數音視頻檔案
官網下載mplayer源碼以及編解碼庫,把編解碼庫解壓並把裡面的所有內容(注意不是檔案夾本身,而是解壓後檔案夾裡面的內容)放到/usr/local/lib/codecs/下。
下載yasm,這個東西編譯mplayer時需要使用,不知道為啥官網上就是下不了,最後從CSDN上下的。
解壓mplayer源碼,按照README的說明編譯安裝(不需要GUI),編譯時間較長,耐心等待。
2.3 讓mplayer發出聲音
mplayer使用的是OSS標準的聲音驅動介面,所以需要使用ALSA類比OSS,其實也很簡單,就是如下:
modprobe snd_pcm_oss
至此,mplayer已經可以正確播放大多數音視頻了,包括mp3, rmvb。
2.4 看圖片
首先yum安裝libpng和libjpg庫,這樣mgaview才支援png,jpg格式的圖片。
然後下載mgaview源碼,編譯安裝即可。注意:編譯時間會出現2個Error,修改對應的源碼即可(加括弧修正)。
3 我們要無線上網了
3.1 安裝無線工具包
yum安裝wireless-tools,wpa_supplicant以設定無線網卡接入WIFI。
3.2 安裝無線網卡韌體
系統本身已經能正確載入無線網卡的驅動了,lspci 可以看裝置。但是需要下載ipw2200-bss.fw這個韌體檔案到/lib/firmware目錄下。
運行iwconfig 命令查看無線網卡情況,發現無線網卡名為eth1。
3.3 接入WIFI
運行iwlist scanning命令掃描當前可見的SSID,找到需要的那一個,記下ESSID名字備用。
建立/etc/my_wpa_supplicant.conf檔案,內容如下:
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="上面記下的ESSID名字"
psk="WIFI密碼"
}
運行如下命令串連WIFI
wpa_supplicant -B -i eth1 -c /etc/my_wpa_supplicant.conf
運行如下命令擷取IP地址
dhclient eth1
此時,已經接入WIFI了,通過iwconfig命令查看是否正常。
4 我們要使用串口了(網路工程師需要)
4.1 準備USB轉COM轉接頭
我使用的是Z-TEK,預設系統已經有其驅動,lsusb可以看裝置。插入後的裝置名稱是/dev/ttyUSB0.
4.2 安裝minicom超級終端
yum安裝即可。
4.3 設定minicom
運行minicom -s 設定裝置名稱、速率等參數並儲存。
5 截屏工具fbgrab
5.1 安裝依賴庫
官網顯示fbgrab依賴與splint, libpng, zlib。其中的libpng,和zlib我們已經安裝了。
對於splint,其實是一個靜態檢測代碼的工具,可以不用的,方法是:
去掉fbgrab的Makefile中的splint行。
5.2 編譯安裝fbgrab
如上所述,解壓後,去掉Makefile中德splint行,直接make,make install。
如下命令就能完成截屏,並儲存為png檔案。 fbgrab 存放路徑/圖片名稱.png。
本文附近中的就是這樣完成的,為了不破壞映像顯示,可以使用fbgrab的-s參數,或者使用ssh遠程登陸操作。
附錄:系統啟動並執行幾個
圖一 運行命令mplayer -zoom -x 400 -y 300 影音檔案.rmvb
圖二 運行命令為 mgaview 圖片檔案名稱