當前位置:首頁 » 編程軟體 » 編譯gstreamer

編譯gstreamer

發布時間: 2023-07-05 09:41:18

linux的系統支持哪些影視和音樂播放器

音樂播放器十個:


1- Rhythmbox:
Rhythmbox是一個偉大的linux版本的音樂播放器. 它可以容易的幫你組織音樂內容,並且是免費的. 它的靈感來自於蘋果的iTunes,它使用GStreamer多媒體庫開發,在GNOME桌面環境中執行結果和效果者讓人感到驚艷.

2- GMPC (Gnome音樂播放器客戶端):GMPC 是一個很好的前端音樂播放器守護程序. 它快速並且易於使用,同時它還優於mpd的所有功能(mpd?).


3- XMMS (X多媒體系統):
XMMS (X多媒體系統) 是一個偉大的多媒體播放器,幾乎可以運行於所有的系統,但在linux下卻有一些特殊的地方. XMMS可以播放的多媒體文件有MP3, MOD, WAV 和其它的一些輸入插件. 它是一個運行在許多類UNIX系統上的有點類似Winamp但又小於它的免費音頻播放器.

4- Amarok:
Amarok 是linux和unix上另一個偉大的音樂播放器. Amarok的界面非常直觀. 它是免費的自由軟體. 現在, Amarok是linux上最受歡迎的音頻播放器.

5- Quod Libet
Quod Libet是一個使用GTK+界面庫開發的播放器, 它的主要功能特點是音樂庫管理. 不同於其它的以分類, 流派,藝術家和專輯方式管理, 代之是你可以搜索然後顯示它. Quod Libet 在大型音樂庫管理這一點上要遠勝於其它linux上的播放器.

6- Audacious:Audacious 是linux或其它基於linux系統上的免費播放器. 支持它自己的大部分是自己的一些功能插件,包括所有的解碼器. 大多數系統上,默認是安裝一個很有用的一個插件集, 讓你有能力播放mp3,ogg,和FLAC等格式文件.

7- Exaile:
Exaile 是一個免費的自由軟體,它可以運行於所以類unix操作系統中,它是目標是要小於KDE下的Amarok,所以它使用的是GTK+不是QT.

8- Banshee:?
Banshee一個在GNU/Linux上使用Helix和GStreamer多媒體平台庫來執行播放,編碼,和解碼Ogg,MP3和其它的格式的自由免費的音樂播放器.你可以播放和導入CD, 輕松的與你的ipod同步分享或播放它.? Banshee同樣也可將播放列表報告發布到last.fm的播放列表中.? 還有其它的一些很酷功能如:它可以提取CD,支持播客, 漂亮整潔的播放列表, 音樂推薦, 燒錄音頻,MP3,CD等等!

9- BMP (Beep Media Player)
BMP 也就是蜂鳴媒體播放器. BMP 一個基於xmms的免費音樂播放器(上述). 它看來很像Winamp,也支持它的外觀主題,包括xmms的. BMP 支持所以xmms能支持的格式, 主要差別在於兩個播放器之間使用的插件.

10- Sonata:
Sonata另一優雅的基於GTK + MPD前端音樂播放器(MPD:音樂播放器守護進程).


視頻播放器(也可以播放音頻)十個:

  1. VLC多媒體播放器
    VLC多媒體播放器(最初命名為VideoLAN客戶端)是VideoLAN計劃的多媒體播放器。它支持眾多音頻與視頻解碼器及檔案格式,並支持DVD、VCD的播放及各類串流協議。它亦能作為unicast和multicast的串流伺服器在IPv4以及IPv6的高速網路連線下使用。它融合了FFmpeg出品的解碼器與libdvdcss程序庫,這更使其增添了播放多媒體檔案及加密DVD影碟的功能。
    VLC多媒體播放器具有跨平台的持性,分別有Linux、Microsoft Windows、Mac OS X、BeOS、BSD、Pocket PC及Solaris等版本。


2.Mplayer
MPlayer是一款開源多媒體播放器,以GNU通用公共許可證發布。此款軟體可在各主流作業系統使用,例如Linux和其他類Unix系統、微軟的視窗系統及蘋果電腦的Mac OS X系統。MPlayer是建基於命令行界面,在各作業系統可選擇安裝不同的圖形界面。


3.Rhythmbox
Rhythmbox是一個偉大的linux版本的音樂播放器。它可以容易的幫你組織音樂內容,並且是免費的。它的靈感來自於蘋果的iTunes,它使用GStreamer多媒體庫開發,在GNOME桌面環境中執行結果和效果者讓人感到驚艷。


