Base64-用js编码视频文件
Base64-encoding a Videofile in js
所以我有一个视频文件和它的路径(例如 /outerfolder/innerfolder/video.mp4
)。我现在想用 Base64 在 JS 中对这个视频进行编码,以便能够将其存储在数据库中。如果您能帮助我编码视频文件,我将不胜感激。提前谢谢。
您可以使用以下函数对文件进行编码,以将文件转换为 ArrayBuffer:
[更新]
//<input type=file id="encondeMP4">
var encodeMP4 = document.getElementById('encondeMP4');
现在,您可以在文件输入更改时添加事件侦听器
window.onload = function () {
//add eventlisteners
encodeMP4.addEventListener('change', someFunction);
}
您需要一个函数来处理来自事件侦听器的调用
function someFunction(){
encode(arrayBufferToString)
}
function encode(callback){
var file = encodeMP4.files[0];
var reader = new FileReader();
reader.onload = function(e){
var contents = e.target.result;
var contentBuffer = arrayBufferToString(contents);
var array = callback(contentBuffer);
}
reader.readAsArrayBuffer(file);
}
在 var 数组中,您现在将 MP4 包含在二进制中,在上一个函数中是一个内部变量,因此您需要根据需要调整此代码。也许是一个叫做YourEncodedMP4 = array
的全局容器
function arrayBufferToString(buffer) {
var binary = '';
var bytes = new Uint8Array( buffer );
var len = bytes.byteLength;
for (var i = 0; i < len; i++) {
binary += String.fromCharCode( bytes[ i ] );
}
return binary;
}
您现在可以调用此函数将 MP4 加密字符串转换为 Base64 字符串。
由您决定 var 数组内容的存储位置,但请记住此调用是异步的。
现在您可以使用容器"YourEncodedMP4"使用此函数
function stringToArrayBuffer(YourEncodedMP4) {
var arrBuff = new ArrayBuffer(YourEncodedMP4.length);
var writer = new Uint8Array(arrBuff);
for(var i = 0, len = YourEncodedMP4.length; i < len; i++){
writer[i] = YourEncodedMP4.charCodeAt(i);
}
return writer;
}
你现在有一个返回字节数组的函数,而不是你可以使用的
var base64String = btoa(String.fromCharCode.apply(null, new Uint8Array(stringToArrayBuffer(YourEncodedMP4))));
你最终会得到一个StringBase64
相关文章:
- 输入视频文件时获取视频持续时间
- 生成由文件输入在特定时间选择的视频文件的缩略图/快照
- Ziggeo,WebRTC无法读取视频文件
- 是否可以在不将其添加到DOM的情况下预加载和缓存视频文件
- 还通过jQuery更改替代HTML5视频文件/格式源
- jwplayer没有加载视频文件
- 如何从阵列上传多个视频文件
- 从S3获取视频文件元数据
- 如何缓存整个视频文件以供以后通过视频标签离线播放
- 通过 WebSocket 将视频文件发送到浏览器
- 如何设置视频文件的预览,从输入类型='文件'中选择
- Chrome 确实会加载一次视频文件,但不会加载两次
- Windows商店应用程序JS:使用WinJS.xhr上传视频文件
- Flowplayer 插件在 Win7:IE9 和 Firefox 中显示“HTML5 视频文件未找到”错误
- 如何将浏览器活动捕获到视频文件中
- 如何在 HTML 中降低视频文件的饱和度
- 如何在视频中添加视频文件.js 4.2.1.
- 有没有一种更快的方法来查找客户端和服务器端的所有图像、音频和视频文件类型
- PHP 从服务器下载视频文件
- 使用编解码器编码的视频文件.mov:Apple ProRes (apch) 无法通过 chrome 或 IE11 中的视