Linux下的萬能播放器–mplayer

來源:互聯網
上載者:User
文章目錄
  • 1. 前言
  • 2. 編譯安裝mplayer
  • 3. 設定檔
  • 4. 播放APE
  • 5. 全域快速鍵
  • 6. TODO
1. 前言  首先需要說明的是,mplayer並不只有Linux的版本,也有Windows版的,並且也有相當多的使用者。這篇文章主要是記錄我配置使用mplayer中碰到的一些問題和解決方案。mplayer本身功能很強大,但是,強大的功能,往往需要經過一番調教,才能變得易用(sigh... Linux軟體就是這一點不好……)。2. 編譯安裝mplayer  絕大多數Linux發行版都可以直接從源裡面安裝mplayer,如在Debian中可以直接:  sudo apt-get install mplayer  但是源裡面的軟體一般都不是最新的,同時筆者有一點點“潔癖”,很多軟體都喜歡自己編譯一下,主要為了儘可能在編譯時間去掉那些我不用的特性(我是不是該用Gentoo?)。  mplayer首頁:http://www.mplayerhq.hu/design7/dload.html  我是直接下載的svn源碼:

  svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer 

  簡單看一下裡面的README檔案,開始編譯:  ./configure --libdir=/usr/lib/ --enable-gui --language=en,zh_CN --enable-menu
  make -j 2
  make install  參數就不解釋了,./configure --help中可以看到。編譯安裝完了之後,發現-vo不能使用xv,只能用x11,這顯然有點不爽。剛開始還以為是自己的顯卡不行(915集顯,確實很糟……),後來查看configure.log檔案,找到Checking for xv這一段,發現問題出在沒有找到X11/Xlib.h這個標頭檔,於是

  apt-file search Xlib.h

  找到了libx11-dev這個包,安裝上,再重新configure && make之後,-vo就能用xv了。

  寫下上面這一段的主要原因,主要是想強調一點, 當碰到問題時,應該學會自己尋找問題的根源,並解決,這往往比google的效率還要高一些。3. 設定檔  ~/.mplayer/config,自己建立,我的檔案內容如下:        vo=xv,gl_nosw,x11
    ao=alsa,oss

    font='WenQuanYi Micro Hei'
    sub-fuzziness=1
    #subcp=enca:zh:cp936
    subcp=cp936
    subfont-autoscale=2
    subfont-osd-scale=2.5
    subfont-text-scale=3
    ass=true
    embeddedfonts=true
    slang=en,zh
    sid=0

    cache=8192
    skin=iTunes  其中,關於字幕的說明見這裡:http://blog.chinaunix.net/u1/53025/showart_1737097.html  皮膚檔案可以從上面給出的mplayer下載頁面得到。下載後解壓到~/.mplayer/Skins即可。skin是給gmplayer用的,第一次啟動gmplayer時,會根據config檔案產生幾個gui.*的設定檔,以後這些配置就根config獨立了,所以再修改config不會影響到gui.*,如果要修改的話,主要要修改兩處。

  一些常用的快速鍵在manpages中寫的很詳細,這裡有一份很精簡的介紹。 

4. 播放APE  以前一直用的audacious播放ape,但它的CPU佔用率太高,在我電腦上播放同一個ape,audacious佔用20%+的CPU,而mplayer只佔用5%左右,立刻就將audacious卸載了……  但隨之帶來了一個問題,mplayer並不認cue sheet,所以就無法分曲跳轉了。網上搜尋了一把,似乎沒有解決方案,於是決定分割ape檔案。在網上隨便一搜,馬上就有了答案:shntool,具體做法可以參考這篇文章。5. 全域快速鍵  我想這也許算是這篇文章的重點吧,前面的內容網上基本都能搜尋到,全域快速鍵我在網上似乎沒有找到什麼好的解決方案。筆者這兩天剛好用了下xdotool,發現可以向視窗類比發送按鍵動作,於是嘗試之,但碰到一個問題,mplayer並不會修改它所在的那個terminal的標題,而我一般開好幾個terminal,因此無法通過標題找到mplayer的視窗。半天之後頓悟,為啥非得用終端的mplayer,而不用gmplayer呢?立刻嘗試用gmplayer,有獨立的視窗,順利通過

  xdotool search --title "mPlayer"

找到,下面是一個簡單的控制指令碼:

    #!/bin/bash

    WID=`xdotool search --title mPlayer | head -n 1`
    if [ "x$WIDx" == "xx" ]; then echo "No mplayer window found." fi
    case $1 in
        play)
            xdotool type --window $WID " "
            ;;
        pause)
            xdotool type --window $WID " "
            ;;
        next)
            xdotool type --window $WID ">"
            ;;
        prev)
            xdotool type --window $WID ">"
            ;;
        vup)
            xdotool type --window $WID "0"
            ;;
        vdown)
            xdotool type --window $WID "9"
            ;;
        quit)
            xdotool type --window $WID "q"
            ;;
        *)
            echo "unknow arg: $1"
            ;;
    esac

 

  用這個指令碼可以很方便的控制mplayer:control-mplayer prev/next/...  再使用gnome的metacity綁定全域熱鍵,完美搞定!6. TODO  下一步打算研究一下怎樣提取google音樂的榜單以及對應音樂的地址,寫個指令碼,可以直接在命令列開啟mplayer播放指定的榜單。

 

轉載請註明出處:http://www.cnblogs.com/stephenjy/archive/2010/03/02/1676762.html  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.