Stories
Slash Boxes
Comments

SoylentNews is people

posted by martyb on Wednesday February 06 2019, @01:55AM   Printer-friendly
from the commoditize-your-complement dept.

Intel Releases Open Source Encoder for Next-Gen AV1 Codec

Intel published its own open source CPU-based encoder for the next-generation and royalty-free AV1 codec (a codec is a program for encoding / decoding a digital data stream or signal). Intel is one of the main founding members of the Alliance for Open Media (AOM), the non-profit group behind the development of the AV1 codec.

Intel's new encoder, called Scalable Video Technology AOMedia Video 1 (SVT-AV1), aims to fill the role of a good CPU-based encoding software tool until dedicated AV1 encoders are ready for prime time. The encoder supports the Linux, macOS and Windows operating systems.

A CPU-based encoder requires a beefy system, so it's no surprise the real-time encoding specifications for SVT-AV1 are no joke. SVT-AV1 requires Skylake-generation or newer Xeon processors with at least 112 threads and at least 48GB of RAM for 10-bit 4K video encoding. Outside of video streaming companies, these type of systems are out of reach for most. Consumers that want to encode AV1 videos may want to wait for dedicated AV1 encoding hardware to appear, which make take another year or so.

Here's a recent 42-minute talk (no transcript) about AOMedia Video 1 (AV1). Hardware support for AV1 should begin appearing around 2020.

