Unless there's some detail I'm missing... crf 30 is going to look awful for anything ≤ 1080p, and I can't think of a time I'd ever use a value that high. Maybe for 4K content it would be alright, but I don't think that was specified. 40 is just ridiculous.
(I have no idea what the crf scale is like for x265 or av1, so no comment there.)
The article also uses the Main profile in that `-crf 30` example, negating quality even more. The author writes that this must be done to enable compatibility with Safari, but AFAIK Safari has supported H.264@High 5.1 for a while now. Using High profile would help reduce some of the compression artifacts that will result from using a CRF of 30.
EDIT: Looking at this "Evil Martians" webpage, it appears this blog post is just marketing for some generalized programming contracting company. I doubt they have actual video experts under their employ - these guys are just web devs who know enough bash to use FFmpeg from the CLI. I doubt they understand the implications of the commands they're running.
You could also get much higher VMAF scores if you put some time into x264. x264 was never tuned for VMAF, I wish it had a mode just like SSIM and PSNR. But then those were done during early days just to prove a point. I doubt anyone on x264 cares about it.
As much as I like VMAF, and I thought we finally made something with Big Data and Machine Learning so we don't have to rely on PSNR and SSIM, VMAF it is still far from perfect. But my guess Netflix will constantly refine the model and add more improvement to it.
I put a description for every arguments used by me in FFmpeg commands.
Is it not enough?
Encode quality has become a science:
For a deeper dive on FFmpeg options you can crib from the ‘scene’ community:
Or grab Handbrake, pick some built-in device or streaming target, and see the tuned default CLI options.
What arguments can be added to FFmpeg AV1 encoding command to improve the result for browsers?
Was this dynamic optimizer framework from Netflix released already to be used in web video encoding for webpages?
It will still be a measurable difference if you are watching hours of video, but for the gif replacement that this site suggests, it's negligible.
In general, encoding will cost you a whole lot more than decoding. Software encoders need to be really good to ship on the encoding side, and they're not there with AV1 yet.
Decoding, on the other hand, is pretty cheap. Hardware is still better, but it's been a long time since mobile CPUs were in a state that forced you to use a hardware decoder meet typical performance requirements. Bandwidth is so much more limited that using a software decoder to achieve a higher quality at a given bitrate is almost alway worth it.
Depending on the OS, if you watch a lot of video it is not unlikely that you are using a mobile app that uses, say, a software VP9 decoder.
It is not. Not with Modern Codec. Battery is so much more limited you will always want to trade high bandwidth than Software Decode. Apple tried VP9 software decode for youtube and all we got was very bad user experience. For most use case within a 20% bitrate, the difference between x264, VP9, x265 and AV1 are small, and you will always want to choose the one your user has hardware decode.
No one expect their Laptop , PC, Mobile, Tablet to get burning hot just watching a video for a few mixtures. Hardware decoding is literally the most important hardware on Mobile usage, and I argue the same for PC.
I think I pay about $10 a gigabyte? If I actually used that many gigabytes a month, the savings would pay for a new phone!
On desktop hardware support is not critical.
Just for comfort I prefer hardware decoding.
AV1 is far from ready even for crappy bitrate starved releases, but that's where you'll see it used first.
Recently you've begun to see a lot of x265 releases though, usually with HDR, the only significant feature x264 can't provide.
For sub-4K SDR content there's really no incentive for pirates to switch to x265 or AV1, it's just a nuisance. With torrenting people don't pay for the extra bitrate x264 requires, unlike streaming services like Netflix, the ~20-40% bitrate savings of x265 and AV1 are not important at all, especially compared to the other "costs" of compatibility issues and 10X-100X longer encode times.
There is no longer a driving force behind pushing the limit of encoding in the scene and so the scene HAS slowed.
This can be seen in warez too, where RAR is still popular despite 7z being often just as good in compression ratio while also open.
FLAC tends to be the only allowed lossless codec over all the proprietary ones.
But x265 has made lots of improvement, I was watching some late 2016 encode the other day, and the current 2019 encode looks a lot better on the same ( Low-ish, 3Mbps) bitrate.
One reason I am looking for next generation VVC and AV2. The current AV1 an HEVC just don't give enough improvement that matter to me. They are far from what marketing slides want you to believe in 50% reduction.
And even then I've found that it still requires tweaking. With x264, pick a preset, crank the RF high enough, and it'll come out transparent. I haven't seen any of my own x265 encodes, even for high RF encodes (RF16+), come out transparent without adding '--no-sao --aq-mode 3' (without aq-mode 3 - dark areas are prone to blocking (especially SD sources), without no-sao - film grain is easily lost).
Today compatibility with set-top boxes is much more of a consideration than it used to be. The increased speed of internet service and reduced cost of storage have also lessened pressure to pursue ultimate efficiency.
> Today compatibility with set-top boxes is much more of a consideration than it used to be
My experience was the opposite, they seemingly stuck to Xvid in AVI containers for the longest time to support those divx-compatible DVD players even when newer codecs were more performant. Whereas these days while not the most common codec, most things do end up getting a release in h265.
My experience with the anime and tokusatsu fansubbing community is the opposite. There's a lot of "you must use mpv or CCCP", and a ton of disdain for people who watch on something other than a PC.
A small handful of groups will provide alternate "toaster-friendly" downloads for people on set-top boxes. For example, for ongoing TV shows, the main release will be a 720p or 810p softsubbed MKV with Hi10P video, and the "toaster-friendly" release will be a 480p hardsubbed MP4 with 8-bit video. This is mostly in the tokusatsu scene, though; for set-top boxes, the anime community mostly relies on dedicated encoding groups like DeadFish who provide "toaster-friendly" versions of other groups' releases because most groups won't even consider releasing something that's set-top-box-friendly. Also, there is an assumption that if you don't want to watch on a PC, then you don't mind SD video.
For fansubs that use Blu-ray-sourced video, there are no "toaster-friendly" options. You can basically expect groups to do a 720p Hi10P release alongside a 1080p release which is either Hi10P or HEVC, both of which are softsubs-only and in MKV containers. The audio is often, but not always, FLAC.
For those unfamiliar with how subtitles work, softsubs are incompatible with pretty much every set-top box. And there are some groups that will use intricate typesetting that can bring even decent PCs to their knees. For example, Commie is notorious for releasing an episode of JoJo's Bizarre Adventures with typesetting so over the top that it crashed most people's computers (I've never seen the episode myself, but I understand it involved hundreds of lines of text all continuously zooming in and out).
But even the anime/toku community doesn't use AV1, and HEVC is only for 1080p releases sourced from Blu-ray video (and to reiterate, a lot of groups will still use Hi10P even for 1080p).
It is much too early for AV1 do see any real adoption. The existing encoders are very slow and/or lack features/tuning, and hardware support is non-existant.
In a year or two we will see encoder(s) at a sufficiently high optimization and quality level that it will be a candidate for high quality encodes, and if AV1 gains traction (outside of streaming) at that point I'm certain it will start in the anime scene.
edit: went and searched on Nyaa, and there are actually some AV1 encodes of various content, so some people are already experimenting.
Eh, I've noticed similar from the tokusatsu community, and that's live action. The only difference is that some (but not all) toku groups will also provide toaster-friendly encodes in addition to their top-quality encodes, while anime groups rely on DeadFish for that.
The only toku group I can think of that touches HEVC is Pocket Universe, who specializes in muxing other groups' subs with Blu-ray-sourced video. Everyone else is mostly Hi10P.
As for the pirate scene, my impression is that outside of 'anime' they are very conservative and follow rigid specifications. And even in the 'anime scene', I'd estimate that ~90% of new releases are still h264 encodes.
For some reason there was never a transition from h264 over to HEVC in the pirate scene, and I don't think this will happen for AV1 either.
In my opinion, while AV1 improves on previous codecs, it's not a big enough technical improvement when taking into consideration the increased encoding time (perhaps further optimizations will help mitigate this).
Instead, I think the big draw is the lack of royalties. But royalties is not a factor for the pirate scene, so for them I believe it boils down to quality/encoding time and hardware support, and here h264 still reigns supreme.
There is a reason XVid stayed around forever.
AV1 is just a very new codec. You can use it in the Web for Chrome and Firefox. But it is too early to use for downloadable video files. For video files you need a OS support. Microsoft has it only in Beta. Android will support it in Q. Linux supports AV1 already.
I think in next year we will see more and more AV1 everywhere, including pirate torrent trackers.
If I'm not mistaking, the <video> tag can't play MOV so MP4 is the way to go.
IIRC, it reads like they took the QuickTime spec, did a find-and-replace to change the word "atom" to "box," then added a couple of MPEG-specific enhancements.
Updated: to clarify that AV1 is not only VP10 but also Daala and Thor, credit to iskin.
After a new version comes out it's going to take a while to work through the pipeline of inclusion into various projects, and that'll take a while, then people need to upgrade, etc.
AV1.1 players will support AV1.
The other things I see are a new option that doesn't break existing AV1 streams, and a couple changes that look like essentially editorial cleanups that were deferred during the spec freeze to avoid confusion.
They were right not to do these changes during spec freeze, but (at least from what I can see) they're not practical issues for folks considering AV1 encoding today.
However, next-gen fast AV1 decoder (a thing which will play video), dav1d is not Rust-based.