判断导入文件的格式类型mp4

mp4文件格式解析 mp4或称,是一种多媒体容器格式,扩展名为.mp4。2001年,apple的QuickTime格式,.qt和.mov的后缀名。2001年,MPEG-4Part1,把基于QuickTime的box布局的容器格式添加到了MPEG-4标准。2004年,标准文档把编码和容器格式的说明分开。MPEG-4Part12,定义了容器格式通用的box结构,即ISO媒体文件格式(ISObasemediafileformat,ISOBMFF)。基于.mp4格式。20152018ftyp。... 阅读详情

参考代码: 

function submit_precheck(){
	var import_file = $("#imp_file").val();
	if (import_file == undefined || import_file == null || import_file == ''){
		swal('提示', '请选择待导入的JSON文件!','warning');
		return false;
	}
	var idx = import_file.indexOf(".json");
	if(idx < 1){
		swal('提示', '所选文件的格式不是JSON格式!','warning');
		return false;
	}
	swal({
		  title: "模型导入",
		  text: "请确认是否要批量导入模型数据?",
		  type: "warning",
		  showCancelButton: true,
		  confirmButtonColor: "#DD6B55",
		  confirmButtonText: "Yes",
		  closeOnConfirm: true,
		},
		function(isConfirm){
			if (isConfirm == true){
				$("#pm_dtpexp_remark").val("开始导入,请等待...\n");
				request_import();
			} 
			else {
				$("#pm_dtpexp_remark").val("导入取消!");
			}
		}
	);	
	return false;
}

实际代码: 

function submit_precheck(){
	var import_file = $("#imp_file").val();
	if (import_file == undefined || import_file == null || import_file == ''){
		swal('提示', '请选择待导入的视频文件!','warning');
		return false;
	}
	var idx = import_file.lastIndexOf(".");
	//获取后缀
	var ext = import_file.substr(idx+1);
	if(!isAssetTypeAnImage(ext)){
		swal('提示', '所选文件的格式不是MP4格式!','warning');
		return false;
	}
	var files = $('#imp_file')[0].files;  //console.log(files);
	//获取文件名
	var name  = files[0].name;
	var filename = name.substring(0, name.lastIndexOf("."))
	$("#text_docsinfo_docsfilename").val(filename);
	$("#text_docsinfo_projectid").val(g_appm_md_projectid);
	swal({
		  title: "视频导入",
		  text: "请确认是否要导入视频数据?",
		  type: "warning",
		  showCancelButton: true,
		  confirmButtonColor: "#DD6B55",
		  confirmButtonText: "Yes",
		  closeOnConfirm: true,
		},
		function(isConfirm){
			if (isConfirm == true){
				$("#pm_dtpexp_remark").val("开始导入,请等待...\n");
				request_import();
			} 
			else {
				$("#pm_dtpexp_remark").val("导入取消!");
			}
		}
	);	
	return false;
}

1、获取文件后缀

//文件路径
var filePath = "file://upload/jb51.png";
//获取最后一个.的位置
var index= filePath.lastIndexOf(".");
//获取后缀
var ext = filePath.substr(index+1);
//输出结果
console.log(ext);

2、文件类型判断

function isAssetTypeAnImage(ext) {
     return ['png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff'].indexOf(ext.toLowerCase()) !== -1;
}


//文件路径
var filePath = "file://upload/jb51.png";
//获取最后一个.的位置
var index= filePath.lastIndexOf(".");
//获取后缀
var ext = filePath.substr(index+1);
//判断是否是图片
console.log("该文件是否为图片:" + isAssetTypeAnImage(ext));

 

【音视频】MP4文件格式解析 MP4文件格式解析一、目的二、MP4结构一览2.1 一个MP4文件2.2 MP4结构参考表2.3 封装的知识点 - box三、解析一个 .MP4 文件3.1 moov (Movie Box)3.1.1 mvhd (Movie Header Box)3.1.2 trak3.1.2.1 thkd3.1.2.2 mdia 一、目的 掌握 MP4 文件格式里的内容 以及基本构成 为日后解析其他格式的文件提供良好的借鉴 引用文章 : https://www.jianshu.com/p/529c3729f357 二 阅读详情

