2013年3月14日 星期四

讓 openSUSE 12.2 支援多媒體檔案格式

之前我很少在 Linux 下播放影音檔,所以也沒有特別去比較用過的 Linux 發行版本在多媒體檔案格式上的支援程度。以 openSUSE 12.2 來說,在安裝後還是得另外再搞定多媒體檔案格式的 codecs,不然像 mp4、H.264 格式的檔案大概都不能播放了。

幸好,openSUSE 12.2 在這點還不算太麻煩。首先參考 "Restricted formats/12.2" 這篇文章,執行下面這兩行指令添加 codecs 的套件庫來源:

$ sudo zypper addrepo -r http://packman.inode.at/suse/12.2/packman.repo
$ sudo zypper addrepo -r http://www.opensuse-guide.org/repo/12.2/libdvdcss.repo 

然後,再執行這個指令安裝需要的套件:

$ sudo zypper install libxine2-codecs k3b-codecs ffmpeg lame gstreamer-0_10-plugins-bad gstreamer-0_10-plugins-ugly gstreamer-0_10-plugins-ugly-orig-addon gstreamer-0_10-plugins-ffmpeg libdvdcss2 

這時,你可能會遇到套件相依的問題,如下:

問題: ffmpeg-1.0.5-1.1.x86_64 需要 libavutil51 = 1.0.5,但無法提供此需求
問題: k3b-codecs-2.0.2-15.104.x86_64 需要 k3b = 2.0.2-15.104,但無法提供此需求

問題: ffmpeg-1.0.5-1.1.x86_64 需要 libavutil51 = 1.0.5,但無法提供此需求
  無法安裝的提供者: libavutil51-1.0.5-1.1.i586[packman]
                   libavutil51-1.0.5-1.1.x86_64[packman]
解決方案 1:下列行動將被執行:
  請勿安裝 ffmpeg-1.0.5-1.1.x86_64
  請勿安裝 libxine2-codecs-1.2.2-81.1.x86_64
解決方案 2:取代 libavutil51-0.11.1-3.1.2.x86_64 以 libavutil51-1.0.5-1.1.x86_64
解決方案 3:請勿安裝 ffmpeg-1.0.5-1.1.x86_64
解決方案 4:藉由忽略某些它的相依性破壞 ffmpeg-1.0.5-1.1.x86_64 

使用'數字'選擇上列的解決方法,或 skip(跳過)、retry(重試)或 cancel(取消) [1/2/3/4/s/r/c] (c): 2

問題: k3b-codecs-2.0.2-15.104.x86_64 需要 k3b = 2.0.2-15.104,但無法提供此需求
  無法安裝的提供者: k3b-2.0.2-15.104.i586[packman]
                   k3b-2.0.2-15.104.x86_64[packman]
解決方案 1:降級 k3b-2.0.2-22.1.2.x86_64 到 k3b-2.0.2-15.104.x86_64
解決方案 2:請勿安裝 k3b-codecs-2.0.2-15.104.x86_64
解決方案 3:請勿安裝 k3b-codecs-2.0.2-15.104.x86_64
解決方案 4:藉由忽略某些它的相依性破壞 k3b-codecs-2.0.2-15.104.x86_64 

使用'數字'選擇上列的解決方法,或 skip(跳過)、retry(重試)或 cancel(取消) [1/2/3/4/s/r/c] (c): 1 

依次回應處理方式後,就可以開始下載及安裝了:

正在解析相依性...
正在解決套件相依性...

將會安裝下列新的套件:
  ffmpeg gstreamer-0_10-plugins-bad gstreamer-0_10-plugins-ffmpeg 
  gstreamer-0_10-plugins-ugly gstreamer-0_10-plugins-ugly-orig-addon k3b-codecs lame 
  liba52-0 libass4 libavcodec52 libavcodec54 libavdevice54 libavfilter1 libavfilter3 
  libavformat52 libavformat54 libavresample0 libavutil50 libcdaudio libdirac_encoder0 
  libdv4 libdvdcss2 libdvdnav4 libfaac0 libfaad2 libgme0 libgstbasecamerabinsrc-0_10-23 
  libgstbasevideo-0_10-23 libgstcodecparsers-0_10-23 libgstphotography-0_10-23 
  libgstsignalprocessor-0_10-23 libgstvdp-0_10-23 liblrdf2 libmad0 libmjpegutils-2_0-0 
  libmp3lame0 libmpeg2-0 libmusicbrainz4 libofa0 libopenal1-soft libopencore-amrnb0 
  libopencore-amrwb0 libopus0 libpostproc51 libpostproc52 libquicktime0 librtmp0 
  libschroedinger-1_0-0 libsidplay1 libslv2-9 libSoundTouch0 libspandsp2 libswresample0 
  libswscale0 libswscale2 libtimidity-0_1-0 libtwolame0 libvdpau1 libvo-aacenc0 libvpx1 
  libx264-129 libxine2-codecs libxvidcore4 libzvbi0 openal-soft 

下列套件將會升級:
  libavutil51 

下列套件將會降級:
  k3b 

下列推薦的套件已自動被選取:
  openal-soft 

下列套件將會變更供應商:
  k3b          openSUSE -> http://packman.links2linux.de
  libavutil51  openSUSE -> http://packman.links2linux.de


1  套件將升級, 1  將降級, 65  新的, 2  將變更供應商.
全部下載大小: 20.2 MiB。 完成操作後,將增加 41.1 MiB 的使用。
要繼續嗎? [y/n/?] (y):  

在安裝完 codecs 後,接著我們還要再安裝 VLC 這個播放器,根據 "VLC media player for openSUSE" 這一頁的說明,在 openSUSE 12.2 裡安裝 VLC 時,只要執行下面這行將 VLC 的來源加入:

$ sudo zypper addrepo http://download.videolan.org/pub/vlc/SuSE/12.2 VLC

然後執行下面這行安裝 VLC 就可以了:

$ sudo zypper install vlc 

收工,現在 openSUSE 12.2 裡可以用 VLC 播放許多影音囉!

延伸閱讀:

張貼留言