Announcement

Collapse
No announcement yet.

AOMedia libaom AV1 3.0 Encoder Released With Better Compression Efficiency

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • AOMedia libaom AV1 3.0 Encoder Released With Better Compression Efficiency

    Phoronix: AOMedia libaom AV1 3.0 Encoder Released With Better Compression Efficiency

    AOMedia libaom 3.0.0 was released on Tuesday by Google engineers as this reference AV1 video encoder...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    libaom-av1 is faster and higher quality than svt_av1 for preset 4, and has been for a while.

    The libaom that ships with debian/ubuntu is ancient (1.x) which is why the majority of people have such a poor impression of its performance. That's because pre-2.0 lacked intrinsics.

    Today, on a dual-core SKL machine, libaom-av1 with preset 4 is getting higher FPS and better quality for the same bitrate than libx265 on veryslow.

    Comment


    • #3
      Originally posted by linuxgeex View Post
      libaom-av1 is faster and higher quality than svt_av1 for preset 4, and has been for a while.

      The libaom that ships with debian/ubuntu is ancient (1.x) which is why the majority of people have such a poor impression of its performance. That's because pre-2.0 lacked intrinsics.

      Today, on a dual-core SKL machine, libaom-av1 with preset 4 is getting higher FPS and better quality for the same bitrate than libx265 on veryslow.
      What command line string are you using for encoding?

      Comment


      • #4
        Originally posted by MadeUpName View Post

        What command line string are you using for encoding?
        First, make sure you have built it from sources or obtained one recently built from recent sources of 2.x or 3.0. Daily static binaries of ffmpeg with a recent libaom-av1 are available here.

        This example is for 8-bit encoding to webm-compatible output:

        Code:
        $ INPUT="input.ext" OUTPUT="output.ext" TITLE="Title text" ABOUT="about text"
        
        $ ffmpeg -hide_banner -y -i "$INPUT" -c:v libaom-av1 -crf 22 -b:v 1600K -strict experimental -row-mt 1 -tiles 2x2 -cpu-used 8 -pix_fmt yuv420p -na -passlogfile "$INPUT" -pass 1 "$OUTPUT"
        
        $ ffmpeg -hide_banner -y -i "$INPUT" -c:v libaom-av1 -crf 22 -b:v 1600K -metadata title="$TITLE" -metadata:s:v:0 title="$ABOUT" -metadata:s:a:0 title="$ABOUT" -strict experimental -row-mt 1 -tiles 2x2 -cpu-used 4 -pix_fmt yuv420p -c:a libopus -ac 2 -b:a 160K -passlogfile "$INPUT" -pass 2 "$OUTPUT"
        However this isn't the best speed/quality you can get if you're encoding an entire library of files.

        If you have a lot of files to encode, drop the -tiles option, set row-mt to 0, and run one copy of ffmpeg per core. That maximises cache locality and avoids the minor bitrate increase caused by the use of tiles. In my experience even 6-year-old iPads can play 1080p AV1/Opus files fine with VLC and stream the result seamlessly to AppleTV. Old Android media players may struggle without the use of tiles though, as they had about 1/3 the single-thread performance of the Apple products of their day.

        If you want even better speed, do single pass with -crf only. This gives less predictable file sizes and may cause streaming issues. If you're only playing off local storage and/or creating these copies for archival purposes then this is the way to go.

        If you're doing screencasts, I have found that -crf 40 is acceptable for 1080p a lot of the time for low-motion, and this is up to 4x faster than x265 for the same quality and the same final file size. It's amazing. I've done 10 minute presentations that worked out to <3MB.

        When comparing low-bitrate AV1 to x265, my observation is that x265 tends to suffer more than AV1 when it comes to preservation of details and artefacts around the edges of high and low motion areas. libaom-av1's weakness at this time is that it tends to blur low-contrast details sooner than x265, budgeting bits instead towards better motion (via smaller partitions, better sub-pel) and less ringing artefacts. This can make x265 stills look better/more detailed than AV1, but playback will look much cleaner/less annoying with AV1. Generally speaking I don't recommend using hqdn3d on anything other than cartoon sources when you're using libaom-av1, and you might even want to add a slight unsharp mask, ie add -vf "unsharp=5:5:0.2" to help it hang onto grain in foggy areas if you care about that.
        Last edited by linuxgeex; 29 March 2021, 02:31 PM.

        Comment


        • #5
          Thanks for the feedback. I will give those a try. Every time I have tried any AV1 encoder I always got a combination of cruddy image quality, bigger than x264 and slower than a glacier encoding. I want to love AV1 but I haven't hit the secret sauce yet. Maybe these will get me there. Again thanks.

          Comment


          • #6
            I wonder if grain encoding finally works reliably...

            Comment


            • #7
              It's relieving to see laptop processors getting above 30, and even 60 fps – at encoding!

              https://openbenchmarking.org/result/...07&oss=Speed+9

              Comment


              • #8
                Originally posted by linuxgeex View Post
                First, make sure you have built it from sources or obtained one recently built from recent sources of 2.x or 3.0. Daily static binaries of ffmpeg with a recent libaom-av1 are available here.
                Code:
                [B]Forbidden[/B]
                
                You don't have permission to access this resource.
                
                Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
                Thanks



                Comment


                • #9
                  Originally posted by char View Post

                  Code:
                  [B]Forbidden[/B]
                  
                  You don't have permission to access this resource.
                  
                  Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
                  Thanks
                  Here's an updated URL for static ffpmeg builds with recent libaom-av1 library: Updated URL


                  Comment

                  Working...
                  X