4.Audacious

Audacious是基於Beep-media-player和XMMS的播放器,由於BMP的開發者現在集中精力開發bmpx, BMP的開發已經停止, 不過Audacious的開發者繼承了BMP的源碼, 在BMP-0.9.7.1的基礎上fork了一個新的mediaplayer --- Audacious。Audacious和Beep- media-player很象,並且兼容它們的皮膚。而且它依賴的東西很少,就一個包。它的設置選項跟Beep-media-player基本一樣,但是比XMMS的簡單多了,只要設定了標題編碼 UTF-8 碼轉換,也沒有所謂的中文問題。
5.XMMS
XMMS(X多媒體系統) 是一個偉大的多媒體播放器,幾乎可以運行於所有的系統,但在linux下卻有一些特殊的地方。XMMS可以播放的多媒體文件有MP3,MOD,WAV和其它的一些輸入插件。它是一個運行在許多類UNIX系統上的有點類似Winamp但又小於它的免費音頻播放器。

6.Amarok
Amarok是一款在LINUX或其他類UNIX操作系統中運行的音頻播放器軟體。它是以自由軟體的形式推出。Amarok 在播放音樂檔案以外還提供了很多功能。例如Amarok可以根據音樂類型、歌手和專輯來管理音樂集,也可以為眾多的音樂格式加入標簽,加入歌詞、唱片封面,也會自動按所播放的音樂評分。也因此,第一次執行Amarok可以嚇退一些用戶。一些用家覺得Amarok的介面不易使用而使用較簡單的音樂播放軟體,因為很多功能會隱藏其他功能。大量的功能也招致消耗大量資源或是擁腫的批評。

7. Banshee

Banshee是Gnome官方的播放器,是一個功能非常全的音樂播放器,能夠支持各種格式文件。甚至能夠支持視頻文件的播放,Banshee也有MacOS和Windows版本,但是最穩定的版本,是運行在Linux上的版本,目前最新版本為2.4.0,是上個月發布的。這個版本現在深受很多Linux愛好者的喜好,可以說是Linux愛好者的接觸的最早的播放器。


8.Clementine

Clementine
Clementine是簡單跨平台的音樂播放軟體,界面設計源於KDE Amarok 1.4的多標簽設計。自然,軟體支持音樂庫播放列表的搜索管理,整合了Spotify,Grooveshark,Last.fm,SomaFM,Magnatune, Jamendo,SKY.fm,Digitally Imported和Icecast網路收音服務,支持 M3U,XSPF,PLS和ASX列表格式,支持CUE,MP3,FLAC,CD,AAC,OGG 格式互轉,支持歌詞、封面、樂手介紹等等等等,還能自動補全封面神馬的。總之就是常用的都有了,聽上去很強大。並且在之前發布了適用所有平台的1.0.1版本。
9.Tomahawk

Tomahawk
Tomahawk則是這三個當中名氣最小的,畢竟他僅僅才出現不到一年的時間,但是Tomahawk能夠代表音樂播放器的趨勢,旨在提供一個完全自由的互聯網協作的音樂平板,我用的版本就是最新版本0.4.2,覺得效果非常不錯(可能我喜歡支持弱者的緣故吧)!
10.SongBird
SongBird給我的第一印象是很「蘋果」,很iTune。它不但有linux版本,還有windows和Mac版本。

相對於其它音樂播放器,Songbird可以說是最不像音樂播放器的,它集成web瀏覽器,也就是說你可以在songbird里一邊上網一邊瀏覽網頁,當網頁中出現音樂時,你可以用songbird將其捕抓下來。

② 怎樣編譯和配置GStreamer