相关推荐

手动将MJPEG图片,转成MP4文件格式

紫色为 url 的 box header(根据box type我们知道是个 url ),粉色为 box flag,值为 1,说明 url 中的字符串为空,表示 track 数据已包含在文件中。1、实际上,在 moov box 中还有一个 udat box,这个 box 是用来存储用户自定义信息的,这个 box 不是必须的,所以这里没有写入。对于其他不定长的 box,基本上都采取这种方法。moov box 存放媒体文件的大多数信息,moov box 可选,但一个媒体文件中必须存在一个 moov box。

Ethereal的博客 1544

java判断上传文件是否为Mp4文件

直接判断后缀名会有漏洞,比如一个文本文件后缀名改成mp4 所以需要使用字节流的方式判断是否为视频文件 /** * 根据文件字节流,判断文件是否为mp4视频文件 * @param file 上传的文件 * @throws RuntimeException 如果不是mp4文件则抛出异常 * */ private void isMp4Video(MultipartFile file) throws RuntimeException{ if(!file.isEmpty()){

mclt2017的博客 3956

Android判断一个文件是否为MP4文件

用户更改后缀名后在用扩展名判断文件类型,是不准确的。所以改为用读取文件二进制方式,读取文件头来跟MP4信息头对比判断。

上传文件并进行判断

​ 我们都知道,普通的文件后缀校验并不能校验出这个文件的类型,大部分的文件类型校验都是通过获取文件的魔数来判断文件的类型,因为对于大多数类型文件来说他的魔数是固定的(例如class文件的魔数就是:CA FE )所以目前大部分网络上找到的处理方案是将各个文件的魔数放倒Map集合中,然后通过获取文件的魔数,从Map集合查找对应的文件类型。但是同类型的文件的魔数真的都是固定的么?通过tika自带的detect()方法我们可以对查找出来文件真实的mime类型(mime类型是前面是文件的大类型,后面是文件的小类型)

2201_75550056的博客 409

c#判断上传文件的类型和大小

c#判断上传文件的类型和大小,即使改过后缀名也能识别出来

C#获取视频文件信息及视频转码操作

C#获取视频文件信息及视频转码操作,补充之前的压缩分卷的不完整,此为完整版

判断上传文件类型(非通过文件后缀名称,不安全)

1)情况:网上某些人,居然通过文件名.后缀来判断文件类型,这样太不安全了,万一别人有心修改文件后缀名称,岂不是。。。 所以为了防止这样情况,判断文件的实际类型,做了该文章,若有错误或不足,请指出讨论,非常感谢! OK,废话少说,直接主题,show me the code! 2)代码: 2.1)通过枚举类,管理不同类型文件的文件头(具体每个文件的文件头内容,可以通过UltraEdit工具打开...

qq_33172029的博客 7193

C#检测上传文件真正类型的方法

主要介绍了C#检测上传文件真正类型的方法,可有效的防止用户通过修改后缀名来改变文件类型的功能,需要的朋友可以参考下

Mp4文件格式解析

1、简介 MP4(或称MPEG-4 Part 14)是一套用于音频、视频信息的压缩编码标准,由国际标准化组织(ISO)和国际电工委员会(IEC)下属的“动态图像专家组”(Moving Picture Experts Group,即MPEG)制定 MP4文件封装格式,对应的标准为ISO/IEC 14496-12,即信息技术 视听对象编码的第12部分:ISO 基本媒体文件格式(Information technology Coding of audio-visual object...

king_weng的博客 4519

电磁兼容标准体系解析:从基础到认证的完整指南

本文系统解析了电磁兼容(EMC)标准体系,从基础概念到认证流程提供完整指南。文章阐述了EMC对于产品可靠性与市场准入的重要性,详细拆解了基础标准、通用标准、产品类标准及认证流程四层结构,并结合5G设备与工业控制等实战案例,为工程师提供了从设计初期到认证测试的高效应用策略。

weixin_29294975的博客 355

网工最容易搞混的三个概念:防火墙、网闸、堡垒机,一文让你轻松搞明白。

网闸的作用可以简单概括为:在两个或多个不同安全级别的网络(如内网和外网、普通网与高安全网、受限网与互联网)之间建立一个严格隔离、信息流转的安全桥梁。它的核心任务是实现数据安全传输与隔离,避免网络之间的直接连接带来的安全隐患。数据传输安全:网闸保证数据从一个网络到另一个网络时,能够进行审查、过滤和转换,防止恶意数据或非法信息被传入内部网络或外部泄露。高安全性隔离:网闸常常用于企业的内外网隔离、军事网络、政府机关等对数据隔离要求极高的环境。

HWP18612324139的博客 3637

一口气搞懂MP4文件格式

1个box由两部分组成:box header、box body。box header:box的元数据,比如box type、box size。box body:box的数据部分,实际存储的内容跟box类型有关,比如mdat中body部分存储的媒体数据。box header中,只有type、size是必选字段。当size==0时,存在largesize字段。在部分box中,还存在version、flags字段,这样的box叫做Full Box。

多媒体开发者 9837

保姆级教程:用CANoe的LIN Slave Conformance Tester搞定一致性测试(附LDF配置避坑点)

本文详细介绍了如何使用CANoe的LIN Slave Conformance Tester进行汽车电子LIN从节点一致性测试,包括测试环境搭建、LDF文件配置、多通道测试技巧及常见问题解决方案。通过实战案例和高级配置技巧,帮助工程师高效完成测试任务,确保LIN总线通信的可靠性。

weixin_30385925的博客 525

MP4文件格式详解——结构概述

MP4文件格式详解(ISO-14496-12/14) Author:Pirate Leo Email:codeevoship@gmail.com 一、基本概念 1、 文件,由许多Box和FullBox组成。 2、 Box,每个Box由Header和Data组成。 3、 FullBox,是Box的扩展,Box结构的基础上在Header中增加8bits version和24bits fla

胡同里的庇护所(Pirate Leo's Shelter) 7万+

嵌入式学习之QT学习---14 QT跨平台运行之把QT程序交叉编译到ARM开发板

想要把qt工程放到开发板上运行,就需要用到交叉编译。由于qt是跨平台的,所以只需要换个编译器编译一下就可以。 以“定时器”的例子为例,在移植之前还需要进行一个准备工作,在windows下运行的时候,电脑屏幕很大,但是运行的窗口只有一点点大,开发板也有外接屏幕,如何让运行窗口自动适配开发板的外接屏幕呢?令其占满屏幕显示,而不是一小块。 第一步:需要设置一下,先给ui布局,如果不布局,控件就不会随着屏幕的大小的变化而变化。 第二步:利用代码来获取屏幕的大小,给widget.cpp文件下添加如下代码 #inclu

qq_42822743的博客 5457

相机标定-机器视觉基础(理论推导、Halcon和OpenCV相机标定)

相机标定是获得目标工件精准坐标信息的基础。首先,必须进行相机内参标定,构建一个模型消除图像畸变;其次,需要对相机和机器人的映射关系进行手眼标定,构建一个模型将图像坐标系上的点映射到世界坐标系。主要分为背景知识、相机内外参模型推导、编程代码实现三个部分。

beyond951的博客 7302

mp4格式详解

之前刚接触转码工作时,看到的一篇介绍mp4挺不错的文章,转载自:mp4文件格式解析 1、概述   最开始MP4指的是音频(MP3的升级版),即MPEG-2 AAC标准。随后MP4概念被转移到视频上,对应的是MPEG-4标准。而现在我们流行的叫法,多半是指能播放MPEG-4标准编码格式视频的播放器。但是这篇文章介绍的内容跟上面这些都无关,我们要讨论的是MP4文件封装格式,对应的标准为ISO/IE...

yefengzhichen的博客 1万+

FOFA奇技淫巧:从搜索语法到实战场景的深度挖掘

本文深入探讨了FOFA搜索语法在网络空间测绘中的高效应用,从基础语法到实战场景的深度挖掘。通过渗透测试、威胁狩猎、资产发现等实际案例,展示了如何利用FOFA精准定位目标系统、识别蜜罐、追踪威胁,并提供了合规使用指南和性能优化技巧,助力安全工作者提升效率。

weixin_32428571的博客 237

5分钟入门MP4文件格式-mp4的ftyp

本文主要内容包括,什么是MP4、MP4文件的基本结构、Box的基本结构、常见且重要的box介绍、普通MP4与fMP4的区别、如何通过代码解析MP4文件 等。 写作背景:最近经常回答团队小伙伴关于直播 &amp; 短视频的问题,比如 “flv.js的实现原理”、“为什么设计同学给的mp4文件浏览器里播放不了、但本地可以正常播放”、“MP4兼容性很好,可不可以用来做直播” 等。 在解答的过程中,发现经常涉及 MP4 协议的介绍。之前这块有简单了解过并做了笔记,这里稍微整理一下,顺便作为团队参考文档,如有错漏

u010029439的博客 6458

UVM对象实例化及覆盖的几种方法

UVM对象实例化的方法有多种,以下以object为例: 1)第一种:直接利用new函数进行实例化 trans t1; t1 = new("t1");//利用new函数进行实例化 2)第二种:uvm_component_registry中提供的方法type_id::create,此种方法也是最常使用的方法 trans t2; t2 = trans::type_id::create("t2",this); 3)第三种:uvm_factory中提供的方法creat_object_by_type trans t

沧月九流的博客 3377

161、车载环视系统的ISP多路同步架构——海思Hi3516DV300的4路鱼眼校正与拼接的帧同步误差控制

文章摘要: 针对海思Hi3516DV300车载环视系统四路鱼眼摄像头拼接画面动态撕裂问题,分析发现根本原因为帧同步误差(部分通道帧起始时间差1.2ms)。关键解决措施包括:1)通过VI通道主从同步模式(MASTER/SLAVE)结合软件补偿控制帧延迟;2)优化VPSS通道帧率锁定与丢帧策略确保拼接时序一致;3)严格校准鱼眼校正LUT参数与产线标定数据匹配;4)建议采用硬件同步信号(如sensor的FSIN引脚)降低软件同步压力。调试阶段需通过示波器直接测量sensor VSYNC信号,量产时需注意动态切换分

