Qt, QtWebKit and <video> support - qt

What kind of source material support embedded QtWebKit browser has? Does it support MPEG-4, WebM or Theora and is this support available through compilation?
I was mostly looking desktop platforms (Linux)

QtWebKit is not video player, but it supports extensions like adobe flash, so if you embed some kind of flash player in html you displaying, it will play all videos which can be played in your OS with flash.
Another approach is to use Phonon module, which connects to your video codec system and could play all formats which have codecs installed for them.
Also, html5 support will be added in qt webkit version 2.2, which is still in alpha.

Related

Qt 5.7 WebEngineView, HTML5 audio/video and WebRTC

Documentation suggests that the latest QtWebEngineView should support WebRTC and HTML5 audio (I also want WebAudio API).
I'm using QtQuick 2 and QT 5.7, and the QML WebEngineView (1.1) and WebView don't support getUserMedia nor HTML5 audio.
Is it possible to have access to WebRTC and Web Audio API using QML?
Or do I have to use C++ and calling the widgets directly? (everything is supported with the webenginewidgets/demobrowser example)
I never found a good solution to this, but recent versions of Qt don't have this issue. I ended up not going the Qt route.

Media Player in Qt

I am posting this to know whether a media player can be developed with Qt5 without using gstreamer plugins as backend.Is there any other backend engine available in embedded linux platform to play media files other than gstreamer. I am using intel X86 32 bit architecture.
Thanks in advance.
Just checked the Qt5 plugin sources (/qt5/qtmultimedia/src/plugins) and it seems like gstreamer is the only option for linux. Phonon has been dropped in Qt5.
If you want to use phonon you'll have to stick with Qt 4.8.
Qt5 on Linux only supports gstreamer by using the plugins in http://qt.gitorious.org/qt/qtmultimedia/trees/stable/src/plugins. Of course you can write your own plugin using ffmpeg or whatever you want. This is pretty simple, but entirely depends in the performance you need.
Phonon was available in Qt 4, but AFAIK Phonon is gstreamer based again. There is also a project to create a vlc-based Phonon, but I don't really know how it works (https://projects.kde.org/projects/kdesupport/phonon).
However, you don't specify your specific target, but if you want to achieve acceptable performance for graphics and/or video on embedded devices, you probably really need hardware acceleration. And Phonon will hardly help you with this. Also consider that Qt 4 is old: it misses years of development.
I'm also writing a Qt5 backend using OpenMAX and ffmpeg: http://thebugfreeblog.blogspot.it/2013/04/hardware-accelerated-qtmultimedia.html. It might be an example if you need to write your own.
Also consider that the errors you reported (why reporting in an answert?) seem to suggest you built gstreamer wrong.

QT/Phonon Video Recording

I want to do the Video Recording in QT Phonon media framework.Has Qt/KDE's Phonon media framework abstraction implemented Video recording? If Phonon does not implemented then how to add functionality(As Phonon uses gstreamer as backend and we can easily do Video Recording using gStreamer)
Regards
Kiran
Unfortunately Phonon only provides utilities for multimedia playback and as far as I know they do not plan to add recording functionality in the future. In order to perform video/audio stream recording you could use QtMultimedia module.

Qt for Symbian VS. Qt for MeeGo

What is the difference between Qt for Symbian and Qt for MeeGo? I know Qt is a cross-compiling platform. Does this mean that if I use a library from Qt the exact same library works on all devices which support Qt (e.g. Symbian, MeeGo)?
For example:
QtDesktopServices can launch a web browser. Despite the name 'Desktop' is confusing for mobile devices can I launch a web browser on every device which supports Qt? If I look at MeeGo, MeeGo is used for different kind of devices e.g. In-Vehicle, TV, media phone
Is it guaranteed that every device has a web browser on it? I don't think so and that's why I'm asking. If a browser is guaranteed, which browser is it? Which features does it have? I know there is WRT, but a user here stated that WRT has discontinued. So what now?
Do I have to choose between Qt 4.7 and Qt Mobility 1.0?
What leinir said - Qt Mobility is a module that implements common features for mobile devices. Qt's API is the same on all platforms, though there are some platform-specific functions (mainly dealing with low-level stuff).
While the API (the interface) is the same, the implementation of course may be different. I suggest looking at the Qt online documentation - the pages linked under "Platform-specific Development"
According to "Platform notes - Symbian", the Symbian port is not complete and lacks some features (e.g. OpenGL support is "planned for a future release", while printing probably never will be supported). I'm pretty sure that the MeeGo/Maemo version supports OpenGL ES, as I've seen a Qt-based application using it (Stellarium on a Nokia N900).
QtMobility is an extra module for Qt, which provides a bunch of extra functionality which is more esoteric than the other 13 or so Qt modules, but functionality which is really useful when you are building applications the way you suggest.
So no, you don't choose between Qt 4.7 and QtMobility 1.0, because you have to use Qt to be able to use the extra module QtMobility :)
The browser will always be whatever is set up as the default browser on the system. So, no, there is no guarantees - for Windows, for example, you might have people using Firefox, Chrome, Internet Explorer 6 and many others. This is the nature of platform integration, i'm afraid :)

What is Qt Port?

I came accross a website and what is this QTWebKit? and why do we use it and in which envoirment c++/Java or...
https://trac.webkit.org/wiki/QtWebKit#TechnicalArticles
Citing from your own link:
WebKit is an open source web browser engine. [...] QtWebKit is a project aiming at porting this fabulous engine back to Qt.
The Qt port of WebKit currently compiles and runs on Linux (including Maemo and Meego), Windows, Mac OS X and Symbian."
So it's webkit ported to Qt. What Qt is, is described e.g. here.
A simple search also reveals the Qt Webkit documentation.
Citing the site you mentioned:
WebKit is an open source web browser
engine. (...) QtWebKit is a project aiming at porting this fabulous engine back to Qt.
WebKit being an engine focused on implementing web browser's specific tasks (interpreting a web page's source (HTML, CSS), executing Java Script, creating visual representation and others) makes use of some basic services needed to accomplish these tasks. The examples of such services would be displaying an image on the screen or downloading a file over a network. These services must be provided for it to work. In case of Qt port these services are provided by Qt, which is a cross platform C++ framework for creating applications. You can find more information on Qt here.

Resources