GStreamer無疑是一個美觀的設計,但初學者往往覺得結構復雜,難以掌握。編譯起來也很麻煩:) 本文列出了編譯和配置GStreamer的主要步驟,給需要的人提供一個參考。 像其它的Linux開源項目一樣,GStreamer也是採用包括autoconf,automake在內的GNU build system來編譯的。而且,GStreamer在編譯和安裝時還要依賴於其它的庫,這些庫至少包括:pkg-configGLiblibxml2 liboil 這些庫都使用pkg-config來提供include路徑和library路徑等編譯信息,而不是像很多開源項目一樣在執行configure腳本的時候用CPPFLAGS/CFLAGS環境變數來指定。 這些庫很容易通過google找到,一般以「*.tar.gz」或「*.tar.bz2」壓縮文件的形式存在。使用tar命令解壓:tar xzf *.tar.gz或tar xjf *.tar.bz2 解壓後一般會生成一個源文件目錄,先面的命令都要進入到各個庫的源文件目錄內執行。 具體編譯和安裝步驟如下: (1)確定各個庫的安裝路徑。為描述方便,假設如下的安裝路徑:pkg-config: /usr/local/install-pkg-config/Glib: /usr/local/install-glib/libxml2: /usr/local/install-libxml2/liboil: /usr/local/install-liboil/GStreamer Core: /usr/local/install-gstcore/GStreamer Base Plugins: /usr/local/install-plugins-base/ (2)設置環境變數。下面的命令按bshell/bash的語法,cshell中應該用setenv。 export PATH=/usr/local/install-pkg-config/bin:$PATH export PKG_CONFIG_PATH="/usr/local/install-glib/lib/pkgconfig:/usr/local/install-libxml2/lib/pkgconfig:/usr/local/install-liboil/lib/pkgconfig:/usr/local/install-gstcore/lib/pkgconfig:/usr/local/install-plugins-base/lib/pkgconfig" 第一個命令是將pkg-config這個工具加入到PATH變數中,這樣在執行configure腳本時就能夠調到剛剛安裝好的pkg-config。 第二個命令是設置pkg-config的搜索路徑,在執行configure腳本時會調用pkg-config得到所依賴的頭文件和庫。 (3)編譯和安裝pkg-config。 ./configure --prefix=/usr/local/install-pkg-configmakemake install 執行configure腳本時用--prefix指定安裝路徑 (4)編譯和安裝GLib。 ./configure --prefix=/usr/local/install-glibmakerm -rf /usr/local/install-glib/include/glib.h /usr/local/install-glib/include/gmole.h make install (5)編譯和安裝libxml2。 ./configure --prefix=/usr/local/install-libxml2makemake install (6)編譯和安裝liboil。 ./configure --prefix/usr/local/install-liboilmakemake install (7)編譯和安裝GStreamer Core。 ./configure --prefix=/usr/local/install-gstcoremakemake check (optional) make install (8)編譯和安裝GStreamer Base Plugins。 ./configure --prefix=/usr/local/install-plugins-basemakemake check (optional) make install (9)編譯和安裝GStreamer的其它plugins,包括gst-plugins-good,gst-plugins-bad等。可選。與編譯安裝gst-plugins-base類似。 (10)設置運行環境。要運行GStreamer,需要設置GST_PLUGIN_PATH環境變數,指明GStreamer Core和Plugins的庫路徑。 export GST_PLUGIN_PATH="=/usr/local/gst/install-gstcore/lib:=/usr/local/install-plugins-base/lib" 如果還安裝了其它plugins,也要加到GST_PLUGIN_PATH路徑里。 另外,如果已有的tool chain版本不夠,還需要更新tool chain。常需要做的是安裝新版本的autoconf和automake。

③ 請教,如何在arch下建立qt編譯環境的問題

