#17953 closed enhancement (fixed)

Add libaom in support of libavif (for WebKitGTK+)

Reported by: Douglas R. Reno Owned by: Douglas R. Reno
Priority: normal Milestone: gnome-44
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

This is a codec for libavif, and the one that we'll try implementing. It's unknown whether this will be sufficient, but Xi did mention in #17801 that it libavif/libaom might be all that's needed.

Change History (7)

comment:1 by Douglas R. Reno, 13 months ago

Milestone: 11.4gnome-44

comment:2 by Douglas R. Reno, 13 months ago

Owner: changed from blfs-book to Douglas R. Reno
Status: newassigned

comment:3 by Xi Ruoyao, 13 months ago

Download link: https://storage.googleapis.com/aom-releases/libaom-3.6.0.tar.gz

Build instructions:

cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -G Ninja .. -DENABLE_NASM=yes -DBUILD_SHARED_LIBS=1
ninja
sudo ninja install

Doxygen is optional for doc (I've not installed it).

Nasm or yasm is optional (or recommended?) for building assembly routines for optimized performance. I have nasm installed but not yasm, so -DENABLE_NASM=yes is needed to enable the assembly routines.

Gst-plugins-bad builds fine with it. Then I can use gst-play to play a sample video. And I can also play an online sample in epiphany.

Unfortunately both Youtube and Bilibili still believe epiphany did not support AV1 and insist to give me H264 videos. I overrode the user agent string with

gsettings set org.gnome.Epiphany.web:/org/gnome/epiphany/web/ user-agent 'Mozilla/5.0 (X11; Linux x86_64; rv:110.0) Gecko/20100101 Firefox/110.0'

to pretend epiphany was a Firefox, then I can select "AV1" in Bilibili player settings and play a video with AV1. But Youtube still gives me H264 and I cannot find a way to set "AV1" explicitly. (Maybe I'll need a Youtube account?)

Last edited 13 months ago by Xi Ruoyao (previous) (diff)

comment:4 by Xi Ruoyao, 13 months ago

The test suite of libaom downloads hundreds of megabytes for test data, and costs a long time (I couldn't wait for its finish so I interrupted it).

comment:5 by Xi Ruoyao, 13 months ago

In the book VLC also refers to libaom. And it looks like ffmpeg can use it too.

comment:6 by Douglas R. Reno, 12 months ago

I used Parole as well to test it (since it's gstreamer based), and everything seems to work well there. Tested with VLC and ffmpeg too (though note that for ffmpeg, you're going to want to set aside a bit of time and then come back later. Big Buck Bunny took about 15 minutes to convert)

If you're curious about using ffmpeg, make sure you rebuild ffmpeg with --enable-libaom (which I'm going to add), and then run:

ffmpeg -i big_buck_bunny.mp4 -c:v libaom-av1 -b:v 2M -row-mt 1 big_buck_bunny.mkv

comment:7 by Douglas R. Reno, 12 months ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.