You are not logged in.
For those who don't know, HTML5 enables most current browsers to play videos and audios without the need of any plugin. QtWebkit supports this feature, so browsers using it such as Rekonq and Arora should support it too. However on Arch Linux this does not work outside of the box.
I've tried to make this work and made a little progress, and I'm wondering if anyone has made similar attempts, have suggestions, or are willing to try this out. What I've done basically is to compile Qt with Phonon, and then remove the Phonon files when building the package, so that it uses the Phonon that comes with KDE. I included the PKGBUILD below, and you just need to copy the extra/qt directory from abs, and override the PKGBUILD or apply the patch.
I also installed phonon-vlc-qt from AUR, which according to this post contains some fixes to support HTML5 video/audio. However neither this nor the default gstreamer backend works for me. With vlc the vidoe doesn't play, and with gstreamer the browser crashes. To try different backends for Phonon, open KDE's System Settings - Multimedia - Backends, and use the Prefer and Defer buttons.
Some links for testing HTML5 video and audio:
http://html5test.com Only uses JavaScript to ask the browser if it supports the feature. What I've done does make these tests pass.
http://youtube.com/html5 Join the beta, and then open some youtube videos, and look for HTML5 in the player's control bar
The PKGBUILD:
# $Id: PKGBUILD 98480 2010-11-09 22:17:20Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=qt
pkgver=4.7.1
pkgrel=2
pkgdesc='A cross-platform application and UI framework'
arch=('i686' 'x86_64')
url='http://qt.nokia.com/'
license=('GPL3' 'LGPL')
depends=('libtiff' 'libpng' 'libmng' 'sqlite3' 'ca-certificates' 'glib2' 'dbus'
'fontconfig' 'libgl' 'libsm' 'libxrandr' 'libxv' 'libxi' 'alsa-lib'
'xdg-utils' 'hicolor-icon-theme')
optdepends=('postgresql-libs: PostgreSQL driver'
'libmysqlclient: MySQL driver'
'unixodbc: ODBC driver'
'libxinerama: Xinerama support'
'libxcursor: Xcursor support'
'libxfixes: Xfixes support')
makedepends=('mesa' 'postgresql-libs' 'mysql' 'unixodbc' 'cups' 'gtk2')
install="${pkgname}.install"
options=('!libtool')
_pkgfqn="qt-everywhere-opensource-src-${pkgver}"
source=("ftp://ftp.qt.nokia.com/qt/source/${_pkgfqn}.tar.gz"
'assistant.desktop' 'designer.desktop' 'linguist.desktop'
'qtconfig.desktop')
md5sums=('6f88d96507c84e9fea5bf3a71ebeb6d7'
'fc211414130ab2764132e7370f8e5caa'
'85179f5e0437514f8639957e1d8baf62'
'f11852b97583610f3dbb669ebc3e21bc'
'6b771c8a81dd90b45e8a79afa0e5bbfd')
build() {
unset QMAKESPEC
export QT4DIR=$srcdir/$_pkgfqn
export PATH=${QT4DIR}/bin:${PATH}
export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
cd $srcdir/$_pkgfqn
sed -i "s|-O2|$CXXFLAGS|" mkspecs/common/g++.conf
sed -i "/^QMAKE_RPATH/s| -Wl,-rpath,||g" mkspecs/common/g++.conf
sed -i "/^QMAKE_LFLAGS\s/s|+=|+= $LDFLAGS|g" mkspecs/common/g++.conf
./configure -confirm-license -opensource \
-prefix /usr \
-docdir /usr/share/doc/qt \
-plugindir /usr/lib/qt/plugins \
-importdir /usr/lib/qt/imports \
-datadir /usr/share/qt \
-translationdir /usr/share/qt/translations \
-sysconfdir /etc \
-examplesdir /usr/share/doc/qt/examples \
-demosdir /usr/share/doc/qt/demos \
-largefile \
-plugin-sql-{psql,mysql,sqlite,odbc} \
-system-sqlite \
-xmlpatterns \
-phonon \
-phonon-backend \
-svg \
-webkit \
-script \
-scripttools \
-system-zlib \
-system-libtiff \
-system-libpng \
-system-libmng \
-system-libjpeg \
-nomake demos \
-nomake examples \
-nomake docs \
-no-rpath \
-openssl-linked \
-silent \
-optimized-qmake \
-dbus \
-reduce-relocations \
-no-separate-debug-info \
-gtkstyle \
-opengl \
-no-openvg \
-glib
make
}
package() {
cd $srcdir/$_pkgfqn
make INSTALL_ROOT=$pkgdir install
# install missing icons and desktop files
for icon in tools/linguist/linguist/images/icons/linguist-*-32.png ; do
size=$(echo $(basename ${icon}) | cut -d- -f2)
install -p -D -m644 ${icon} ${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/linguist.png
done
install -p -D -m644 src/gui/dialogs/images/qtlogo-64.png ${pkgdir}/usr/share/icons/hicolor/64x64/apps/qtlogo.png
install -p -D -m644 tools/assistant/tools/assistant/images/assistant.png ${pkgdir}/usr/share/icons/hicolor/32x32/apps/assistant.png
install -p -D -m644 tools/designer/src/designer/images/designer.png ${pkgdir}/usr/share/icons/hicolor/128x128/apps/designer.png
install -d ${pkgdir}/usr/share/applications
install -m644 ${srcdir}/{linguist,designer,assistant,qtconfig}.desktop ${pkgdir}/usr/share/applications/
# install license addition
install -D -m644 LGPL_EXCEPTION.txt ${pkgdir}/usr/share/licenses/qt/LGPL_EXCEPTION.txt
# Fix wrong path in pkgconfig files
find ${pkgdir}/usr/lib/pkgconfig -type f -name '*.pc' \
-exec perl -pi -e "s, -L${srcdir}/?\S+,,g" {} \;
# Fix wrong path in prl files
find ${pkgdir}/usr/lib -type f -name '*.prl' \
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;
# Remove phonon files which are installed by KDE
rm -r ${pkgdir}/usr/{include/phonon/,lib/libphonon*,lib/pkgconfig/phonon.pc}
}
Diff from qt's PKGBUILD in ABS:
--- PKGBUILD.orig 2010-12-15 13:18:19.000000000 -0500
+++ PKGBUILD 2010-12-15 13:19:15.000000000 -0500
@@ -57,8 +57,8 @@
-plugin-sql-{psql,mysql,sqlite,odbc} \
-system-sqlite \
-xmlpatterns \
- -no-phonon \
- -no-phonon-backend \
+ -phonon \
+ -phonon-backend \
-svg \
-webkit \
-script \
@@ -109,4 +109,6 @@
# Fix wrong path in prl files
find ${pkgdir}/usr/lib -type f -name '*.prl' \
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;
+ # Remove phonon files which are installed by KDE
+ rm -r ${pkgdir}/usr/{include/phonon/,lib/libphonon*,lib/pkgconfig/phonon.pc}
}
Last edited by hagabaka (2010-12-15 22:11:46)
Offline