一、安裝G++環境
sudo apt-get install build-essential
另外的一些相關環境。如果不安裝,一些qt的組件是無法正常編譯的,例如openGL
sudo apt-get install libx11-dev libxau-dev libxaw7-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev
sudo apt-get install libxext-dev libxfixes-dev libxfont-dev libxft-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev
sudo apt-get install libxpm-dev libxrandr-dev libxrender-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-dev libxvmc-dev
sudo apt-get install libglib2.0-dev
sudo apt-get install libssl-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libcups2-dev
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
sudo apt-get install libgstreamer0.10-dev
二、解壓代碼
tar zxvf qt-everywhere-opensource-src-4.8.4.tar.gz
解壓完進入解壓後的源代碼文件夾
三、執行。/configure生成makefile
。/configure -prefix /usr/local/Qt-4.8.2
(上面指定的這個目錄/usr/local/Qt-4.8.2 ,就是make install 後的安裝目錄)
下面出現對話框選擇open source edition.這是自由版。輸入yes接受協議。
(1)如果你的機器各種庫文件完整,經過一小會,配置完成,會出現以下信息
Qt is now configured for building ,just run 『make』
Once everything is built , you must run 『make install』
Qt will be installed into /usr/local/Qt-4.8.2
To reconfigure ,run 『make confclean』 and 『configure』
說明Makefile文件生成成功
(2)如果出現以下信息
Basic XLib functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/gcgily/qt-everywhere-opensource-src-4.8.4/mkspecs/linux-g++
還是老辦法,以不變應萬變。進config.test/x11/xlib 執行make命令,看出錯信息
g++ -Wl,-O1 -o xlib xlib.o -L/usr/X11R6/lib -lXext -lX11 -lm
/usr/bin/ld: cannot find -lXext
看到了吧,g++在/usr/X11R6/lib下,找不到libXext.so呢。
其原因就在於需要安裝libX11的開發包,在Ubuntu/debian里包名都是libX11-dev
根據以往的經驗,在。/configure前主動裝好下面3個包,基本上就萬事大吉了
sudo apt-get install libX11-dev libXext-dev libXtst-dev
安裝所需到包後再重新。/configure即可生成Makefile文件
如果出現:Project ERROR: Package gstreamer-app-0.10 not found,則執行以下命令
apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev如果出現 : g++: error: unrecognized command line option 『-fuse-ld=gold』
這是Qt的一個bug:https://bugs.webkit.org/show_bug.cgi?id=89312
在裝有gold linker的系統里,編譯腳本會加入-fuse-ld=gold選項,但這個選項gcc是不支持的。解決辦法是移除該選項,找到文件src/3rdparty/webkit/Source/common.pri,屏蔽QMAKE_LFLAGS+=-fuse-ld=gold。
#
QMAKE_LFLAGS+=-fuse-ld=gold
四、編譯QT
執行make命令,需要2個小時。
五、安裝QT
運行sudo make install命令。需要幾分鍾時間,默認安裝到/usr/local/Qt-4.8.2. 運行/usr/local/Qt-4.5.3/bin/designer ,若能啟動QT,說明QT已經安裝好了。
六、設置環境變數
更改用戶環境變數
gedit /home/username/.bashrc
添加:
export QTDIR=/usr/local/Qt-4.8.2
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
更改包括root用戶的環境變數
sudo gedit /etc/profile (此處profile文件要更改一下許可權才能寫入)
添加:
export QTDIR=/usr/local/Qt-4.8.2
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
七、測試環境變數
重啟測試環境變數:
qmake -v
顯示版本信息:
QMake version 2.01a
Using Qt version 4.8.2 in /usr/local/Qt-4.8.2/lib
which qmake
顯示安裝位置信息:
/usr/local/Trolltech/Qt-4.8.2/bin/qmake
環境變數設置成功。
代碼:
如果需要在Qt中引用其他的包以及庫文件,則使用:
INCLUDEPATH += /usr/local/include/
INCLUDEPATH += /usr/local/include/Eigen
INCLUDEPATH += /usr/local/include/boost
INCLUDEPATH += /usr/local/include/CGAL
LIBS += -L/usr/local/lib/ -lgmp
LIBS += -L/usr/local/lib/ -lmpfr
其中LIBS參數中 -l後只能接特定某一個庫文件,且如果該文件為 「libxxx.so「,則-l後只接「xxx」。
上面就是搭建Qt開發環境的方法介紹了,作為一個良好的跨平台開發工具,Qt能夠很好的運行於更大主流系統,擁有豐富的API等。

④ linux 怎樣搭建qtwebkit使用的gstreamer

1. 編譯libxml2

下載libxml2-sources-2.7.6.tar.gz

解包後在當前目錄下編寫如下編譯腳本:(當然,不用腳本也行,你可以直接執行)】

CC=arm-none-linux-gnueabi-gcc./configure--build=i686-linux--host=arm-none-linux--prefix=/home/work/dist--without-python
make&&makeinstall

2. 編譯zlib, 這個太common,我不啰嗦了, glib-2.0要依賴的。

3. 編譯glib-2.0

下載glib-2.24.2.tar.bz2, 解包, 這個版本的依賴庫很少, 竟然只需要zlib。

老版本需要的libconv, gettext等均不需要了。

同樣, 編寫編譯腳本:

CC=arm-none-linux-gnueabi-gcc./configure--build=i686-linux--host=arm-none-linux
--prefix=/home/work/dist
CFLAGS="-I/home/work/dist/include-L/home/work/dist/lib"
glib_cv_stack_grows=noglib_cv_uscore=noac_cv_func_posix_getpwuid_r=yes
ac_cv_func_posix_getgrgid_r=yesac_cv_lib_rt_clock_gettime=noglib_cv_monotonic_clock=yes
make&&makeinstall

4. 編譯gstreamer

下載gstreamer-0.10.35.tar.gz, 這個是0.10版本裡面最新的了。

編譯腳本:

