让qtwebkit使用gstreamer
来源:互联网 发布:汇通财经数据直播 编辑:程序博客网 时间:2024/05/17 02:57
花了一天事件, 终于编译出了支持gstreamer的qtwebkit, 可以开始html5 的<video><audio>之旅了。
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-pythonmake && make install
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=no glib_cv_uscore=no ac_cv_func_posix_getpwuid_r=yes \ ac_cv_func_posix_getgrgid_r=yes ac_cv_lib_rt_clock_gettime=no glib_cv_monotonic_clock=yesmake && make install
4. 编译gstreamer
下载gstreamer-0.10.35.tar.gz, 这个是0.10版本里面最新的了。
编译脚本:
CC=arm-none-linux-gnueabi-gcc PKG_CONFIG_PATH=/home/work/dist/lib/pkgconfig ./configure --build=i686-linux --host=arm-none-linux \ --prefix=/home/work/dist CFLAGS=-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-debugmake && make install
5. 编译gst plugins base
下载gst-plugins-base-0.10.35.tar.gz。
编译脚本:
CC=arm-none-linux-gnueabi-gcc PKG_CONFIG_PATH=/home/work/dist/lib/pkgconfig ./configure --build=i686-linux --host=arm-none-linux \ --prefix=/home/work/dist CFLAGS=-I/home/work/dist/include --disable-valgrind --disable-x --disable-gnome_vfs --disable-alsa --disable-ogg --disable-pango --disable-theora --disable-vorbis --disable-examplesmake && make install
好了, 万事具备, 只欠东风了。接下来开始编译Qt
Qt的配置文件很复杂, 我就不写出来了, 就是要注意这三点:
1. 在Qt 的configure 时加上-force-pkg-config, 否则会在WebCore的feature.pri中检查时报"Disabling video due the lack of GLib/Gio/GStreamer.",
也就是说会不支持video.
具体可以看这个pri片段:
!contains(QT_CONFIG, no-pkg-config):system(pkg-config --exists glib-2.0 gio-2.0 gstreamer-0.10): { DEFINES -= ENABLE_VIDEO=0 DEFINES += ENABLE_VIDEO=1 DEFINES += WTF_USE_GSTREAMER=1 DEFINES -= WTF_USE_GSTREAMER=0 } else { message("Disabling video due the lack of GLib/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中加上
- 让qtwebkit使用gstreamer
- 使用QTWebkit
- qtwebkit如何使用plugin
- QtWebKit
- python使用QtWebKit代码记录
- gstreamer使用进阶
- gstreamer的使用
- gstreamer使用进阶
- gstreamer使用进阶
- gstreamer使用进阶
- 使用QtWebKit加载网页,编译时遇到的问题
- meego上gstreamer的使用
- Gstreamer 工具使用 (一)
- Gstreamer 工具使用(二)
- Gstreamer 工具使用 (一)
- Gstreamer 工具使用(二)
- Gstreamer 工具使用 (一)
- gstreamer
- WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED解决方案
- (布局)Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)
- 使用POI包进行Excel文件操作(2)
- 敏捷开发一千零一问系列之二:序言及解决问题的心法(无住)
- 怎么让时间栏显示星期几
- 让qtwebkit使用gstreamer
- 从技术角度比较Windows Embedded Compact 7和Android
- 敏捷开发一千零一问系列之三:序言及解决问题的心法(共振)
- ListView隐藏列 column隐藏标题栏不被拉出的处理方法
- android commend build.xml
- 敏捷开发一千零一问系列之四:优先级排错怎么办?
- 关于VC产生伪随机数
- select count(*) 与 select count(1)区别?
- Unity Particle System