Opened 4 years ago

Closed 3 years ago

#60933 closed request (fixed)

request: libaom-av1

Reported by: iefdev (Eric F) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: dbevans (David B. Evans), jeremyhu (Jeremy Huddleston Sequoia), ryandesign (Ryan Carsten Schmidt), devernay (Frédéric Devernay), MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port:

Description

I'd like to request libaom-av1 (or what suitable name it should have).

With a libaom-av1 port, one could later add --enable-libaom to the ffmpeg build.

Page referenced in the FFmpeg wiki is:

Source code:


So, this tracks back to an issue I had when downloading a clip from YouTube with youtube-dl.

When using something like:

-f 'bestvideo[ext=mp4][height<=720]+bestaudio[ext=m4a]'

It will pick a better video, but a some of the better videos are using (vcodec) av01 instead of avc1, and the merged video won't play in Finder/QuickLook, &/or with ffplay. VLC did play the video though.

# excerpts from youtube-dl -F <url>
// ... //
136     mp4    1280x720   720p  461k , avc1. ...
398     mp4    1280x720   720p  963k , av01. ...
399     mp4    1920x1080  1080p 1741k , av01. ...
137     mp4    1920x1080  1080p 2367k , avc1. ...
22      mp4    1280x720   720p  245k , avc1. ...
18      mp4    640x360    360p  274k , avc1. ... (best)
$ ffprobe "Some_clip.mp4" 
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Some_clip.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2mp41
    encoder         : Lavf58.29.100
  Duration: 00:21:39.02, start: 0.000000, bitrate: 432 kb/s
    Stream #0:0(und): Video: av1 (av01 / 0x31307661), none, 1280x720, 299 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 24k tbc (default)
    Metadata:
      handler_name    : ISO Media file produced by Google Inc.
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : ISO Media file produced by Google Inc.
Unsupported codec with id 32797 for input stream 0

One can pick the avc1 version with bestvideo[ext=mp4][height<=720][vcodec^=avc1] ([vcodec!=av01] did not work), but then… you don't get the better versions.

Installing/using dav1d worked for this particular video clip, but it would be great to also have libaom-av1 as an additional option as well – incase it's needed for other ones.

Since a lot of people use and rely on youtube-dl, and that one have some ffmpeg integration - it would be great to have some more/additional support available.



  • cc: dbevans, jeremyhu (ffmpeg)
  • cc: ryandesign (youtube-dl)

…in case any of you are interested.

Change History (12)

comment:1 Changed 4 years ago by herbygillot (Herby Gillot)

It looks like the Github repository you linked to is not being updated? According to the Github repo's project description, the Github repository is a clone of the project hosted on Googlesource here (https://aomedia.googlesource.com/aom), which has seen updates as recently as 4 days ago.

Should we be using the Googlesource repository for this instead?

comment:2 Changed 4 years ago by mf2k (Frank Schima)

Keywords: ffmpeg youtube-dl removed
Version: 2.6.3

comment:3 Changed 4 years ago by mf2k (Frank Schima)

If you mean Google Code, then no. See #53467.

Last edited 4 years ago by mf2k (Frank Schima) (previous) (diff)

comment:4 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

He doesn't; he means Google Source, per the link he provided. :)

comment:5 Changed 4 years ago by mf2k (Frank Schima)

Ah OK. Thanks!

comment:6 in reply to:  1 Changed 4 years ago by iEFdev

Thanks for looking at this. 👍

Actually, after posting this, and when I started to look at (play with) a mock Portfile - I do think I mean the Google Source. :–) The GitHub mirror (I posted first), doesn't seem to “mirror” anything (as in getting updates pushed from another source). So, this one seems to be the proper source: https://aomedia.googlesource.com/aom/+/refs/tags/v2.0.0 (latest tag/version)

I looks very active to me, and it should be good to use, since we use Google Source for other ports. I made a PR to update `libvpx` which uses Google Source as well – and without having a deeper look at it, it looks like the Portfile for libvpx maybe could be used as a “template” for this?


[sidenote/half OT]: Apple joined AOM a couple of years ago:

So, if Apple are about to put this in future software – maybe we also need it for older systems, to be able to at least play videos made with newer software (ie compat). Just a thought…

Last edited 4 years ago by iEFdev (previous) (diff)

comment:7 Changed 3 years ago by devernay (Frédéric Devernay)

Cc: devernay added

comment:8 Changed 3 years ago by devernay (Frédéric Devernay)

If anyone needs it, I made a basic aom Portfile (aom is the software name, and that's also the name they used in homebrew, so I kept that). It's certainly not on par with MacPorts quality standards, but it works. Universal build was tested on 10.6. I don't have a silicon arm Mac, but I grabbed the extra config option from homebrew.

https://github.com/NatronGitHub/Natron/tree/RB-2.3/tools/MacPorts/multimedia/aom

comment:9 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Thanks.

Why must it fetch from git instead of a tarball?

Is there an upstream bug report about the problem you mentioned in a comment in the portfile, where it will not build if the path contains regular expression characters?

comment:10 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: MarcusCalhoun-Lopez added

The "aom" port was added in [f29a2a36807444987d7c9d9e1f4c602e2c56c6b4/macports-ports]. It installs a library called libaom.dylib. Is that what was requested in this ticket or is that different?

comment:11 Changed 3 years ago by devernay (Frédéric Devernay)

The aom port works fine. This issue can be closed

comment:12 Changed 3 years ago by mf2k (Frank Schima)

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