I use it because it compresses better and looks just as good, why use space when I can not use space?
I tried to compress with x265 on the videos I host but apparently iphones don’t like it for some reason, but I just checked again and it looks like it’s av1 they don’t like, I might try x265 again but with HEVC
Practically x265 can be treated as another name for hevc. Apparently apple includes a software decoder for x265 and not av1, so av1 can only be used on newer devices (iphone 15 pro and newer) but x265 can be used on almost anything. The vlc media player app might work, idk. They do have a software decoder for avif included tho, which is kinda funny as apparently it supports animated avif as well. You can literally just copy an av1 video into an animated avif and it will play perfectly fine
interestingly you can’t do this with webp even though that is also built on a video codec, webp only supports intra frames so it can’t take advantage of the similarities between multiple frames of a video the way avif can
av2 also came out recently, it’s a fair amount better but there isn’t really a usable encoder yet (the encoder they made to test the codec, avm, is unusably slow, but they designed the codec for fast software and hardware encoders to be possible)
nowadays, for practical use, generally avif is best for lossy images (make sure you’re using a recent encoder so you get the new tune=iq, which is default in libavif since this March) and webp is best for lossless.
for lossless, if you don’t care about wide support, jpeg xl lossless is usually best, outside of some niche high-speed focused codecs with even less support (like https://github.com/a1024/L1codec).
for lossy, av2 is probably the best, though it’s currently extremely slow to encode and supported by nothing, but that will probably change relatively soon. It looks like av2 will use the same avif container and file extension for images.
there are also proprietary and/or patented codecs that I’m not as knowledgeable about (including x265 and x266, which are covered by many patents but have open-source encoders and decoders). My understanding is that x265 is roughly equivalent to av1 quality (or maybe a bit below) and x266 is roughly equivalent to av2. x266 might be able to compress a bit more than av2, but it seems like it might not be feasible to get encoding to be reasonably fast, as that doesn’t seem to have happened over the past 6 years it’s been out. The only devices I know of with hardware decoding support for x266 are Intel xe2 or xe3 GPUs (b60, b580, b390, etc)
funnily enough I discussed with my mate Mistral Le Chat about JXL vs AVIF and was like, why use AVIF over JXL, and it was like JXL is better but AVIF has more support, but WebP has even more support than both of them and decent compression
So I ended up going with webp for my self hosted vibe coded image host
Basically I’m now just waiting for everyone to catch up so I can go to JXL over WebP
It’s more competitive at the high end, but this website has some comparisons of avif and jxl: https://svt-av1-psy.com/avif/
(this project was later incorporated into other encoders as tune=iq, and is now default)
That being said, I think the jxl bitstream does have a fair amount of potential that current encoders don’t exploit due to lack of manpower. I’ve been following development fairly closely over the past couple years on the jxl discord, I think all active jxl devs are there
Random aside, why would anyone use
webpEdit: My bad, I had forgotten Chrome had removed JPEG XL support
I use it because it compresses better and looks just as good, why use space when I can not use space?
I tried to compress with x265 on the videos I host but apparently iphones don’t like it for some reason, but I just checked again and it looks like it’s av1 they don’t like, I might try x265 again but with HEVC
Practically x265 can be treated as another name for hevc. Apparently apple includes a software decoder for x265 and not av1, so av1 can only be used on newer devices (iphone 15 pro and newer) but x265 can be used on almost anything. The vlc media player app might work, idk. They do have a software decoder for avif included tho, which is kinda funny as apparently it supports animated avif as well. You can literally just copy an av1 video into an animated avif and it will play perfectly fine
yeah you can just
ffmpeg -i video.mkv -c:v copy video.avifand it will copy over the av1 stream without reencodinghttps://copyparty.adrian.place/u/tower.avif (1.5 mb animated avif)
interestingly you can’t do this with webp even though that is also built on a video codec, webp only supports intra frames so it can’t take advantage of the similarities between multiple frames of a video the way avif can
av2 also came out recently, it’s a fair amount better but there isn’t really a usable encoder yet (the encoder they made to test the codec, avm, is unusably slow, but they designed the codec for fast software and hardware encoders to be possible)
nowadays, for practical use, generally avif is best for lossy images (make sure you’re using a recent encoder so you get the new tune=iq, which is default in libavif since this March) and webp is best for lossless.
for lossless, if you don’t care about wide support, jpeg xl lossless is usually best, outside of some niche high-speed focused codecs with even less support (like https://github.com/a1024/L1codec).
for lossy, av2 is probably the best, though it’s currently extremely slow to encode and supported by nothing, but that will probably change relatively soon. It looks like av2 will use the same avif container and file extension for images.
there are also proprietary and/or patented codecs that I’m not as knowledgeable about (including x265 and x266, which are covered by many patents but have open-source encoders and decoders). My understanding is that x265 is roughly equivalent to av1 quality (or maybe a bit below) and x266 is roughly equivalent to av2. x266 might be able to compress a bit more than av2, but it seems like it might not be feasible to get encoding to be reasonably fast, as that doesn’t seem to have happened over the past 6 years it’s been out. The only devices I know of with hardware decoding support for x266 are Intel xe2 or xe3 GPUs (b60, b580, b390, etc)
wth https://aussie.zone/post/34604587 why doesn’t it play on mobile??
edit: FFmpeg tags HEVC streams in MP4 as hev1 by default, Apple only supports hvc1 for some reason.
You need to add -tag:v hvc1 to your command line.
In my case ffmpeg -i ok.mp4 -c:v libx265 -tag:v hvc1 -c:a aac -movflags +faststart output.mp4
funnily enough I discussed with my mate Mistral Le Chat about JXL vs AVIF and was like, why use AVIF over JXL, and it was like JXL is better but AVIF has more support, but WebP has even more support than both of them and decent compression
So I ended up going with webp for my self hosted vibe coded image host
Basically I’m now just waiting for everyone to catch up so I can go to JXL over WebP
It’s more competitive at the high end, but this website has some comparisons of avif and jxl: https://svt-av1-psy.com/avif/
(this project was later incorporated into other encoders as tune=iq, and is now default)
That being said, I think the jxl bitstream does have a fair amount of potential that current encoders don’t exploit due to lack of manpower. I’ve been following development fairly closely over the past couple years on the jxl discord, I think all active jxl devs are there
Because avif isn’t as widely supported yet
It’s supported on basically every browser
You need websites to support it too
Which websites don’t?