mediainfo.js获取视频详细信息,js获取视频帧数
需求:上传视频的时候需要知道该视频的帧数等信息,input的file直接读取是不能读取帧数的
方式:通过引入mediainfo.js来获取视频的帧率和视频的总时长,用帧率*时长得出总帧数
栗子:
上面输出格式是 text 我们可以根据需要将格式设为 json 对象,这样就能获取想要的信息了
//这是text 格式
MediaInfo({ format: 'text' }, (mediainfo) => {fileinput.addEventListener('change', () => onChangeFile(mediainfo))
})
//可以改为 json 对象格式
MediaInfo({ format: 'object' }, (mediainfo) => {fileinput.addEventListener('change', () => onChangeFile(mediainfo))
})
然后在 get_file_info 方法中将需要的信息获取出来使用就可以了
function get_file_info(mediainfo, file) {let getSize = () => file.sizelet readChunk = (chunkSize, offset) =>new Promise((resolve, reject) => {let reader = new FileReader()reader.onload = (event) => {if (event.target.error) {reject(event.target.error)}resolve(new Uint8Array(event.target.result))}reader.readAsArrayBuffer(file.slice(offset, offset + chunkSize))})return mediainfo.analyzeData(getSize, readChunk).then((result) => {// 如果是object,可以拿到结果对象let res = result.media.track[1];console.log(res)//获取帧数和总时长console.log(res.FrameRate,res.Duration);}).catch((error) => {output.value = `${output.value}\n\nAn error occured:\n${error.stack}`})
}
注意,当传入.avi格式时是不能获取到帧率的,因为我的视频格式统一是25帧率,所以我给了一个默认值25。详细信息见官网的使用
这个demo需要放到http服务中访问才能正确使用,或者使用CDN在线地址引入mediainfo.js
<script src="https://unpkg.com/mediainfo.js/dist/mediainfo.min.js" ></script>
mediainfo 在线使用地址
demo下载地址(这个demo需要放到http服务中才能正确使用)
mediainfo.js获取视频详细信息,js获取视频帧数相关推荐
- 获取linux详细信息,Linux 获取网口详细信息
一般来说,研究 ifconfig.c 源代码就可以达到目的了. 但是Linux已经提供了比较方便的获取网口信息的方式: [philip@catonbj ~]$ cat /sys/class/net/e ...
- PHP 获取服务器详细信息
PHP 获取系统信息,PHP 获取服务器详细信息 获取系统类型及版本号: php_uname() (例:Windows NT ...
- 淘宝/天猫API接口,item_sku - 淘宝商品SKU详细信息查询,淘宝/天猫获取sku详细信息 API 返回值说明
欢迎使用淘宝API接口(item_sku - 淘宝商品SKU详细信息查询 ) 你好! 这是你使用我们的淘宝API接口获取商品详细接口说明. 测试地址:获取Key和secret 测试结果: Reques ...
- 淘宝API接口:获取sku详细信息
今天分享的是淘宝平台API,item_sku - 获取sku详细信息 点击注册测试地址(获取Key和secret) { "item": { "num_iid": ...
- 微信小程序控制台 报错 对应的服务器证书无效 控制台输入 showRequestInfo() 可以获取更详细信息 原因是ssl证书过期 重新申请即可
微信小程序控制台 报错 对应的服务器证书无效.控制台输入 showRequestInfo() 可以获取更详细信息 报错原因:域名下的SSL证书过期 我这边报错的原因是ssl证书过期 重新申请后就好了, ...
- NX二次开发-UFUN获取工程图详细信息UF_DRAW_ask_drawing_info
NX二次开发-UFUN获取工程图详细信息UF_DRAW_ask_drawing_info NX9+VS2012#include <uf.h> #include <uf_draw.h& ...
- 淘宝/天猫如何获取sku API接口,item_sku - 获取sku详细信息
一.接口参数说明: 通过淘宝/天猫app中分享至PC端的短链接商品ID,通过调用item_sku - 获得sku接口,可以得到接口要的商品sku详情数据. 点击获取测试key和secret 请求地址: ...
- 淘宝API接口(item_sku - 获取sku详细信息)
今天分享淘宝API接口:获取sku详细信息,包括其他各大电商平台都在使用范围内 想了解的可以进去看看:点击测试 参数示例: { "item": { &quo ...
- Android获取歌曲详细信息
Android获取歌曲详细信息 一.目标 二.实现方案 三.HTML方案 四.JSON方案 五.接下来 六.Finally 在<Android实现歌词笔记构思>时,构思了如何在笔记中添加歌 ...
- SSH初探:通过查看GPU的PID获取USER详细信息
笔者课题组公用服务器,有时候遇到长时间训练占用GPU的情况,可以通过查看GPU的PID获取USER详细信息,从而沟通协商GPU的使用. watch -n 1 nvidia-smi 上面这个指令在Lin ...
最新文章
- 同义词词林 java_基于同义词词林扩展版的词语相似度计算
- deepin关机卡桌面_喜大普奔:发现一个惊艳的电脑操作系统Deepin
- go语言实现排序算法
- python开发工具排名-7款公认比较出色的Python IDE,你值得拥有!
- mysql only_full_group_by报错的问题(转)
- kafka0.9 java commit_kafka0.9.0及0.10.0配置属性
- Python 全局变量和局部变量迷惑人的小示例
- linux下使用yum安装新版php7.0
- HNOI2013 游走
- cocos2d-x游戏实例(14)-纵版射击游戏(1)
- matlab tf离散,求matlab离散化程序对于一个二阶传函,求其在MATLAB中的离散化程序.抱歉,没办法写清楚传函表达式.我试试:Gp(...
- 实验一(高见老师收)
- servlet设置cookie实验
- ehcache使用_Mybatis整合(Redis、Ehcache)实现二级缓存,恕我直言,你不会
- GitHub学习一-本地电脑与GitHub绑定
- Leetcode: Pascal's Triangle II
- 媒体查询以及flexbox,响应式图片
- VMware Workstation 12 Pro 安装mac系统中遇到的一些问题:
- 蓝桥杯Python题目(二)
- 高通平台批量解析SN号的脚本
热门文章
- 2022 国赛 C题 古代玻璃制品的成分分析与鉴别
- 你的华为手机总是杀后台,很烦人!那是这4个设置没关闭吧
- dell服务器之开启虚拟化功能,dell服务器自带虚拟(dell服务器开启虚拟化技术)...
- c#背单词小程序视频_C#背单词小程序
- 日常买淘宝tb号有什么特别要注意的事项吗?
- 文件恢复+html乱码怎么办,数据恢复的文件都是乱码怎么办
- Mac+Typora颜色快捷键设置
- matlab的三相电源在哪,Matlab-Three-Phase Source(三相电源)
- 【c语言】通讯录【动态完整版有排序和文件操作】
- ICEC-电子爱好者协会-基本学习大纲(必须实行)