歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Sabayon Linux 安裝 MPlayer-1.0rc3

Sabayon Linux 安裝 MPlayer-1.0rc3

日期:2017/2/28 15:44:59   编辑:Linux教程
因為安裝的PPSteam不能播放視頻。懷疑是mplayer的問題。在網上找打PPS官網有一個針對MPlayer-1.0rc3的補丁文件mplayer.patch,決定試一試。

我在mplayer官網上下載的MPlayer-1.0rc3源碼,最新的源碼是MPlayer-1.1。我是過了,MPlayer-1.1安裝起來相當順利,./configure make&&make install 就直接裝上了。但是MPlayer-1.0rc3卻非常費勁。不管有沒有打這個PPS的補丁……

首先下載補丁,補丁文件是從PPS官網上下載的mplayer.patch,將其放到當前工作路徑/home,

然後,下載MPlayer-1.0rc3.tar.bz2的源碼,將其下載到/home,

之後解壓

@home: tar -xvf MPlayer-1.0rc3.tar.bz2

首先,下載MPlayer-1.0rc3.tar.bz2的源碼(http://www.mplayerhq.hu/MPlayer/releases/),

之後解壓

tar -xvf MPlayer-1.0rc3.tar.bz2

這樣,/home 之中就有pps的補丁和一個文件夾MPlayer-1.0rc3了,接下來,安裝pps官網的安裝方法(http://download.ppstream.com/linux/readme.txt),改一下MPlayer源碼的文件夾名稱

@home: mv MPlayer-1.0rc3 MPlayer-PPS

就在當前路徑/home下運行

patch -p1 < mplayer.patch
這樣,補丁就打好了。

另外,mplayer還要下載Codecs,也是從MPlayer官網上下載(http://www.mplayerhq.hu/MPlayer/releases/codecs/),我下載的是all-20110131.tar.bz2。然後將其復制到/usr/share/codes目錄,這個目錄沒有就新建一個。然後在這個目錄/usr/share/codecs內,解壓all-20110131.tar.bz2。

#codecs: tar -xvf all-20110131.tar.bz2

然後,進入到MPlayer-PPS路徑內,運行configure

@home: cd MPlayer-PPS

@MPlayer-PPS: ./configure --prefix=/usr --confdir=/etc/mplayer --enable-largefiles --enable-x11 --disable-gui --codecsdir=/usr/share/codecs/ --language=zh_CN --disable-png --disable-live

編譯:

@MPlayer-PPS: make

出錯,提示

libvo/vo_png.c:56:28: error: 'Z_NO_COMPRESSION' undeclared here (not in a function)
libvo/vo_png.c: In function 'create_png':
libvo/vo_png.c:160:9: error: dereferencing pointer to incomplete type
make: *** [libvo/vo_png.o] 錯誤 1

在網上四處查,發現一個網頁(http://web.archiveorange.com/archive/v/p5L0wrMay1Zd2MYPKlOH 和http://lists.mplayerhq.hu/pipermail/mplayer-users/2007-July/068163.html 這個貌似是正解,但是沒有搞懂怎麼弄),與另一個網頁(http://lists.mplayerhq.hu/pipermail/mplayer-users/2007-July/068162.html這個網頁提到了個辦法,可以通過加 --disable-png 讓編譯通過)

於是,再試

@MPlayer-PPS: make distclean

@MPlayer-PPS: ./configure --codecsdir=/usr/share/codecs/ --disable-png

@MPlayer-PPS: make

原來的錯誤總算沒有了,但是仍然有其他錯誤:

libmpdemux/demux_rtp.cpp:79:20: error: 'class RTSPClient' has no member named 'describeWithPassword'
libmpdemux/demux_rtp.cpp:81:20: error: 'class RTSPClient' has no member named 'describeURL'
libmpdemux/demux_rtp.cpp: In function 'demuxer_t* demux_open_rtp(demuxer_t*)':
libmpdemux/demux_rtp.cpp:123:61: error: invalid conversion from 'int' to 'const char*' [-fpermissive]
/usr/include/liveMedia/RTSPClient.hh:36:22: error: initializing argument 2 of 'static RTSPClient* RTSPClient::createNew(UsageEnvironment&, const char*, int, const char*, portNumBits)' [-fpermissive]
libmpdemux/demux_rtp.cpp:123:61: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
/usr/include/liveMedia/RTSPClient.hh:36:22: error: initializing argument 3 of 'static RTSPClient* RTSPClient::createNew(UsageEnvironment&, const char*, int, const char*, portNumBits)' [-fpermissive]
libmpdemux/demux_rtp.cpp:213:21: error: 'class RTSPClient' has no member named 'setupMediaSubsession'
libmpdemux/demux_rtp.cpp:225:24: error: 'class RTSPClient' has no member named 'playMediaSession'
libmpdemux/demux_rtp.cpp: In function 'void teardownRTSPorSIPSession(RTPState*)':
libmpdemux/demux_rtp.cpp:586:27: error: 'class RTSPClient' has no member named 'teardownMediaSession'
libmpdemux/demux_rtp.cpp: In function 'char* openURL_rtsp(RTSPClient*, const char*)':
libmpdemux/demux_rtp.cpp:83:1: warning: control reaches end of non-void function [-Wreturn-type]
make: *** [libmpdemux/demux_rtp.o] 錯誤 1

暈,網上搜,找到https://bugs.archlinux.org/task/28759 裡面也有一個折衷方法,加--disable-live 參數,接著試

@MPlayer-PPS: make distclean

@MPlayer-PPS: ./configure --codecsdir=/usr/share/codecs/ --disable-png --disable-live

@MPlayer-PPS: make

就通過了,之後安裝

@MPlayer-PPS: sudo make install


P.S.

看到網上有人安裝mplayer,配置的參數是 ./configure --prefix=/usr --confdir=/etc/mplayer --enable-largefiles --enable-x11 --enable-gui --codecsdir=/usr/share/codecs/ --language=zh_CN

嘗試,發現也會有錯

MPlayer Error: The GUI requires GTK devel packages (which were not found).

這時候要吧GUI選項去掉或者改成 --diable-gui 才能行。

Copyright © Linux教程網 All Rights Reserved