Bug#851170: libqt5webengine5: h.264 video does not seem to work
(sorry for the double mail Sandro, I am very bad at email!!!)
I'm trying to figure out what exactly use_system_ffmpeg and
use_proprietary_codecs does.
It seems to me that use_system_ffmpeg will do exactly as it sounds and will use
system libav* libraries.
I went and downloaded webengine 5.7 source:
git clone https://code.qt.io/qt/qtwebengine.git -b 5.7
and did some digging in there.
In src/core/renderer/content_renderer_client_qt.cpp I found:
#if defined(USE_PROPRIETARY_CODECS)
info.supported_init_data_types |= media::kInitDataTypeMaskCenc;
info.supported_codecs |= media::EME_CODEC_MP4_ALL;
#endif // defined(USE_PROPRIETARY_CODECS)
After some searching around, I found that media::EME_CODEC_MP4_ALL is defined
in chromium, see:
https://chromium.googlesource.com/chromium/src.git/+/lkcr/media/base/eme_constants.h
So it looks like to me with my non-expert eyes, that use_proprietary_codecs is
just setting the bits that the underlying browser engine reports that certain
codecs are available to use.
It seems that if you have use_proprietary_codecs and use_system_ffmpeg both on,
it will still delegate the video to the system libraries.
I could be wrong, these are just the results of some preliminary digging!
On 01/12, Sandro Knauß wrote:
> Hey,
>
> > please be gentle as this is my first bug report :)
>
> feel welcome! I hope your first experience with Debian bug reporting is a good
> one.
>
> > I'm excited that Qt WebEngine is being packaged, so I could use it with
> > qutebrowser.
>
> that is great and we need packages using QtWebEngine to get an idea if we
> packaged it correctly.
>
> > It seems to work beautifully, except that H.264 video is not working.
> > I've talked to the developer of qutebrowser and he said that qtwebengine
> > might not be configured to use proprietary codecs (see:
> > http://doc.qt.io/qt-5/qtwebengine-features.html#audio-and-video-codecs )
>
> We were in a rush to get QtWebEngine ready for Debian, so we couldn't evaluate
> all the potentials of QtWebEngine. But on Debian we can't simply include
> proprietary codecs, because that would mean, that QtWebEngine will move from
> main to non-free and all software using it would endup in contrib. And I think
> must use cases are not include sing proprietary codecs.
>
> The solution would be, that we would able to use ffmpeg/libh264 from the
> system, if available, like other media player do this. And we actually push
> this information into the build. So in theory it should be picked up and use
> the system ffmpeg libs:
> qmake WEBENGINE_CONFIG+="use_system_ffmpeg=1"
>
> Did you try to just install the necessary libs?
>
> Under [0] you find the complete build script for Debian.
>
> >I know that multimedia codecs can be very hairy things in general, but I'm
> hoping that since H.264 is enabled in chromium, that the same can be done for
> Qt WebEngine.
>
> I hope so too, but the build of QtWebEngine is another layer on top of the
> complex build of the internal chromium.
>
> Any help how to push QtWebEngine to use system h264 is very welcomed!
>
> Best Regards,
>
> sandro
>
> [0] https://anonscm.debian.org/git/pkg-kde/qt/qtwebengine.git/tree/debian/
> rules
--
Robert Cross
-------------------------------------
OpenPGP key ID: AA332044
Uphold your right to privacy, encrypt your email!
https://emailselfdefense.fsf.org/
Reply to: