mp4头文件的问题

ivanfanggz 2011-01-22 09:54:37
在飞机上录了一段视频,用手机录的。飞机着陆后太着急了也没注意看录像状态好了没就拔了手机电池直接装sim卡打电话了,后来才发现拍的半个小时视频只有一个300多兆的mp4文件,用任何播放器都播放不了。为了发现问题,我特别去重新录了一段几秒的视频,在录的过程中人为断电,发现效果一样。

这两天上网搜过关于修复的贴子,感觉上,我的mp4文件应该就是没有收尾,头文件没有写好,才导致播放不了的。

我也不是拿来主意者,这般也可以让我学学视频的编码,至少初步了解一下吧。

我感觉,要修好我的文件所需的知识也应该并不十分的多,应该就是十六进制头文件的制定方式,还有就是视频长度的统计之类的。

我想要一些有关mp4编码的知识,包括头文件读取多少字节,mp4正常播放时的文件读取方式等。我还是真的想修复这段mp4,希望各位大大帮帮忙,谢谢。

手机在我手,具体是什么样的编码我完全可以从已录制的视频中查到,所以我认为只要专业知识过硬,要修复不成什么问题。
...全文
706 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hybtour 2012-02-08
  • 打赏
  • 举报
回复
还是不懂
CyberLogix 2011-01-23
  • 打赏
  • 举报
回复
修复是有可能的,但是难度太大,你可以把里面的video和Audio数据分离出来,重新制作一个MP4文件
lius1984 2011-01-23
  • 打赏
  • 举报
回复
MP4是靠最后的一系列索引表来定位每一帧的。 没有索引表基本无法播放。 如果你想修复MP4,尝试一下 All Media Fixer 等视频修复工具, 如果你想学习视频编码,还是先从mp4 file format看起。
CyberLogix 2011-01-23
  • 打赏
  • 举报
回复
就是凭借里面的视频码流信息,如果你对标准很熟悉的华,可以把散落的视频码流从文件中拼接起来组成这个那个视频流文件,这个需要使用专业的码流分析工具来实现,你可以把你的文件发到我邮箱:freexpress@126.com帮你看看
ivanfanggz 2011-01-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 oexpress 的回复:]
修复是有可能的,但是难度太大,你可以把里面的video和Audio数据分离出来,重新制作一个MP4文件
[/Quote]

用什么来分离呢?我通过什么标准来分隔视频跟音频呢?其实我只要保留视频即可,谢谢
tufaqing 2011-01-22
  • 打赏
  • 举报
回复
通过上面可以知道mp4格式的缺陷很大,数据有一点损坏可能导致所以数据混乱,我个人也最不喜欢这种格式。
tufaqing 2011-01-22
  • 打赏
  • 举报
回复
基本无解,mp4中间部分都是帧数据,没有明确的分帧标记,每包的位置和大小都是用atom标记的,一般放在文件头或尾部,因为你这是实时录制的,文件帧索引应该是放在尾部的,而你突然断掉了,相当于索引一个都 没有写,根本是无法识别的。如果是放在头部,预留一段空间来保存索引,也许还有救,我推测不大可能是这样。
当然如果你的音视频格式比较强的话,也许通过编码帧分析可以查找出帧的大小和位置,比如手机录制可能是h264+aac的,通过识别h264头和aac来分析数据,不过这个太难了,而且也不准,有的格式是分析不出来的,mp4中的aac就不带adts头,一般第一个字节是0x21,分析很难。而且时间戳也没了,音视频同步也是个问题,如果你的手机比较好或者软件比较好,录制帧比较均匀恒定,可以通过帧率计算。

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