zzfmlxs的博客 136

MP4封装格式简介

视频封装格式是指视频数据如何存储的,视频编码格式是指原始视频数据如何编码为二进制数据码流。编码后的视频数据最终通过视频封装格式存储为视频文件。 本文对视频封装格式MP4做一些介绍...

sdsszk的博客 6471

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

mp4文件格式详解

目前MP4的概念被炒得很火,也很乱。最开始MP4指的是音频(MP3的升级版),即MPEG-2 AAC标准。随后MP4概念被转移到视频上,对应的是MPEG-4标准。而现在我们流行的叫法,多半是指能播放MPEG-4标准编码格式视频的播放器。但是这篇文章介绍的内容跟上面这些都无关,我们要讨论的是MP4文件封装格式,对应的标准为ISO/IEC 14496-12,即信息技术视听对象编码的第12部分:ISO基本媒体文件格式(Information technology Coding of audio-visual ..

liuchen1206的专栏 5530

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

mp4文件格式简明教程-mp4文件格式通俗解释

一直想写一篇文章来描述一下mp4文件格式的组织情况,一开始笔者也是通过在百度搜“mp4文件格式解析” 或“mp4文件格式详解” 或者说的牛X一点就是"mp4文件格式剖析",最后一大堆box把我看晕了,对于box内容的理解确实对于mp4文件格式的了解有很大帮助,但是很不幸,这些文章都是堆叠abox:abox的描述,实在是让人捉摸不透。诚然,box是为了实现某些功能,或者达到目的而产生的。今天我就来写

mtaxot的博客 8429
上一篇: 分布式理论
下一篇: CODE CHINA
ZHOU_VIP
博客等级 码龄11年 1万+粉丝 1779原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZHOU_VIP

您的鼓励将是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值