--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: chromium: WebRTC lack H264 because of un-bundled OpenH264, is this intended ?
- From: Adam Cecile <acecile@le-vert.net>
- Date: Fri, 13 Nov 2020 17:32:54 +0100
- Message-id: <160528517484.103918.16687776202624256383.reportbug@thrall.metz.levert>
Package: chromium
Version: 83.0.4103.116-1~deb10u3.rtc.use.h264
Severity: important
Dear Chromium maintainer,
Current Chromium package in Debian lack H264 support for WebRTC, which
basically renders this feature unusable.
Yesterday I dig into the issue and figured out why it was behaving like this
(and not on other distribution nor with officiel Chrome package).
It seems OpenH264 has been un-bundled from the sources, and, unlike Firefox,
Chromium does not rely on FFMPEG for WebRTC decoding but needs this library.
I think it's quite an important feature that is missing here. I fully
understand that OpenH264 should not be bundled into Chromium sources but I
failed to find any discussion about this point, so I wanted to bring back this
issue on-top.
Despite being copyrighted by Cisco, OpenH264 is published on GitHub and
released under a 2-clause BSD license, which looks okay to me.
I think the issue might be legal, as H264 is tighted to MPEG group but FFMPEG
also comes with H264 encoder/decoder so that should not be an issue.
Would you consider enabling this feature ? At least if the main issue is just
the lack of OpenH264 package in Debian, we should at least create a RFP for it
and mark this bug being blocked by the RFP. This library should not be hard to
get into the archive, looks like being C++/ASM with Meson build-system.
Thanks in advance,
Regards, Adam.
PS: For the record, here is how I dirty-patched Debian's chromium package to
re-bundle OpenH264 and enable support:
--- chromium-83.0.4103.116/debian/control 2020-06-30 01:38:06.000000000
+0200
+++ chromium-83.0.4103.116/debian/control 2020-11-12 15:21:23.000000000
+0100
@@ -88,6 +88,8 @@
libgcrypt20-dev,
fonts-ipafont-gothic,
fonts-ipafont-mincho,
+ wget,
+ ca-certificates,
Package: chromium
Architecture: i386 amd64 arm64 armhf
diff -Nru chromium-83.0.4103.116/debian/patches/series
chromium-83.0.4103.116/debian/patches/series
--- chromium-83.0.4103.116/debian/patches/series 2020-07-11
18:03:32.000000000 +0200
+++ chromium-83.0.4103.116/debian/patches/series 2020-11-12
15:21:23.000000000 +0100
@@ -35,7 +35,7 @@
disable/signin.patch
disable/android.patch
disable/fuzzers.patch
-disable/openh264.patch
+#disable/openh264.patch
disable/buildbot.patch
disable/catapult.patch
disable/installer.patch
diff -Nru chromium-83.0.4103.116/debian/rules
chromium-83.0.4103.116/debian/rules
--- chromium-83.0.4103.116/debian/rules 2020-07-04 04:50:23.000000000 +0200
+++ chromium-83.0.4103.116/debian/rules 2020-11-12 15:21:23.000000000 +0100
@@ -1,5 +1,7 @@
#!/usr/bin/make -f
+include /usr/share/dpkg/pkg-info.mk
+
# enable verbose build messages
export DH_VERBOSE=1
@@ -92,6 +94,7 @@
proprietary_codecs=true \
ffmpeg_branding=\"Chrome\" \
fieldtrial_testing_like_official_build=true \
+ rtc_use_h264=true \
# handle parallel build options
njobs=1
@@ -108,6 +111,17 @@
override_dh_auto_configure:
# output compiler information
$(CXX) --version
+
+ # Re-introduce Cisco OpenH264 source code
+ # Also make sure to add it to keepers in ./debian/scripts/unbundle
+ # And don't forget include /usr/share/dpkg/pkg-info.mk on top
+ wget -qO- 'https://commondatastorage.googleapis.com/chromium-browser-
official/chromium-$(DEB_VERSION_UPSTREAM).tar.xz' \
+ | tar xvJ --directory '$(CURDIR)/third_party/' \
+ --strip-components=2 \
+ --wildcards \
+ '*/third_party/openh264/' \
+ '*/third_party/yasm/'
+
# prefer unbundled (system) libraries
./debian/scripts/unbundle
@@ -142,6 +156,8 @@
rm -rf out
find . -name \*.pyc -execdir rm -f {} \;
dh_auto_clean
+ rm -rf third_party/openh264/*
+ rm -rf third_party/yasm/*
###################### upstream source downloading
############################
diff -Nru chromium-83.0.4103.116/debian/scripts/unbundle
chromium-83.0.4103.116/debian/scripts/unbundle
--- chromium-83.0.4103.116/debian/scripts/unbundle 2020-06-27
03:10:37.000000000 +0200
+++ chromium-83.0.4103.116/debian/scripts/unbundle 2020-11-12
15:21:23.000000000 +0100
@@ -8,7 +8,7 @@
import replace_gn_files
-keepers = ()
+keepers = ("openh264", "yasm")
for lib,rule in replace_gn_files.REPLACEMENTS.items():
if lib not in keepers:
-- System Information:
Debian Release: 10.6
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.19.0-12-amd64 (SMP w/32 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages chromium depends on:
ii chromium-common 83.0.4103.116-1~deb10u3.rtc.use.h264
ii libasound2 1.1.8-1
ii libatk-bridge2.0-0 2.30.0-5
ii libatk1.0-0 2.30.0-2
ii libatspi2.0-0 2.30.0-7
ii libavcodec58 7:4.1.6-1~deb10u1
ii libavformat58 7:4.1.6-1~deb10u1
ii libavutil56 7:4.1.6-1~deb10u1
ii libc6 2.28-10
ii libcairo2 1.16.0-4
ii libcups2 2.2.10-6+deb10u3
ii libdbus-1-3 1.12.20-0+deb10u1
ii libdrm2 2.4.97-1
ii libevent-2.1-6 2.1.8-stable-4
ii libexpat1 2.2.6-2+deb10u1
ii libflac8 1.3.2-3
ii libfontconfig1 2.13.1-2
ii libfreetype6 2.9.1-3+deb10u2
ii libgbm1 18.3.6-2+deb10u1
ii libgcc1 1:8.3.0-6
ii libgdk-pixbuf2.0-0 2.38.1+dfsg-1
ii libglib2.0-0 2.58.3-2+deb10u2
ii libgtk-3-0 3.24.5-1
ii libharfbuzz0b 2.3.1-1
ii libicu63 63.1-6+deb10u1
ii libjpeg62-turbo 1:1.5.2-2+b1
ii libjsoncpp1 1.7.4-3
ii liblcms2-2 2.9-3
ii libminizip1 1.1-8+b1
ii libnspr4 2:4.20-1
ii libnss3 2:3.42.1-1+deb10u3
ii libopenjp2-7 2.3.0-2+deb10u1
ii libopus0 1.3-1
ii libpango-1.0-0 1.42.4-8~deb10u1
ii libpangocairo-1.0-0 1.42.4-8~deb10u1
ii libpng16-16 1.6.36-6
ii libpulse0 12.2-4+deb10u1
ii libre2-5 20190101+dfsg-2
ii libsnappy1v5 1.1.7-1
ii libstdc++6 8.3.0-6
ii libvpx5 1.7.0-3+deb10u1
ii libwebp6 0.6.1-2
ii libwebpdemux2 0.6.1-2
ii libwebpmux3 0.6.1-2
ii libx11-6 2:1.6.7-1+deb10u1
ii libx11-xcb1 2:1.6.7-1+deb10u1
ii libxcb-dri3-0 1.13.1-2
ii libxcb1 1.13.1-2
ii libxcomposite1 1:0.4.4-2
ii libxcursor1 1:1.1.15-2
ii libxdamage1 1:1.1.4-3+b3
ii libxext6 2:1.3.3-1+b2
ii libxfixes3 1:5.0.3-1
ii libxi6 2:1.7.9-1
ii libxml2 2.9.4+dfsg1-7+b3
ii libxrandr2 2:1.5.1-1
ii libxrender1 1:0.9.10-1
ii libxslt1.1 1.1.32-2.2~deb10u1
ii libxss1 1:1.2.3-1
ii libxtst6 2:1.2.3-1
ii zlib1g 1:1.2.11.dfsg-1
Versions of packages chromium recommends:
ii chromium-sandbox 83.0.4103.116-1~deb10u3.rtc.use.h264
Versions of packages chromium suggests:
ii chromium-driver 83.0.4103.116-1~deb10u3.rtc.use.h264
ii chromium-l10n 83.0.4103.116-1~deb10u3.rtc.use.h264
pn chromium-shell <none>
Versions of packages chromium-common depends on:
ii x11-utils 7.7+4
ii xdg-utils 1.1.3-1+deb10u1
Versions of packages chromium-common recommends:
ii chromium-sandbox 83.0.4103.116-1~deb10u3.rtc.use.h264
ii fonts-liberation 1:1.07.4-9
ii gnome-shell [notification-daemon] 3.30.2-11~deb10u2
ii libgl1-mesa-dri 18.3.6-2+deb10u1
pn libu2f-udev <none>
ii notification-daemon 3.20.0-4
ii upower 0.99.10-1
Versions of packages chromium-driver depends on:
ii libc6 2.28-10
ii libevent-2.1-6 2.1.8-stable-4
ii libglib2.0-0 2.58.3-2+deb10u2
ii libicu63 63.1-6+deb10u1
ii libminizip1 1.1-8+b1
ii libnspr4 2:4.20-1
ii libnss3 2:3.42.1-1+deb10u3
ii libre2-5 20190101+dfsg-2
ii libstdc++6 8.3.0-6
ii libx11-6 2:1.6.7-1+deb10u1
ii zlib1g 1:1.2.11.dfsg-1
Versions of packages chromium-sandbox depends on:
ii libc6 2.28-10
-- no debconf information
--- End Message ---
--- Begin Message ---
Source: openh264
Source-Version: 2.1.1+dfsg-1
Done: Bastian Germann <bage@debian.org>
We believe that the bug you reported is fixed in the latest version of
openh264, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 974678@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Bastian Germann <bage@debian.org> (supplier of updated openh264 package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Thu, 13 May 2021 13:40:56 +0200
Source: openh264
Binary: libopenh264-6 libopenh264-6-dbgsym libopenh264-cisco6 libopenh264-dev
Architecture: source amd64
Version: 2.1.1+dfsg-1
Distribution: unstable
Urgency: medium
Maintainer: Bastian Germann <bage@debian.org>
Changed-By: Bastian Germann <bage@debian.org>
Description:
libopenh264-6 - OpenH264 Video Codec
libopenh264-cisco6 - OpenH264 Video Codec provided by Cisco Systems, Inc.
libopenh264-dev - OpenH264 Video Codec - development files
Closes: 974678
Changes:
openh264 (2.1.1+dfsg-1) unstable; urgency=medium
.
* Initial release (Closes: #974678)
Checksums-Sha1:
05deee65d2f94890030614f0fa9f09b1583b58da 1867 openh264_2.1.1+dfsg-1.dsc
f8841f5c0983261411559073421a2992c5f41882 865428 openh264_2.1.1+dfsg.orig.tar.xz
838f57bbb4a74d340bc8567a777659ba9e10776f 5716 openh264_2.1.1+dfsg-1.debian.tar.xz
4acb93edc5b14dea6755feaa8eb231b040fd14e4 1136396 libopenh264-6-dbgsym_2.1.1+dfsg-1_amd64.deb
48ecb7370f003fd7ff8ddff2a82ecbf4a8adf8ce 377432 libopenh264-6_2.1.1+dfsg-1_amd64.deb
7fb6b29c4f3f718d24735dbc9c1fa0ef62315fe4 8692 libopenh264-cisco6_2.1.1+dfsg-1_amd64.deb
d59ee43bb3183192206b59146aa6fbb1fe271dd4 418628 libopenh264-dev_2.1.1+dfsg-1_amd64.deb
ccef16bb409528c4aa310924e255827481f0326c 6485 openh264_2.1.1+dfsg-1_amd64.buildinfo
Checksums-Sha256:
817b6b288d2bd98493892627b5e52bedb603d0c761a0297d113fbbcc0013c0b1 1867 openh264_2.1.1+dfsg-1.dsc
30750c771ac38e6127d89d90d44d3ddc2fc0d39ffec8470bfcb3606c88db26e3 865428 openh264_2.1.1+dfsg.orig.tar.xz
197685522235fe9f96eeac02e735f5620ef3e2cdda5116bffec5daf19b9e8858 5716 openh264_2.1.1+dfsg-1.debian.tar.xz
0852e0d83550a7b61550ac0e15b97533f6db2a7f06f93716e26f736181033299 1136396 libopenh264-6-dbgsym_2.1.1+dfsg-1_amd64.deb
d2f98daba04c880d04d96fabb1013a7bd43f0217d3b334c5679c40294b3fbdea 377432 libopenh264-6_2.1.1+dfsg-1_amd64.deb
1f2c104e8def1284892e63732d5863e8ddd900d1abd9db48b4a60356703fadfc 8692 libopenh264-cisco6_2.1.1+dfsg-1_amd64.deb
4d2f3556dc402f3ebba8e0934d7cb68b064a02f9a1529317e8f3c74bf462a7ba 418628 libopenh264-dev_2.1.1+dfsg-1_amd64.deb
363ca685067284cc5d8bd558122554e6a718728a362d41dd64896617fd7f06f5 6485 openh264_2.1.1+dfsg-1_amd64.buildinfo
Files:
97d653393d516bf9949f4112a50e6ff2 1867 libs optional openh264_2.1.1+dfsg-1.dsc
b13c7343b20e74c3a33ed613d8ab00dd 865428 libs optional openh264_2.1.1+dfsg.orig.tar.xz
b1a5476e1bb936ae836172e9ada2aad3 5716 libs optional openh264_2.1.1+dfsg-1.debian.tar.xz
6aa184c84ff83a44bb260250b5e77af2 1136396 debug optional libopenh264-6-dbgsym_2.1.1+dfsg-1_amd64.deb
c299c45eb241bd5bc6dc067787161f4e 377432 libs optional libopenh264-6_2.1.1+dfsg-1_amd64.deb
85829623a27e0b02c72304598bb4066d 8692 contrib/libs optional libopenh264-cisco6_2.1.1+dfsg-1_amd64.deb
e25fab7e1b873667404372866f8fe8bb 418628 libdevel optional libopenh264-dev_2.1.1+dfsg-1_amd64.deb
c3396eb5e940ed367b9f6f2d5658aa5d 6485 libs optional openh264_2.1.1+dfsg-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQGzBAEBCgAdFiEEQGIgyLhVKAI3jM5BH1x6i0VWQxQFAmFfhsQACgkQH1x6i0VW
QxQ9rgwAoFyIfKDpYf0GbDr3+xry5z3JylBfFnhdCaE67bLfepM6pACeMfw0x/mo
yIvNXdS3VocxShq+NlE+tHiGQrNxeXlz5XZMB0343TM3GY8MxFr3i3ucK7M6NuJ+
l/7mtk6fL4ojLgjlF8K6gPyQTA1pD9ONpOLtHJZz0/yzPmBF+oEamgC96aq0adPJ
znX+4mTXYeqB/QdOHAEmdi1rsKq9f3KTy8llhBVnldMaoxGtVZkAvoMEyj8yHoos
CT3WAUWpLRBkxD8+VVZ/P9PZ5OMfz41MRDy8fkpEd62ETnK/YFq4B8rBv5vVYxpI
KJsH4RB98dofAxAk+HovYGnpKxerG+SqLD0mCyaucJ+nPspOYkP301nWlIIkUXkB
/xqGcUhzG+KtgGRd1Nfpp7QpGlmWYKMJTZA1kJArKtZTZNccQXOfHx9Pwd6inQun
zme2q8DgVbUMkutK9YjisgIgIgqhvgIwW8RAlqXMuHfAhO8PVD+HxTfZLZZjd095
IFXc7j8g
=BPmF
-----END PGP SIGNATURE-----
--- End Message ---