编译gstreamer
① 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:音乐播放器守护进程).
视频播放器(也可以播放音频)十个:
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
Kivy Buildozer VM
Or select the Torrent
虽然官方提供了一个似乎还不错的虚拟机镜像,但是还是有很多内容需要翻出去,所以笔者在这里提供相对而言更加完善的镜像
下载地址: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:
在笔者提供的镜像里,桌面上有一个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