cross-posted from: https://lemmy.ml/post/22627659
Hi,
I have a couples of AV1 videos that I would like to display on a html page.
I’ve tried
<video controls preload="none"> <source src="FooBar.mp4"> </video>
but it trow back
I’ve tried first with MKV container as it’s listed on the wikipedia page.
but this is not listed on the mozilla page https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Video_codecs 🤔
Confusing… as I found also this in the firefox release note:
Firefox 97 and later versions support AV1 video in the MKV container.
So WTF !?
I’ve tried also
<video controls preload="none"> <source src="FooBar.mp4" type="video/webm; codecs='av01.0.08M.08'"> </video>
but that change nothing…
Any ideas ?
Thanks.
seems like the codecs=‘something’ is REALLY nitpicky. managed to get a test video to play with:
<video> <source src="test.mp4" type='video/mp4; codecs="avc1.4d401f"'> </video>
I made the video by encoding some random clip with
ffmpeg -i random_video.mp4 -c:v libaom-av1 -crf 30 test.mp4
(seems to work just as well withlibsvtav1
)As for how are you supposed to know the “4d401f”? beats me, found it here: https://caraya.github.io/av1-video-demo/
edit: https://developer.mozilla.org/en-US/docs/Web/Media/Formats/codecs_parameter#av1 does say that the codec string should look a bit different, but… I dunno, not a video-understanding-webmonke.
edit2: and now I realize that since it works with the codecs=avc1 - it’s the older av1 variant? Not really what you were asking. Whoopsiedaisy.
avc1 is the name for H.264 (also called AVC) which is admittedly pretty confusing
Thanks @Malix@sopuli.xyz ,
by any change I’ve tried
codecs="avc1.4d401f"
with my videos but of course it’s not working.Whats drive me crazy, is when open trough
file:///
Firefox can play it, but once inside an html page, you have to specify the right codec !? WTFand you’re absolutely sure the files are av1? if you try to open the video files with ffmpeg, eg:
ffmpeg -i videofile.mkv
, what does it say the codec is?at least my av1 videos say:
Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, progressive), 854x854, 464 kb/s, SAR 1:1 DAR 1:1, 30 fps, 30 tbr, 16k tbn (default)
ffmpeg -i FooBar.mkv
Stream #0:0: Video: av1 (libdav1d) (Main), yuv420p(tv, bt709, progressive)…
OK, I made work the
mp4
containerSo in all my trial , I have introduce en error in the video path
/path/path/FooBar.mp4
as those test where taking place under Windows this time, the front/
was making the file unreachable, “funny” in the console no error about that, but about codec that is not found… O_oMP4
it worked with
... <source src="path/FooBar.mp4" type="video/mp4"> ... <!-- so without specifying the codec, at least -->
MKV
I’ve tried everything so far, I didn’t managed to make it work :/ so it seem that finally Firefox do not support
MKV
withAV1
Your second example has wrong type for that file should be
video/mp4
.Thank you @taaz@biglemmowski.win no matter the type I enter, it’s still not working…
btw the videos on your link are encoded
H264
with , notAV1
Codec: H264 - MPEG-4 AVC (part 10) (avc1)
I know, I’ve linked that to show the correct mimetype.
Is your web server returning the correct mimetype for the FooBar.mp4 file ? Also codecs part should probably look more like this:
type='video/mp4; codecs="av1, ogg"'
(omit the ogg in your case)E: if you are opening the html with the <video /> element as a file:// in firefox, you probably wont be able to load resources from http:// (only https:// it seems), and it will show the same error in this case but it’s because of security not because it can’t decode the media. You can see the detailed error (for loading the file) in developer tools ctrl+shift+i and switch to network tab.
deleted by creator
MP4box has a great local web tool to test the mime type including the codecs parameter:
https://gpac.github.io/mp4box.js/test/filereader.html
Jake Archibald wrote a good article about this topic: https://jakearchibald.com/2022/html-codecs-parameter-for-av1/
btw:
when I open .mp4 container version of it, by file path (url bar) like file:///X:/path/FooBar.mp4 it works, so Firefox can Open it… (now still to make it work inside an html page )
for .mkv it trigger a file download…