CC=arm-none-linux-gnueabi-gccPKG_CONFIG_PATH=/home/work/dist/lib/pkgconfig./configure--build=i686-linux--host=arm-none-linux
--prefix=/home/work/distCFLAGS=-I/home/work/dist/include--disable-registry--disable-loadsave--disable-gtk-doc
ac_cv_func_register_printf_function=no--disable-tests--disable-valgrind--disable-debug--disable-gst-debug

make&&makeinstall

5. 編譯gst plugins base

下載gst-plugins-base-0.10.35.tar.gz。

編譯腳本:

CC=arm-none-linux-gnueabi-gccPKG_CONFIG_PATH=/home/work/dist/lib/pkgconfig./configure--build=i686-linux--host=arm-none-linux
--prefix=/home/work/distCFLAGS=-I/home/work/dist/include--disable-valgrind--disable-x--disable-gnome_vfs--disable-alsa--disable-ogg--disable-pango--disable-theora--disable-vorbis--disable-examples

make&&makeinstall


接下來開始編譯Qt

Qt的配置文件很復雜, 我就不寫出來了, 就是要注意這三點:

1. 在Qt 的configure 時加上-force-pkg-config, 否則會在WebCore的feature.pri中檢查時報"Disabling video e the lack of GLib/Gio/GStreamer.",

也就是說會不支持video.

具體可以看這個pri片段:

!contains(QT_CONFIG,no-pkg-config):system(pkg-config--existsglib-2.0gio-2.0gstreamer-0.10):{
DEFINES-=ENABLE_VIDEO=0
DEFINES+=ENABLE_VIDEO=1
DEFINES+=WTF_USE_GSTREAMER=1
DEFINES-=WTF_USE_GSTREAMER=0
}else{
message("DisablingvideoethelackofGLib/Gio/GStreamer.")
DEFINES-=ENABLE_VIDEO=1
DEFINES+=ENABLE_VIDEO=0
}


如果不指定-force-pkg-config, 就會被當作no-pkg-config.

2. 為configure指定:PKG_CONFIG_PATH=/home/work/dist/lib/pkgconfig, 否則也會diabling video

3. 為了讓webkit庫能找到gstreamer等庫, 還需要在webkit.pro中加上

⑤ ubuntu下編譯qt庫需要多久

1."Basic XLib functionality test failed!"
解決方式:apt-get install libX11-dev libXext-dev libXtst-dev
2."Xrender support cannot be enabled e to functionality tests!",此項導致QWebkit無法編譯
解決方式:apt-get install libXrender-dev

3.另外為了支持opengl,phonon等還需要其它庫
sudo apt-get install libglib2.0-dev
sudo apt-get install libgstreamer0.10-dev
sudo apt-get install libgstreamer-plugins-base0.10-dev
sudo apt-get install libxml-dev
sudo apt-get install xlibmesa-gl-dev
sudo apt-get install xlibmesa-glu-dev

sudo apt-get install xorg-dev

按照上述方式安裝依賴庫後,可以搞定。
然後make,make install
安裝完後,需要設置環境變數
export QTDIR=/usr/local/Trolltech/Qt-4.8.2/
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/doc/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

⑥ ffmpeg安裝在linux哪個目錄

