[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: