一、mp4文件缺少moov box可能出现的场景有:使用录屏工具录到一半crash或断电,手机摄像机录到一般突然没电等。

二、修复的前提条件:需要有一个同样工具录制的参考视频,需要相同的mp4头部参数来作为参考,否则修复难度极大。

三、修复工具推荐:

1.Digital Video Repair。直接百度即可,也是我修复时候用到的。

2.HDVideoRepairUtility(http://grauonline.de/cms2/?page_id=5#download),感觉没上一个好用,可以都试一下对比下效果。

四:使用上述工具修复后得到的视频可用播放器播放,但不一定完美。我自己在使用上面第一个工具修复后遇到了音视频不同步的问题,第二个工具修复后遇到了花屏和音视频不同步问题。所以还需要用视频剪辑软件(如pr)或直接用ffmpeg来进行微调。

五、例子:

自己开发的录制工具在某次录制时遇到了crash,生成的mp4文件无法播放,甚至用mp4info都无法查看。但是由于录制时间较长,视频也比较重要,所以尝试修复。

使用winhex将他和同一工具录制生成的视频对比,发现是缺少moov box。但是想到录制的时候音视频数据是实时写入的,按理说最重要的信息没有缺,理论上来讲应该有恢复的可能。

于是网上查找相关资料,果然找到了相应的修复工具,试用后推荐了上面两款,以Digital Video Repair为例,首先打开工具,选择受损的视频,点击修复。

提示缺少重要信息,需要参考视频。再选择一个同样格式录制出来的视频即可。需要提一下的是,在这一步由于不知道之前录制的帧率和分辨率,我用各个参数做了很多尝试,虽然无法和原录制视频严格一样,但是貌似不同的分辨率和帧率下也可以修复出可播放的视频。

最后一步,得到了可播放的mp4文件,但是发现音视频不同步,于是使用ffmpeg命令将视频流播放速度减慢,这样音频流和视频流总时长相同了。但是发现中间部分依然有较为严重的音视频不同步问题,这个我目前还没有解决办法,也可能是录制写入的时候时间戳就有问题了。

不同的视频在修复后可能有不同的小问题,需要按照实际情况来进行微调,所以总的来说,这个方法适用于救急,恢复重要文件,但是并不完美。如果大家不幸遇到了mp4文件受损的情况,可以按照上面方法来试试,祝大家好运!

mp4文件缺少moov box无法播放情况的修复【非完美】相关推荐

  1. 如何解决EasyGBS设备录像下载后的MP4文件无法在EasyPlayer.js播放的问题?

    TSINGSEE青犀视频的Easy系列视频监控平台均集成了EasyPlayer播放器作为网页播放能力层.关于EasyPlayer,我们也提供了非常简单易用的SDK及API接口,用户通过API调用就可以 ...

  2. 修改mp4文件的moov atom,使其位置在文件的前面

    mp4文件录制的时候,先写mdat atom对应的音视频数据,最后在尾部写上moov atom对应的一些索引信息.一些软件在录制后会再处理一次,把moov atom的位置搬到文件的前面,而把mdat ...

  3. mp4+html+ipad无法播放,mp4文件不能在IPAD上播放

    苹果平板电脑(ipad)的文件格式支持: 视频: 1.H.264 视频:高达 1080p.60 fps.High Profile level 5.0 编码,其音频为 AAC-LC 音频,高达 160 ...

  4. html mp4边播边缓冲,【记录】ckplayer播放器解决MP4文件缓冲结束前无法播放的方法...

    视频要等加载完才能播放,而不是边加载边播放这是因为视频的元数据信息不在第一帧所致.元数据是指保存视频属性的一组参数,比如视频的宽度,高度,时间长,总字节,关键帧等信息.因为网页上的视频播放器播放视频是 ...

  5. MP4边下载边播放——moov box前置

    转载请标明出处:https://blog.csdn.net/u013752202/article/details/80557556 文中使用到的工具说明:https://blog.csdn.net/u ...

  6. 在线短视频秒播优化之视频文件格式之MP4文件Moov box的位置

    之前我们介绍了在线短视频秒播优化的方方面面,从服务器,cdn部署接入,数据连接/获取,客户端缓存,出帧策略,到视频文件I帧位置等. 今天从视频文件格式的另外一个角度介绍,MP4文件的box排列顺序是如 ...

  7. 实现MP4文件边下载边播放

    最近遇到的需求,在老系统中有部分MP4视频在播放时需要完全加载完才能播放,使得用户体验很差(现在都是边下载边播放模式),造成这种情况的原因是用来描述MP4文件的moov atom元数据被放在MP4文件 ...

  8. 解决使用mp4v2封装的mp4文件在Wowza的hls上无法播放问题

    一.问题:基于海思35xx的嵌入式设备使用mp4v2封装的mp4文件,放在Wowza的点播中,用hls推流出去,无法播放. 二.准备:由于需要使用了wowza作为推流服务器.所以嵌入式设备录制的mp4 ...

  9. 记一次bandicom录制的mp4文件损坏修复

    最近使用bandicom录制视频文件的时候中途不小心断电了,留下了一个mp4文件,播放器无法恢复,使用010editor打开这个mp4文件,发现仅有两个头的box, 和正常的mp4文件比对,缺少了mo ...

最新文章

  1. 侏罗纪怪兽世界怎么登陆服务器未响应,全金属怪物进不去怎么解决
  2. [CTO札记]从生活来看‘服务心态’
  3. Dubbo系统间通信
  4. 大专计算机系毕业课题6000字,计算机理论论文6000字:高校科研.doc
  5. 千寻和省cors精度对比_使用中海达RTK实战演示千寻cors账号对比省cors网络,验证其测量效果究竟如何...
  6. android新建项目错误,新建Android项目出错
  7. PreScan轨迹mat文件数据格式
  8. C++11 新特性整理 (1)
  9. 新员工入职表_入职培训流程,五大步骤让员工顺利上岗,来之能战战之能胜
  10. Spring+MyBatis多数据源配置实现
  11. 路由器刷固件——斐讯路由器FIR300M刷OpenWrt固件教程
  12. 三个数相减的平方公式_小学二年级数学34个必考公式以及重难点解析
  13. linux的wifi探针源码,运用在公共安全领域的WiFi探针
  14. 相似度系列-6:单维度方法:Evaluating Coherence in Dialogue Systems using Entailment
  15. java数字金额大写金额_Java实现 “ 将数字金额转为大写中文金额 ”
  16. Redisson3.10 RCacheMap踩坑记录
  17. Spring事务问题
  18. USGS官方的各种卫星数据产品的详细说明(很多英文缩写都可在这里找到详细信息,如ETM+和TM的意思,也可以下载)
  19. Cocos 颜色混合BlendFunc
  20. 21天教你学会C++

热门文章

  1. Python Django,静态资源托管
  2. TensorFlow官方教程《Neural Networks and Deep Learning》译(第一章)
  3. 9个项目助你在2020年成为前端大神!
  4. 国标GPS坐标转高德坐标java
  5. Java实现操作系统中四种动态内存分配算法:BF+NF+WF+FF
  6. 微信授权登录(java实现)
  7. 商务通官方网站服务器版,商务通核心教程
  8. 雷达简介-雷达工作的基本参数-PART1
  9. EXt的数据加载与展示
  10. 什么工具压缩视频文件好用