mirror of
https://github.com/SrIzan10/vdo.ninja.git
synced 2026-05-01 11:05:24 +00:00
Add files via upload
part 1
This commit is contained in:
55
codecs.html
Normal file
55
codecs.html
Normal file
@@ -0,0 +1,55 @@
|
||||
<html>
|
||||
<body>
|
||||
<div id="output"></div>
|
||||
<script>
|
||||
|
||||
function getSupportedMimeTypes(media, types, codecs) {
|
||||
const isSupported = MediaRecorder.isTypeSupported;
|
||||
const supported = [];
|
||||
types.forEach((type) => {
|
||||
const mimeType = `${media}/${type}`;
|
||||
acodecs.forEach((codec2) => {
|
||||
codecs.forEach((codec) => [
|
||||
mimeType+';codecs="'+codec+', '+codec2+'"',
|
||||
mimeType+';codecs:"'+codec+', '+codec2+'"',
|
||||
mimeType+';codecs="'+codec.toUpperCase()+', '+codec2.toUpperCase()+'"',
|
||||
mimeType+';codecs:"'+codec.toUpperCase()+', '+codec2.toUpperCase()+'"'
|
||||
].forEach(variation => {
|
||||
if (isSupported(variation)){
|
||||
supported.push(variation);
|
||||
}
|
||||
}));
|
||||
});
|
||||
if (isSupported(mimeType))
|
||||
supported.push(mimeType);
|
||||
});
|
||||
return supported;
|
||||
};
|
||||
|
||||
// Usage ------------------
|
||||
|
||||
const videoTypes = ["webm", "ogg", "mp4", "x-matroska"];
|
||||
const audioTypes = ["webm", "ogg", "mp3", "x-matroska"];
|
||||
const codecs = ["vp9", "vp9.0", "vp8", "vp8.0", "avc1", "av1", "h265", "h.265", "h264", "h.264"]
|
||||
const acodecs = ["opus"];
|
||||
|
||||
const supportedVideos = getSupportedMimeTypes("video", videoTypes, codecs);
|
||||
const supportedAudios = getSupportedMimeTypes("audio", audioTypes, codecs);
|
||||
|
||||
console.log('-- Top supported Video : ', supportedVideos[0])
|
||||
console.log('-- Top supported Audio : ', supportedAudios[0])
|
||||
console.log('-- All supported Videos : ', supportedVideos)
|
||||
console.log('-- All supported Audios : ', supportedAudios)
|
||||
|
||||
document.getElementById("output").innerHTML= "";
|
||||
|
||||
for (var i=0;i<supportedVideos.length;i++){
|
||||
document.getElementById("output").innerHTML += supportedVideos[i]+"<br/>";
|
||||
}
|
||||
//for (var i=0;i<supportedAudios.length;i++){
|
||||
//document.getElementById("output").innerHTML += supportedAudios[i]+"<br/>";
|
||||
//}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user