Linux下ffmpeg的完整安裝
最近在做一個企業項目, 期間需要將用戶上傳的視頻轉成flv格式或mp4格式並用flash插件在前端播放, 我決定採用ffmpeg (http://www.ffmpeg.org/ )實現. 當然以前也用過ffmpeg, 但是沒有安裝額外的庫, 只是源代碼下簡單地 ./configure, 最後發現好多功能都用不了, 比如最流行的x264編碼器. 所以決心完整地安裝一下ffmpeg, 經過兩天痛苦地折騰, 終於成功了, 現在將過程記錄下來. 主要參考了 [1] 和 [2] 兩篇博文, 其中 [1] 是2007年寫成的, 其中所提到的依賴庫版本比較老, 本人安裝的都是相應最新的版本.

首先要安裝各種解碼器

1、lame
lame-3.99.5.tar.gz
Url:http://sourceforge.net/project/showfiles.php?group_id=290&package_id=309
安裝方法如下:
1 tar -zxvf lame-3.99.5.tar.gz
2 cd lame-3.99.5
3 ./configure --enable-shared 4 make
5 make install

2、libogg
libogg-1.3.1.tar.gz
Url:http://www.xiph.org/downloads/
安裝方法如下:
3、libvorbis
libvorbis-1.3.3.tar.gz
Url:http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz
(libvorbis依賴於libogg, 所以libogg必須先於libvorbis安裝)
安裝方法如下:
1 ./configure 2 make
3 make install

4、xvid
xvidcore-1.3.2.tar.gz
Url:http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz
安裝方法如下:
5、x264
latest_x264.tar.bz2 (其中包含的目錄是 x264-snapshot-20131023-2245)
Url:http://www.videolan.org/developers/x264.html
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
安裝方法如下:

1
2
3
4

1 tar -jxvf latest_x264.tar.bz2
2 ./configure
3 make
4 make install

6、libdts
libdca-0.0.5.tar.bz2
Url: http://www.videolan.org/developers/libdca.html
安裝方法:
7、a52
a52dec-0.7.4.tar.gz (這個庫從2002年就沒有更新過了)
http://liba52.sourceforge.net/downloads.html
安裝方法:
8、faad2
faad2-2.7.tar.gz
http://www.audiocoding.com/downloads.html
安裝方法
9、faac
faac-1.28.tar.gz
http://www.audiocoding.com/downloads.html
安裝方法:
10、amr-nb
amrnb-10.0.0.0.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/ ( 從此處下載最新版本 )
安裝方法:
11、amr-wb
amrwb-7.0.0.1.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/ ( 從此處下載最新版本 )
安裝方法:
1 ./configure 2 make
3 make install

12、最關鍵的一步, 安裝ffmpeg

1
2
3

1 ./configure --prefix=/usr/local/ffmpeg2 --enable-libmp3lame --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libxvid --enable-postproc --enable-ffserver --enable-ffplay
2 make
3 make install

在./configure的時候會報錯, 提示說沒有libopencore-amrnb和libopencore-amrwb兩個庫. 我參考了 [2], 使用如下命令安裝它們:

1

sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev

如果./configure的時候加入 --enable-shared, 編譯安裝沒有問題. 但是運行ffmpeg命令就會出錯:

1

relocation error: /usr/local/lib/libavfilter.so.3: symbol sws_get_class, version LIBSWSCALE_2 not defined in file libswscale.so.2 with link time reference;

這時可以參考 [3], 大意是說跟gstreamer的動態庫沖突了, 要卸載gstreamer. 但是如果卸載了gstreamer我的多媒體軟體多不能用了. 所以我卸載了ffmpeg並重新編譯成靜態庫. 安裝完之後, 運行ffmpeg成功, 輸出如下:

1
2
3
4
5
6
7
8
9
10
11
12
13

ffmpeg version 2.0.1 Copyright (c) 2000-2013 the FFmpeg developers
built on Oct 25 2013 17:40:51 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
configuration: --prefix=/usr/local/ffmpeg2 --enable-libmp3lame --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libxvid --enable-postproc --enable-ffserver --enable-ffplay
libavutil 52. 38.100 / 52. 38.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 12.100 / 55. 12.100
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 79.101 / 3. 79.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

[1] http://yezi.iteye.com/blog/139399
[2] http://www.learndiary.com/2011/04/ubuntu-linux-%E4%B8%8B-ffmpeg-%E5%8F%8A-mencoder-%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E5%B0%8F%E7%BB%93/
[3] http://blog.csdn.net/nil_foc/article/details/6547047

⑦ python可以寫軟體么怎麼寫

22點24分准時推送,第一時間送達


編輯:技術君 | 來源:youerning



上一篇:

正文


前言

用 Python 寫安卓 APP 肯定不是最好的選擇,目前用Java和 kotlin 寫的居多,但是肯定也是一個很偷懶的選擇,而且實在不想學習 Java,再者,就編程而言已經會的就 Python與Golang(註:Python,Golang水平都一般),那麼久Google了一下Python 寫安卓的 APP 的可能性,還真行。

既然要寫個APP,那麼總得要有個想法吧。其實想做兩個APP來著,一個是自己寫著好玩的,一個是關於運維的。關於運維的APP,設計應該如下

可能長這樣

然後設計應該是這樣。

如果覺得可行的話,評論留言一下你覺得應該寫進這個APP的運維常用命令吧^_^,筆者暫時想到的是top,free -m,df –h,uptime,iftop,iotop,如果有什麼好的想法就狠狠的砸過來吧,筆者到時應該也會把這個寫成一個項目放到github上,大家一起用嘛,開源才是王道,哈哈。

開發安卓APP

我們使用kivy開發安卓APP,Kivy是一套專門用於跨平台快速應用開發的開源框架,使用Python和Cython編寫,對於多點觸控有著非常良好的支持,不僅能讓開發者快速完成簡潔的交互原型設計,還支持代碼重用和部署,絕對是一款頗讓人驚艷的NUI框架。

因為跨平台的,所以只寫一遍代碼,就可以同時生成安卓及IOS的APP,很酷吧。

本文會帶大家寫一個Hello world並瞧一瞧 Python 版的2048的代碼

kivy安裝

環境說明:筆者在用的是Python2.7.10

這里僅介紹windows平台安裝

所有平台參考: https://kivy.org/#download

更新pip,setuptools

python -m pip install --upgrade pip wheel setuptools

然後是安裝所需要的依賴

python -m pip install docutils pygmentspypiwin32 kivy.deps.sdl2 kivy.deps.glew
kivy.deps.gstreamer --extra-index-url https://kivy.org/downloads/packages/simple/

值得注意的是,上面的安卓需要訪問Google,所以請自備梯子,而且kivy.deps.gstreamer這個包比較大(95MB),可以單獨本地安裝,http://pan..com/s/1o7mlxNk

然後就是安裝kivy了

python -m pip install kivy

至此,安裝就已經完畢了,值得注意的是64位系統沒有開啟虛擬化支持,在導入kivy的時候會報錯,如果是64位系統就設置一下機器的BIOS,開啟虛擬化支持吧。

註:這里只是kivy的運行環境,這樣我就能直接在windows機器上直接調試了,怎麼將代碼編譯成APK文件我們會在後面講到。

如果kivy在python中應該就能導入了。

按照世界慣例,我們」hello」一下吧。

新建一個.py文件

from kivy.app import Appfrom kivy.uix.button importButton
class TestApp(App):
def build(self):
return Button(text='Hello,kivy')
TestApp().run()

運行

然後會彈出一個框,大概如下,點擊」hello,kivy」會變顏色

點擊窗口並按「F1」會這個窗口的一些屬性

然後我們回過頭看一看代碼。

##導入App,然後讓TestApp這個類繼承
from kivy.app import App##導入一個Button,運維有這個button,當你點擊的時候才會有所反應
from kivy.uix.button
importButton
###定義類,名字必須是xxxAppclass TestApp(App):
###build一個Button
def build(self):
###返回一個Button,文字內容是「Hello,kivy」
return Button(text='Hello,kivy')
##運行,因為繼承了App,所以才有的run這個方法TestApp().run()

上面就是我們的Hello了

在windows上運行當然沒有什麼太大的意義,怎麼在安卓手機上運行才是我們想要的,

這時我們需要一個編譯環境。

官方說明的環境,如下:

You』ll need:


  • A linux computer or a virtual machine

  • Java

  • Python 2.7 (not 2.6.)

  • Jinja2 (python mole)

  • Apache ant

  • Android SDK

  • 雖然官方提供了一個似乎還不錯的虛擬機鏡像,但是還是有很多內容需要翻出去,所以筆者在這里提供相對而言更加完善的鏡像

    下載地址:http://pan..com/s/1geyAY7x

    注:virtualbox,vmware需自行下載

    root密碼:kivy

    默認使用賬戶kivy,密碼:kivy123

    當然你也可以下載官方鏡像,因為第一次編譯需要去國外下一大堆東西,所以請自行去下載。

    Virtual Machine

    A Virtual Machine with Android SDK and NDK and all otherpre-requisites pre installed to ease apk generation:

  • Kivy Buildozer VM

  • Or select the Torrent

  • 在筆者提供的鏡像里,桌面上有一個dev_and,只要將上面寫的代碼,放入這個文件夾即可(當然也可以在其他目錄,後面會講到)。

    在公眾號Python人工智慧技術後台回復「面試」,獲取騰訊Python面試題和答案。

    cd Desktop/dev_and/

    初始化會在當前目錄生成一個buildozer.spec文件 用於配置生成的apk相關信息

    buildozer init

    ###修改buildozer.spec文件

    vi buildozer.spec

    至少修改下面三項

    # (str) Title of your applicationtitle = helloworld
    # (str) Package namepackage.name = helloapp
    # (str) Package domain (needed for android/ios packaging)package.domain = youer.com

    然後注釋

    # (str) Application versioning (method 1)#version.regex = __version__ = ['"](.*)['"]#version.filename = %(source.dir)s/main.py

    下面這行改為非注釋
    version = 1.2.0

    最後我們生成我們需要的apk文件

    buildozer -v android debug

    buildozer.spec更詳細的相關參數配置參考:

    http://buildozer.readthedocs.org/en/latest/specifications.html

    buildozer命令會在當前文件夾創建一個bin,該文件夾裡面有我們想要的apk文件

    helloapp-1.2.0-debug.apk

    helloapp-1.2.0-debug.apk

    安裝以後是這樣:

    話說在編譯的時候可能出現空間不足的情況,根據虛擬機的不同(vmware或virtualbox)自行擴容吧。

    最後我們來瞧瞧簡易版Python開發的2048這個游戲的源代碼。

    代碼:

    https://github.com/mvasilkov/kb/tree/master/6_2048

    先看效果圖:

    試玩了一下,還是蠻流暢的,有興趣的可以下載玩一下

    下載地址:http://pan..com/s/1eQZACDW

    這個游戲代碼雖然不長,但是還是蠻占篇幅的,所以簡要的說明一下流程。

    主要由三部分組成,一是素材,圖片音頻之類的文件,二是Python代碼,三是kv文件,這個kv文件有點像 html 中的css。

    Python代碼的文件名一般命名為 main.py

    然後一定有一個叫做 XXXApp 的類,並繼承 App。

    比如該類叫做GameApp,那麼該目錄下的kv文件則必須為Game,如上圖所示,如果不是,那麼kv文件中的一些設定就不會生效。

    比如設定一個標簽


    Label:
    id: time
    text: 'xxxx'
    font_size: 60

    id為time,text文本內容為'xxxx',然後字體為60

    好吧,點到為止吧,不過似乎什麼都沒點到~~~

    你還有什麼想要補充的嗎?

    你在看嗎?一起成長

⑧ gst_element_factory_make( "ffdemux_avi", "avi-demuxer" ); ubuntu中GStreamer編avi為什麼返回空

這要看你系統中裝的解碼器類型了,查看下有沒有在ubuntu上裝avi的解碼器。gst_element_factory_make會做兩步操作
gst_element_factory_find和gst_element_factory_create,建議你看下這個的源碼。

⑨ 新手求教,Qt沒有找到phonon,求解決

關於qt embedded phonon 安裝問題,這里和大家分享,可能在安裝$sudo ./configure -phonon -phonon-backend .....的時候會說找不到phonon ,很明顯因為沒有這個phonon這個庫,當然就會找不到,在編譯的時候,特別是./configure -phonon -phonon-backend當編譯很段時間後會說:Phonon support cannot ...這個時候就就請你加上'-v';$sudo ./configure -phonon -phonon-backend -v 這個選項,他會提示你什麼地方錯誤了,這個時候它會提示:gstreamer 錯誤,當然也有可能不這個地方,這個只提供一種方法,很明顯,在編譯phonon時它找不到gstreamer 插件,這個時候我們就在新立德裡面查找,結果裡面真的有這些,說明沒有安裝那些依賴包!而且你在qt creater 幫助文檔裡面(help)也會看見 ,在help 裡面輸入phonon在下拉菜單中,它就會顯示Phonon
Overview 然後你點擊進去,在installint Phonon 這個地方有linux安裝Phonon所需的包,當然這里也windows 安裝所需的包,在linux下的包有四個
1、libgstreamer0.10_0.10
2、libgstreamer0.10_0.10-devel
3、libgstreamer-plugins-base0.10
4、libgstreamer-plugins-base0.10-devel 在新立德收索gstreamer 裡面有很多這樣的包,請你分別一下那些包需要安裝,然後將這四
個包,在新立德裡面安裝好,這樣你安裝phonon 這個模塊就算快完成了。接下來你就$sudo ./configure -phonon -phonon-backend -qvfb -embedded -x86 「-prefix /.....也可以跟你要安裝的路徑也可以不跟」
然後在 $make
$make insatll

熱點內容
怎樣編程時鍾 發布:2025-02-07 21:59:38 瀏覽:561
誇克編程 發布:2025-02-07 21:43:43 瀏覽:528
電源450適合哪些配置 發布:2025-02-07 21:25:24 瀏覽:431
微信密碼一般要多少位以上 發布:2025-02-07 21:24:19 瀏覽:879
sqldecimal轉換 發布:2025-02-07 21:17:50 瀏覽:659
鋼管查詢源碼 發布:2025-02-07 21:15:25 瀏覽:427
濱州伺服器租賃地址 發布:2025-02-07 21:13:41 瀏覽:439
thinkphp刪除資料庫數據 發布:2025-02-07 21:12:03 瀏覽:946
安卓智能手機哪個更便宜 發布:2025-02-07 21:10:24 瀏覽:145
織夢資料庫連接 發布:2025-02-07 21:09:32 瀏覽:354