如何仅使用Javascript从视频中提取base64 src?

如何仅使用Javascript从视频中提取base64 src?,javascript,Javascript,有了一个mp4文件,我们如何仅使用javascript从中创建base64 src 例如,如果他有一个名为example.mp4的mp4文件,位于/assets/video/example.mp4,那么如何使用Javascript从中提取base64数据以创建一个html标记,如下面的示例所示 <video id="video" width="740" controls> <source type="video/mp4" src="data:video/mp4;base64

有了一个mp4文件,我们如何仅使用javascript从中创建base64 src

例如,如果他有一个名为example.mp4的mp4文件,位于/assets/video/example.mp4,那么如何使用Javascript从中提取base64数据以创建一个html标记,如下面的示例所示

<video id="video" width="740" controls>
  <source type="video/mp4" src="data:video/mp4;base64,[VIDEO BASE64 DATA HERE]">
</video>
与此相反:

<video id="video" width="740" controls>
  <source type="video/mp4" src="/assets/video/example.mp4">
</video>

这样做的动机是因为我需要将加密文件(例如视频或图像等)从一个地方传输到另一个地方。所以我需要使用Javascript,提取数据,加密数据,然后传输。我们如何做到这一点?

这可能是一个答案,但我还没有测试:MooTools


您是否能够修改该代码,以便用户无需提供文件


这是为了能够像您最初想要的那样编码,通过知道文件的位置并自动进行编码,而无需用户的干预。

我不会用JS做这件事。。。JS真的不能处理这样的事情。你说的加密/解密是什么意思?为什么文件不能在传输时保持加密?用户将指示文件,浏览它。文件将不加密,在此之后将加密。
<div>
    <div>
        <label for="filePicker">Choose or drag a file:</label><br>
        <input type="file" id="filePicker">
    </div>
    <br>
    <div>
        <h1>Base64 encoded version</h1>
        <textarea id="base64textarea" placeholder="Base64 will appear here" cols="50" rows="15"></textarea>
    </div>
</div>



var handleFileSelect = function(evt) {
    var files = evt.target.files;
    var file = files[0];

    if (files && file) {
        var reader = new FileReader();

        reader.onload = function(readerEvt) {
            var binaryString = readerEvt.target.result;
            document.getElementById("base64textarea").value = btoa(binaryString);
        };

        reader.readAsBinaryString(file);
    }
};

if (window.File && window.FileReader && window.FileList && window.Blob) {
    document.getElementById('filePicker').addEventListener('change', handleFileSelect, false);
} else {
    alert('The File APIs are not fully supported in this browser.');
}