Linux mplayer使用配置文件及加載字幕
Linux mplayer是常用系統,于是我學習研究了Linux mplayer,在這里對大家詳細介紹下Linux mplayer系統應用,希望對大家有用。
先添加源 Livna源倉庫: #yum install livna
如果上面的命令執行失敗的話,就用這一句 : #rpm -ivh http://rpm.livna.org/livna-release.rpm 接下來添加 Fusion源倉庫: # rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rp m # rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm 最后就是重頭戲了:#yum install mplayer-gui #yum install xine #yum install vlc 說實話,每次裝這個都很頭疼,這下總算找了個簡單可行的辦法!
遇到的問題
1,cannot prepare subtitle font.
vim /etc/mplayer/mplayer.conf,將其中的
# Use fontconfig for font selection
fontconfig = yes
修改為
# Use fontconfig for font selection
fontconfig = no
2,創建字體鏈接
ln -s /usr/share/fonts/zh_CN/TrueType/MSYH.TTF ~/.mplayer/subfont.ttf
其中綠色底的是自己選的字體
3,new-face failed. Maybe the font path is wrong.
#cp /usr/share/fonts/zh_CN/TrueType/zysong.ttf /home/xu(為你的用戶名) /.mplayer/subfont.ttf
4,沒有圖像
(1)將 mplayer-preferences-video設為 x11
(2)從 http://www.mplayerhq.hu/MPlayer/releases/codecs/ 下載下面四個文件
all-20071007.tar.bz2
essential-amd64-20071007.tar.bz2
windows-all-20071007.zip
windows-essential-20071007.zip
將上述 4個文件解壓到 /usr/lib/codecs/下,注意是將解壓后的文件放在以上目錄,不是文件夾
Linux也裝了有段時間了,可是看個電影還是要跑到windows去看,真麻煩。因為系統里的Linux mplayer既不能縮放畫面,字幕又不能掛(怪我啦)。前幾天煩死了切換系統,所以決心搞定Linux mplayer,不用再到windows下看電影了。這幾天一直在弄Linux mplayer,好歹也有些心得。 系統環境:Ubuntu 7.04 Linux kernel 2.6.20-16-genric & Slackware 12.0 Linux kernel 2.6.21.5-smp
一、安裝
我采用的是源碼編譯安裝,個人認為這樣對Linux mplayer的安裝能有更好的認識。安裝一共需要兩個文件,都可以到Linux mplayer官網 下載,這里給出兩個地址: MPlayer v1.0rc1 source //MPlayer的源代碼http://www1.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc1.tar.bz2 Linux x86 20061022 //MPlayer的各種解碼器,能播放那么多的文件就靠它了http://www1.mplayerhq.hu/MPlayer/releases/codecs/essential-20061022.tar.bz2 將上述文件下載到你的某個目如/home/YOURNAME/Desktop/MPlayer 將它們解壓,會在Linux mplayer文件夾里生成essential-20061022,MPlayer-1.0rc1兩個子文件夾。
正式安裝前,請檢查你是否滿足下列軟件包的依賴關系
sudo apt-get install build-essential
sudo apt-get install libpng-dev
sudo apt-get install libgtk1.2-dev
#如果你在下面的編譯過程中發現還缺少一些軟件包的依賴,
請到官網 檢查你確了什么再自行安裝。
然后打開你的終端,切換到/home/YOURNAME/Desktop/MPlayer
我把mplayer安裝在/opt/mplayer里是因為我的機器里/opt是單獨的一個分區,如果我下次重裝系統,可以不格式化此分區,新系統仍然可以用這里的文件程序。如果你覺得沒必要,這步可以省略。mplayer默認安裝路徑是/usr/local。現在輸入如下命令:
sudo mkdir /opt/mplayer
sudo mkdir /opt/mplayer/codecs
#這里是注釋,如果你選擇了默認安裝路徑,則是
#sudo mkdir /usr/local/lib/codecs
接著把解碼文件考到一個目錄里:
sudo cp essential-20061022/* /opt/mplayer/codecs/
#這里是注釋,如果你選擇了默認安裝路徑,則是#sudo cp essential-20061022/* /usr/local/lib/codecs/ 接著 cd MPlayer-1.0rc1
./configure –prefix=/opt/mplayer/ –enable-largefiles –enable-menu –enable-freetype –with-codecsdir=/opt/mplayer/codecs/
#這里是注釋,選擇默認路徑的則是
#./configure –prefix=/usr/local/mplayer/ –enable-largefiles –enable-menu –enable-freetype –with-codecs=/usr/local/lib/codecs/
解釋一下各參數的意義:
–prefix=/opt/mplayer/ Linux mplayer安裝路徑
–enable-largefiles 支持2GB以上大小的文件
–enable-menu 支持OSD菜單
–enable-freetype 支持ttf字體
–with-codecsdir=/opt/mplayer/codecs 解碼器安裝路徑
最后沒有選擇默認安裝路徑的還要執行如下,否則跳過:
sudo ln -s /opt/mplayer/bin/mplayer /usr/local/bin/mplayer
sudo ln -s /opt/mplayer/bin/mencoder /usr/local/bin/mencoder
#可以在終端中輸入mplayer直接打開mplayer
sudo ln -s /opt/mplayer/man/man1/mplayer.1 /usr/local/man/man1/mplayer.1
sudo ln -s /opt/mplayer/man/man1/mencoder.1 /usr/local/man/man1/mencoder.1
#mplayer的man文檔
上面的命令如果你重裝系統后,仍要再輸入一遍:)因為/usr/local/bin是環境變量,當你在終端中直接輸入Linux mplayer時,系統會去這些目錄找Linux mplayer這個命令。
這里補充一點,編譯時我并未加上–enable-gui參數,也就是擁有圖形前端的功能。你要加也可以,但是skin的安裝請自行搜索,個人認為命令行+config配置文件足矣。
二、加載字幕
Linux mplayer裝好了,電影也下載完畢,那么在欣賞電影前還要做兩件事情。
1.字幕
一般電影下載下來都有字幕文件的,如果沒有請到射手網 下載字幕。通常最常見的字幕有idx+sub和srt兩種格式的。字幕格式分為圖形格式和文本格式兩種。其中圖形字幕由IDX和SUB文件組成,IDX為索引文件,包括字幕出現的時間及字幕顯示的屬性;SUB文件為字幕文件。文本格式字幕的擴展名為SRT、SMI、SSA或SUB,其中SRT字幕最為流行。
如果是idx+sub字幕請在同一 目錄下保持這樣的文件排列順序:
movfile-CD1.avi
movfile-CD1.idx
movfile-CD1.sub
movfile-CD2.avi
movfile-CD2.idx
movfile-CD2.sub
如果是srt則是:
movfile-CD1.avi
movfile-CD1.chs.srt #中文簡體
movfile-CD1.cht.srt #中文繁體
movfile-CD1.Eng.srt #英文
PS: 由于idx+sub這種是圖形格式的字幕,所以無法指定第三方字體,無法進行字體的大小等調整,但是中文英文都集成了也少了很多srt字幕會出現的編碼、亂碼等問題。
2.字體
請在你的系統中找到一個ttf字體,系統里有很多字體的。我選用的是/usr/share/fonts/truetype/arphic/ukai.ttf。如果你喜歡windows里的黑體,也可以使用simhei.ttf。
idx+sub的字幕很簡單,只要保持我上面所說的,在終端中切到文件所在目錄,然后: mplayer movfile-CD1.avi 這樣,Linux mplayer會自動加載字幕的,你可以通過j鍵來切換中英文字幕了。
srt字幕要這樣:mplayer movfile-CD1.avi -sub movfile-CD1.chs.srt -font /usr/share/fonts/truetype/arphic/ukai.ttf -subcp cp936 簡單說明一下,mplayer + 電影文件名 + -sub + 字幕文件 + -font + 字體文件 + -subcp + 字體編碼。現在還只能播放中文簡體字體,無法切換。
三、詳細介紹字體和srt字幕
上面-subcp cp936這個參數跟srt字幕的編碼有關,你可以用enca movfile-CD1.chs.srt來查看字幕編碼,一般對應關系如下:
字幕編碼__________________-subcp參數 ______gb__________________gb _gb2312__________________gb2312 _____big5__________________big5 _____utf8__________________utf8
一般來講,中文簡體chs字幕用cp936就能顯示了(繁體當然不行) ,如果有亂碼那就嚴格按照enca的結果加參數。英文字幕用哪個都行。 chs都用cp936是為了偷懶,后面講:)so,如果你要看什么語言的字幕,只需把-sub改成對應的字幕文件,-subcp改成對的編碼就ok了。
font參數后面跟的是ttf字體文件路徑,每次打不要煩死啊?下面提供兩種方法:
1.終端中輸入:ln -s /usr/share/fonts/truetype/arphic/ukai.ttf ~/.mplayer/subfont.ttf
如果你有一個單獨的ttf字體文件,那么把它重命名成subfont.ttf后,放到~/.mplayer/下也行。
2.打開/home/YOURNAME/.mplayer/config,添加一行內容:
font=/usr/share/fonts/truetype/arphic/ukai.ttf
其實Linux mplayer還支持另外一種字體–bitmap font。為什么我現在才提到它,因為是想對ttf字體實在沒啥競爭力。為了拓寬大家的視野,在此提一下這種字體的使用方法。對了,還是srt字幕。
1.下載bitmap字體;
你要看中文簡體,到這里 下載,根據你字幕文件的編碼格式下載對應的文件,中文簡體一般可用gb2312,gbk的字體(也就是文件名中包含gb2312或gbk);
繁體的話則要找big5的字體;
英文字幕用以上的字體沒什么問題,如果你喜歡不同的字體風格,可到這里 下載。
2.加載字體;
例如我下載了gb2312-kai這個字體,那么你會發現解壓后里面有兩個文件夾,gkai00mp16和gkai00mp24,數字就代表字體的大小(缺點之一:要讓改變顯示字體就要下載不同的字體文件)。每個文件夾里肯定有一個font.desc和若干其它文件。還是在終端中切到電影文件所在目錄,然后:
Linux mplayer movfile-CD1.avi -sub movfile.-CD1.chs.srt -font /home/YOURNAME/Desktop/gkai00mp16/font.desc -unicode
如果你這時字幕文件用的是cht的,那么亂碼…………英文字幕這樣用也可以加載。
不過bitmap字體雖然缺點比較多,但是Linux mplayer對它支持很好,我之前ttf字體遇到麻煩,bitmap只要都滿足上述條件就能加載字幕了。
四、使用配置文件
說到現在,srt字幕還不能實現像idx+sub字幕那樣切換中英文字幕呢。下面就介紹Linux mplayer的配置文件,實現一些有用的功能。這個文件是/home/YOURNAME/.mplayer/config
貼上我自己的:
zoom=yes#可以視頻畫面縮放
on top=yes#置頂顯示
sub-fuzziness=1#自動加載同目錄下包含電影文件名的所有字幕
sub-autoscale=2#字幕位置
subfont-text-scale=2.5#字幕字體大小
subcp=utf8#
sub-fuzziness是切換不同字幕的關鍵。
-sub-fuzziness
Adjust matching fuzziness when searching for subtitles:
0 exact match
1 load all subs containing movie name
2 load all subs in the current directory
由此可見一斑。subfont-text-scale你可以用不同的參數試試,直到你覺得字體大小和你口味。對了,這個參數只對ttf字體有效,它無法改變idx+sub,rmvb內嵌字幕的大小。至于subcp你眼熟吧,我在我的配置文件里用utf8是因為我通過:
enconv movfile-CD1.chs.srt movfile-CD1.cht.srt movfile-CD1.Eng.srt -x utf8
不管原來字幕編碼是啥,統統轉成了utf8格式,這樣配合上面的sub-fuzziness參數就能達到播放電影時切換中文簡體,中文繁體,英文字幕了:)好了,通過這個配置文件和~/.mplayer/下的subfont.ttf,原來Linux mplayer movfile- CD1.avi -sub movfile-CD1.chs.srt -font /usr/share/fonts/truetype/arphic /ukai.ttf -subcp cp936長長的命令,現在只需:
mplayer movfile-CD1.avi
就行了。
【編輯推薦】