色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript 播放avi

傅智翔1年前6瀏覽0評論

Javascript具有跨平臺、跨瀏覽器的特性,其強大的編程語言特點可以讓我們輕松進行網頁應用開發。而其中最為重要的一項技能之一就是處理多媒體,尤其是音視頻的播放。然而,在網頁應用中,很多視頻文件格式并不被常用的HTML5 Video標簽所支持。就比如說,.avi格式的視頻文件,如果使用HTML5的標簽來播放,那么在很多瀏覽器上是會失效的,甚至無法在一些移動設備上播放。

但是,使用Javascript卻可以非常方便地實現對.avi格式的視頻文件進行播放。主要思路就是通過使用非常流行的JS庫--FFMPEG.js,將.avi文件進行轉碼,轉化成HTML5標簽所支持的格式,再進行網頁的播放。比如這樣:

<html>
<head>
<title>播放avi視頻</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script async src="http://bgrins.github.io/videoconverter.js/dist/videoconverter.min.js"></script>
<script async src="http://bgrins.github.io/videoconverter.js/dist/videoconverterworker.min.js"></script>
<script async src="http://bgrins.github.io/filereader.js/filereader.js"></script>
<script async src="http://bgrins.github.io/jsmpeg.min.js"></script>
</head>
<body>
<video id="player" width="640" height="480" controls autoplay loop></video>
<script>
var video = document.getElementById("player");
var fileInput = document.createElement("input");
fileInput.type = "file";
fileInput.addEventListener("change", function(ev) {
var file = ev.target.files[0];
var videoObj = new videoconverter.Video(file);
var canvas = document.createElement("canvas");
videoObj.convertToDataURL(function(dataURL) {
var jsmpeg = new jsmpeg(dataURL, {canvas:canvas});
video.appendChild(canvas);
setInterval(jsmpeg.update, 1000/60);
});
});
document.body.appendChild(fileInput);
</script>
</body>
</html>

以上代碼就是一個最基本的例子,可以將.avi格式的視頻文件上傳,然后通過FFMPEG.js將其轉成MP4格式,并在網頁中顯示播放。需要了解的是,該過程中使用了一個C++端的程序--FFmpeg,用于視頻編解碼,主要通過JS-FFmpeg來調用其功能。

除了使用FFMPEG.js外,還有一個比較棒的JS庫,就是JSVideo URL Decoder,其是一款非常輕量級的視頻解碼工具。這個庫可以解碼各種格式的視頻,比如FLV、MKV、AVI等,在瀏覽器中播放它們。需要注意的是,這個庫是基于JS的,因而一定會有性能問題。同時,由于JSVideo URL Decoder是逐段逐幀逐像素進行解碼的方式,因此也會對瀏覽器及設備的性能帶來一些負擔。為了避免這一問題,我們可以通過事先將視頻進行縮放,可以在一定程度上解決性能問題。

總體而言,透過本文的講述,你會發現,在Javascript的幫助下,原本只能在特定設備上播放的.avi格式視頻,已經可以經過轉碼或解碼的方式,在全平臺范圍內播放。這些開源項目賜予了我們更大自由度去實現視頻的播放,以上提到的幾款工具都非常開放、易用,具有極高的靈活性和可定制性,任何開發者都可以根據自身業務需求來進行選用。