All ebuilds for chromium beta and dev channel releases after 6.0.472.33 break h264 <video> support. I have tested the same versions from chromium buildbot in ubuntu, and there it is fixed per http://code.google.com/p/chromium/issues/detail?id=50678. By that, I suppose it to be a Gentoo issue. Reproducible: Always Steps to Reproduce: 1. Unmask and emerge =www-client/chromium-6.0.495.1 2. h264 support is disabled in chromium Actual Results: h264 support is disabled in recent versions of chromium on Gentoo. Expected Results: h264 support is enabled in recent versions on Ubuntu and Windows.
Created attachment 243645 [details] chromium-6.0.495.1 build log
Created attachment 243647 [details] emerge --info
This is still an issue in 7.0.503.1. I am happy to do anything I can to help troubleshoot or test; however I don't have the experience with Chromium to know what to do on my own. Chromium Herd, please feel free to give me any direction you can that might help to isolate this issue.
Ideally we should be building with system ffmpeg (-Duse_system_ffmpeg=1). That would give us h264 support if system ffmpeg has it. Another option would be adding a bindist flag to the ebuild and changing ffmpeg branding to one that supports h264 if the bindist flag is not enabled.
Created attachment 244843 [details] ebuild for 6.0.472.41 with h264 support Okay... the better part of a day spent recompiling chromium over and over, and I have two solution-ish things. This is the first: h264 enabled in the bundled ffmpeg. The issue was a missing configure flag: -Dproprietary_codecs=1. Maybe this should go behind a -bindist or something so that it doesn't happen if people are building a bindist? I'm not an ebuilder or a licenser or anything, so I don't know, but this makes the latest beta work with h264, without requiring any trunk builds.
Created attachment 244845 [details] ebuild for 7.0.503.1 with h264 support The other solution (probably more in line with what Gentoo wants) is h264 support with system ffmpeg. The bad thing is that chromium requires a new feature of ffmpeg that is not included in the 0.6 release (or any since), so here in Gentooland that means unmasking and using ffmpeg-9999, which I've added as a DEPEND. So, that explains the issue to me. The solution I used in the 6.0.472.41 ebuild should theoretically work on all of the ebuilds since... As long as we are using the bundled libs while we wait on ffmpeg, is there a reason not to add that conf flag to the ebuilds?
thanks for the ebuild for chromium 7 ! there's however a typo: DEPEND="${RDEPEND} dev-lang/perl >=dev-util/gperf-3.0.3 >=dev-util/pkgconfig-0.23 >=gnome-base/gnome-keyring-2.28.2 sys-devel/flex" ~media-video/ffmpeg-9999 should be DEPEND="${RDEPEND} dev-lang/perl >=dev-util/gperf-3.0.3 >=dev-util/pkgconfig-0.23 >=gnome-base/gnome-keyring-2.28.2 sys-devel/flex ~media-video/ffmpeg-9999" mark the quotation marks at the end of ffmpeg instead of flex :)
Is myconf="${myconf} -Dproprietary_codecs=1" the only difference with the official ebuild? Because it still doesn't work...
Created attachment 247210 [details] ebuild for 7.0.503.1-r1 with h264 support No, that is not the only difference. I've uploaded a new version that more obviously highlights the differences, which are mainly: # Use system ffmpeg and build proprietary codecs. myconf="${myconf} -Duse_system_ffmpeg=1 -Dbuild_ffmpegsumo=0 -Dproprietary_codecs=1" and # Chromium looks for these in its folder # See media_posix.cc and base_paths_linux.cc dosym /usr/$(get_libdir)/libavcodec.so.52 "/usr/$(get_libdir)/chromium-browser" dosym /usr/$(get_libdir)/libavformat.so.52 "/usr/$(get_libdir)/chromium-browser" dosym /usr/$(get_libdir)/libavutil.so.50 "/usr/$(get_libdir)/chromium-browser" There are also a couple of doexe lines to do with ffmpegsumo that need to go away now that we aren't building it. Previously, I was doing the dosym lines at the end wrong, which broke it, because for some reason chrome doesn't look for for libav* in libdir. This version should really actually work.
Created attachment 247211 [details] ebuild for 6.0.472.55 with h264
The new ebuild I uploaded uses the bundled ffmpeg but enables h264 support by adding "-Dproprietary_codecs=1 -Dffmpeg_branding=Chrome". This is useful for people who aren't too keen on using ffmpeg-9999.
>>> Configuring source in /var/tmp/portage/media-video/ffmpeg-9999-r1/work/ffmpeg-9999 ... Unknown option "--enable-avfilter-lavf". See ./configure --help for available options.
chromium-7.0.503.1-r1.ebuild with the line myconf="${myconf} -Dproprietary_codecs=1 -Dffmpeg_branding=Chrome" added also works and provides hassle-free h264 support. I would appreciate this going into the official ebuild (with bindist flag).
Created attachment 247443 [details, diff] chromium-7.0.517.5.ebuild.patch This patch should do the equivalent of the the one attached in comment #10. I've tested it with chromium-7.0.517.5 and it seems to work fine, aside from the audio being slightly out of synch. This is my first build to have html5 youtube videos working with both h264 and webm, so I'm pretty happy with it.
*** Bug 338637 has been marked as a duplicate of this bug. ***
*** Bug 339129 has been marked as a duplicate of this bug. ***
I'd like to try to use system ffmpeg first, waiting for an update of the ffmpeg package in Gentoo.
Created attachment 249276 [details, diff] Patch against 7.0.517.24 (In reply to comment #14) > Created an attachment (id=247443) [details] > chromium-7.0.517.5.ebuild.patch Patch adapted to 7.0.517.24, the current beta ebuild in tree. Works very well here.
After my patch http://html5test.com/ still says that MPEG-4 (container?) as well as PCM support is missing. Does anyone know how to fix that?
What about using system ffmpeg?
Does media-video/ffmpeg-0.6_p25423 work with Chromium?
This should be fixed in chromium-7.0.544.0-r2. Enjoy!
h264 seems gone in 14.0.797.0 Anyone?
(In reply to comment #23) > h264 seems gone in 14.0.797.0 > > Anyone? Paweł switched it to use the bundled ffmpeg again. See bug 371931.