Related: Alliance for Open Media Announces Release of AOMedia Video Codec 1.0 (AV1) Specification
YouTube and Netflix Upload AV1-Encoded Videos for Testing


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1)
  • (Score: 2) by richtopia on Wednesday February 06 2019, @03:24AM (1 child)

    by richtopia (3160) on Wednesday February 06 2019, @03:24AM (#797044) Homepage Journal

    There is a row for AV1 on the compatibility chart, but no support yet:

    https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video [wikipedia.org]

  • (Score: 2) by Runaway1956 on Wednesday February 06 2019, @03:28AM (15 children)

    by Runaway1956 (2926) on Wednesday February 06 2019, @03:28AM (#797046) Homepage Journal

    We've been playing audio visual stuff for decades now. Meaning, of course, that we've played AV on some rather lame hardware. As a rule, if you have decent speakers, and a decent monitor, playback quality is satisfactory, good, or excellent, even with ancient computers. Now, a "CPU-based encoder requires a beefy system"???? This suggests to me that AV1 is just so much bloatware.

    Wonder if I can find my old Sony Walkman? No video, but the sound was good in 1972 or thereabouts.

    --
    Abortion is the number one killed of children in the United States.
    • (Score: 4, Informative) by takyon on Wednesday February 06 2019, @03:38AM (4 children)

      by takyon (881) <{takyon} {at} {soylentnews.org}> on Wednesday February 06 2019, @03:38AM (#797047) Journal

      These early software encoders are for those who really need it, like big companies handling lots of video or needing to test out the codec. They can afford two 28-core Intel CPUs or a 64-core AMD Epyc.

      Video compression becomes more computationally complex as we attempt to get lower bitrates for a given quality. However, you will see dedicated decoding and encoding support added to new GPUs, APUs, etc. probably starting in 2020.

      Encoding is much more difficult than decoding, which is what you do for playback. Don't mix them up. There is now a fast software decoder in development, dav1d [jbkempf.com].

      --
      [SIG] 10/28/2017: Soylent Upgrade v14 [soylentnews.org]
      • (Score: 2) by DannyB on Wednesday February 06 2019, @03:02PM (1 child)

        by DannyB (5839) on Wednesday February 06 2019, @03:02PM (#797171) Journal

        They can afford two 28-core Intel CPUs

        I think TFA said 112 cores please. And 48 GB RAM.

        --
        If a minstrel has musical instruments attached to his bicycle, can it be called a minstrel cycle?
      • (Score: 2) by sjames on Thursday February 07 2019, @05:39AM (1 child)

        by sjames (2882) on Thursday February 07 2019, @05:39AM (#797625) Journal

        It still says something about the encoding complexity. I can encode h.265 in better than real time with an 8 core Opteron system.

        • (Score: 2) by takyon on Thursday February 07 2019, @06:06AM

          by takyon (881) <{takyon} {at} {soylentnews.org}> on Thursday February 07 2019, @06:06AM (#797631) Journal

          Further optimizations could be made to the encoder. Intel likely slapped its encoder together using code it used for its HEVC encoder (this is info I got from the linked video talk in TFS). But in a world where you can have 16-32 cores for relatively cheap, we've finally found something to do with those cores. 16-core Ryzen is probably coming this year. I think we could see another doubling of cores on the TSMC "5nm" [anandtech.com] node.

          https://rethinkresearch.biz/articles/ao-media-looks-ahead-to-av2-as-av1-picks-up-momentum/ [rethinkresearch.biz]

          AV1 is also slightly hampered by the encoding overhead, although that will be a diminishing burden given progress in hardware. After all AV1 was designed to trade hardware for efficiency.

          I'm excited to see what AV2 will bring to the table. Some potential features were dropped during AV1 development [wikipedia.org] because they would have made performance even worse than it is now:

          Daala Transforms were the major innovation behind the daala codec. They implement "lapped" discrete cosine and sine transforms that its authors describe as "better in every way" than the txmg set of transforms that prevailed in AV1. Both the txmg and daala_tx experiments have merged high and low bitdepth code paths (unlike VP9), but daala_tx achieved full embedding of smaller transforms within larger, as well as using fewer multiplies, which could have further reduced the cost of hardware implementations. The Daala transforms were kept as optional in the experimental codebase until late January 2018, but changing hardware blocks at a late stage was a general concern for delaying hardware availability.

          The encoding complexity of Daala's Perceptual Vector Quantization (PVQ) was too much within the already complex framework of AV1. The Rate Distortion dist_8x8 heuristic aims to speed up the encoder by a sizable factor, PVQ or not, but PVQ was ultimately dropped.

          ANS was the other non-binary arithmetic coder, developed in parallel with Daala's entropy coder. Of the two, Daala EC was the more hardware friendly, but ANS was the fastest to decode in software.

          --
          [SIG] 10/28/2017: Soylent Upgrade v14 [soylentnews.org]
    • (Score: 2, Informative) by Anonymous Coward on Wednesday February 06 2019, @03:56AM (7 children)

      by Anonymous Coward on Wednesday February 06 2019, @03:56AM (#797053)

      CPU-based encoder

      The key word you missed is in bold above. Encoder.

      The remainder of your comment refers to a decoder

      Those are not the same things.

      Video encoders have always needed beefier systems than the corresponding decoder.

      • (Score: 3, Touché) by Pino P on Wednesday February 06 2019, @06:43AM (6 children)

        by Pino P (4721) on Wednesday February 06 2019, @06:43AM (#797085) Journal

        You'll still need a system beefy enough to run a real-time encoder if you want to record TV, participate in video chat or screen sharing, etc.

        • (Score: 2) by stretch611 on Wednesday February 06 2019, @08:46AM

          by stretch611 (6199) on Wednesday February 06 2019, @08:46AM (#797099)

          But, it depends on the quality of what you are encoding, as well as the compression rate (as previously mentioned.)

          10 years ago (roughly) it took a beefy machine to run Handbrake and encode a DVD down to a roughly 750MB file in realtime. My current (2-yr old) laptop can do the same in less than 1/2 hour. You could always encode the DVD down with a less beefy machine even 10 years ago, it just wasn't realtime. I have not tested, but I am guessing that my current laptop can at least encode a 720p broadcast in realtime... not sure about greater quality though. (Remember, twice the vertical and horizontal resolution requires 4x the amount of data that needs to be manipulated.) Also remember, that it depends on if your GPU has encoding hardware as well. It can be done without a hardware encoder, but again, it just takes longer.

          As for video chat, heck, smartphones have been doing that for 10 years, and webcams have been out longer. Of course, the big difference is the quality and resolution. I play D&D through Roll20.net... They have built in audio/video streaming through the browser with the WebRTC platform. So video chat in realtime is not an issue at all for modern computers... even in a browser; but you will not be doing it in 4k video. Screen sharing takes up even less because you do not need a very high frame rate for that.

          As I did mention 4k video... I doubt many people will be encoding that and streaming it in realtime. At today's compression rates, are their even that many people in the US that have the bandwidth to handle it (even just the download bandwidth, let alone upload which many ISPs still manipulate to be 1/10th the speed of downloading.) (And this is probably a huge factor in why intel is promoting a new codec, for better compression of higher resolution video.)

          --
          Now with 5 covid vaccine shots/boosters altering my DNA :P
        • (Score: 1) by pTamok on Wednesday February 06 2019, @09:19AM (4 children)

          by pTamok (3042) on Wednesday February 06 2019, @09:19AM (#797106)

          You'll still need a system beefy enough to run a real-time encoder if you want to record TV, [participate in video chat or screen sharing], etc.

          No you don't. For recording for later viewing, all you need a system capable of storing the bitstream for later processing. Or even a system capable of partially encoding the bitstream, and finishing the encoding later.

          A good compromise is to run a fast lossless compression algorithm on the raw bitstream. That allows you to do reasonable compression, and can be played back immediately. You run an intensive lossy compressor on the losslessly compressed bitstream as a background task. All you need it 'a bit' of storage as a buffer. For bonus points, make the intensive encoder able to operate on the output of the fast encoder without needing to decompress it to recompress it.

          As for video chat and screen sharing, use existing hardware encoders for other codec algorithms and wait until the hardware encoders for AV1 become available.

          • (Score: 2) by Pino P on Wednesday February 06 2019, @02:11PM (3 children)

            by Pino P (4721) on Wednesday February 06 2019, @02:11PM (#797161) Journal

            A good compromise is to run a fast lossless compression algorithm on the raw bitstream.

            What lossless algorithm works on MPEG-2 or MPEG-4 AVC video or Dolby Digital or AAC audio in broadcasts? I thought one was supposed to turn off, say, web Gzip encoding for these file types because compressing already compressed data doesn't save anything.

            All you need it 'a bit' of storage as a buffer.

            So the amount that you can record per day, or "a bit" as you put it, depends on how much you can transcode in a day's CPU time. It might not affect people who DVR only about one or two shows, but multi-viewer households might have a lot more shows scheduled to capture and transcode to SD for playback on offline mobile devices.

            As for video chat and screen sharing, use existing hardware encoders for other codec algorithms

            That wouldn't allow communication between a user of free software and a user of an Apple device, as I haven't heard of Apple's plans to implement any free codecs other than eventually AV1. Apple has gone all-in on MPEG since 2001, when QuickTime 5.0 introduced Sorenson Video 3 based on an early draft of AVC.

            • (Score: 1) by pTamok on Wednesday February 06 2019, @05:23PM (2 children)

              by pTamok (3042) on Wednesday February 06 2019, @05:23PM (#797249)

              I think you are missing the point. If you have a 'raw' bitstream, it is not MPEG-2 or MPEG-4 AVC encoded. If you have a bitstream that is already compressed, you are not looking for an encoder, but a transcoder.

              If Apple don't want to support open standards, shrug. AFAIK they support WebRTC by supporting the Opus audio codec and H.264 for video [bloggeek.me], and it looks like VP8 has been added to Webkit/Safari. [webkit.org]

              Have a nice day.

              • (Score: 2) by Pino P on Wednesday February 06 2019, @06:33PM

                by Pino P (4721) on Wednesday February 06 2019, @06:33PM (#797299) Journal

                a lot more shows scheduled to capture and transcode to SD for playback on offline mobile devices.

                If you have a bitstream that is already compressed, you are not looking for an encoder, but a transcoder.

                Precisely. Someone doing a lot of HD to SD transcoding would need to use older encoders (x264 or libvpx) until AV1 encoding hardware or more time-efficient AV1 encoding software becomes widespread.

              • (Score: 3, Informative) by takyon on Wednesday February 06 2019, @09:04PM

                by takyon (881) <{takyon} {at} {soylentnews.org}> on Wednesday February 06 2019, @09:04PM (#797399) Journal

                Apple is a founding member [aomedia.org] of the Alliance for Open Media. So it's a sure bet that they will support AV1 when they are ready to do so.

                --
                [SIG] 10/28/2017: Soylent Upgrade v14 [soylentnews.org]
    • (Score: 2) by The Mighty Buzzard on Wednesday February 06 2019, @09:09AM

      by The Mighty Buzzard (18) <themightybuzzard@proton.me> on Wednesday February 06 2019, @09:09AM (#797104) Homepage Journal

      Dude, you know not whereof you speak. Yes, MPEG2 videos work just fine on ancient hardware. And they take up a fuckton more space to store or bandwidth to stream for the same quality. They're not a little bit smaller, they're less than a tenth the size at the same quality. This actually matters since our ISPs still think DSL is broadband.

      --
      My rights don't end where your fear begins.
    • (Score: 2) by DannyB on Wednesday February 06 2019, @03:04PM

      by DannyB (5839) on Wednesday February 06 2019, @03:04PM (#797172) Journal

      Some codes are asymetric. It takes massive power to encode the video into a high quality compact format, which can then be easily and cheaply decoded.

      --
      If a minstrel has musical instruments attached to his bicycle, can it be called a minstrel cycle?
  • (Score: 1, Insightful) by Anonymous Coward on Wednesday February 06 2019, @05:29AM (3 children)

    by Anonymous Coward on Wednesday February 06 2019, @05:29AM (#797071)

    Okay, so its a lot of samn work to do in realtime, but not everything needs to be encoded in real time.

    If I throw it on an old PPC to reencode a DVD to a tenth its size, do I care if it takes a few weeks?

    • (Score: 2) by bob_super on Wednesday February 06 2019, @06:07AM

      by bob_super (1357) on Wednesday February 06 2019, @06:07AM (#797080)

      The broadcasters/carriers who need it done in real time are shelling thousands of dollars for a few channels of h.264 or JPEG2000. Today.

    • (Score: 2) by Pino P on Wednesday February 06 2019, @02:14PM

      by Pino P (4721) on Wednesday February 06 2019, @02:14PM (#797162) Journal

      Say you borrow one DVD per week, and you have only one machine on which to transcode with no opportunity for parallel speedup by using multiple cores. Then "a few weeks" to transcode each one causes the backlog to pile up.

    • (Score: 2) by richtopia on Wednesday February 06 2019, @04:52PM

      by richtopia (3160) on Wednesday February 06 2019, @04:52PM (#797224) Homepage Journal

      Live streaming is such a major source of content today software encoders are very relevant. Even with H.264, people streaming Twitch will use software encoders instead of hardware encoders because of the higher compression rates. With streaming bandwidth is a major obstacle, so AV1's better compression could provide an incentive to migrate to the AV1 codec.

      This use case will be one of the hardest to fulfil: someone streaming to Twich or Youtube probably cannot justify the specs called out in the summary. This use-case also is typically bandwidth limited, and therefore can receive the most benefit from the AV1 codec. The one thing I see missing from the summary/article is the hardware requirements for lower resolutions.

      If anyone is interested in streaming software, I would recommend OBS https://obsproject.com/wiki/System-Requirements [obsproject.com] . Their main use-case is gamers but it is cross platform and low latency so it can be used for most applications. I make local recordings and leverage Intel Quick Sync on my IvyBridge processor with minimal performance impact.

  • (Score: 0, Disagree) by Anonymous Coward on Wednesday February 06 2019, @10:24AM (1 child)

    by Anonymous Coward on Wednesday February 06 2019, @10:24AM (#797112)

    Subject to the terms and conditions of this license, each copyright holder and contributor hereby grants to those receiving rights under this license a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except for failure to satisfy the conditions of this license) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer this software, where such license applies only to those patent claims, already acquired or hereafter acquired, licensable by such copyright holder or contributor that are necessarily infringed by:

    (a) their Contribution(s) (the licensed copyrights of copyright holders and non-copyrightable additions of contributors, in source or binary form) alone; or

    (b) combination of their Contribution(s) with the work of authorship to which such Contribution(s) was added by such copyright holder or contributor, if, at the time the Contribution is added, such addition causes such combination to be necessarily infringed. The patent license shall not apply to any other combinations which include the Contribution.

    -- https://github.com/OpenVisualCloud/SVT-AV1/blob/master/LICENSE.md [github.com]

    Who knows what the hell that means? Probably nobody and thus lawyers will love it as it means they get to fleece people so hard.

(1)