我的.mp4的25%在FFMPEG,OpenCV中具有“错误读取标头”-但是视频都可以正常播放

戴夫·沃克

我有一个Reolink安全摄像机,该摄像机通过FTP将.mp4文件保存到本地服务器。然后,我有自己的基于Python的应用程序来处理这些视频。在过去一年左右的时间里,它一直运行良好,尽管我经常注意到(来自OpenCV的)Python控制台中有关“错误读取标头”的警告,但是无论如何它还是忽略了它。

由于获得了新服务器并重新安装了所有软件,这恰好意味着Debian Linux,Python和OpenCV的更新版本,因此它不再容忍错误并且无法加载这些视频。令人担忧的是,通过FTP保存的视频中大约有四分之一在我的Python应用程序中出现此错误,并且如果我尝试通过FFMPEG在我的服务器或我的(Mac)笔记本电脑上加载这些错误,都会收到错误消息。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7ff492000400] error reading header [path]: Operation not permitted

我已将其中一个视频放到Dropbox上,因此您可以看到:https : //www.dropbox.com/s/tu4ddegh6yn05nu/ErrorReadingHeader.mp4?dl=0

任何人都知道导致此问题的原因或解决方法?我认为我有几种选择,但是没有足够的信息来进行任何选择:

  • 修复视频,使其不损坏。我已经问过制造商Reolink,他们是否可以提供任何信息...
  • 使FFMPEG等可以容忍这些错误。不确定如何...也不确定OpenCV使用的是哪种编解码器(我肯定不是FFMPEG,所以有多个编解码器对这些标头不满意!)
  • 在处理之前,请尝试“修复”视频。作为解决方案,可能会有一些困难,但是感觉效率很低,因此,如果可能的话,宁愿避免……但是最终的解决方法是在那儿!

非常感谢!

吉安

样本MP4是分段的,因此元数据不是每个样本的全局索引(即帧),而是分段的。每个片段的元数据中都有一个跟踪运行框trun,其中包含该片段中所有样本的数据。2017年10月(ffmpeg 4.0+)进行了更改,其中如果trun框指示片段中存储了0个样本,则ffmpeg将保释。

mp4box或更旧版本的ffmpeg不会失败,因此您可以使用它们将文件重新混合到常规MP4中。

ffmpeg-3.4 -i in.mp4 -c copy out.mp4

或者

mp4box -add in.mp4 -new out.mp4

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我的ASP.NET <video>在FireFox上播放.webm文件,可以正常播放视频,但是没有音频

每当我在IntelliJ中运行项目时,它都可以正常工作,但是,当我尝试以jar形式运行它时,它将引发异常

ffmpeg图片>视频无法正常播放

托管在我的服务器上时,HTML5视频无法播放,可以从外部来源正常播放

我正在使用引导程序,并且除工具提示之外的所有功能都可以正常工作

我的属性只有一个get,但是我希望每次调用该值时都可以更改它

.NET-此脚本的每个单独部分都可以使用,但是整体运行会导致它替换我SVG文件中的所有文本

我在 Django admin 中遇到这些错误,任何人都可以帮我这个

Lubuntu和Xubuntu中的屏幕崩溃都可以,但是在Windows Xp上可以正常工作

从Firefox到Chrome没有WebRTC视频信号,但是所有其他组合都可以

我页面上的所有内容在 VScode 的实时服务器上都可以正常工作,但在本地却不行

我的笔记本电脑应该支持16GB的RAM,但是据报道只有8GB(但是芯片和插槽都可以工作)

Cocos 2d,App在我所有的设备上都可以运行,但是当提交到Apple Store时,它们给我发送的黑屏外观只是带有背景声音

在viewpost.php遇到错误,任何人都可以帮助我

任何人都可以帮助我们解决这些 Xcode 错误吗?

我无法安装 Urllib 模块所有其他模块都可以轻松安装,但这给了我错误

任何人都可以在这段代码中解释我的打印语句吗?

任何人都可以帮助我理解下面代码中的问题吗?

任何人都可以帮助我在颤振中对齐布局吗?

任何身体都可以帮助我使用形状在 android 中创建此图像吗

任何人都可以在颤振中向我解释这段代码吗?

HDMI电缆特别不适用于我的计算机,可以与其他所有设备一起使用,视频卡的所有端口都可以使用

我的磁盘在RAID1 btrfs中发生故障,因此写入比较困难,但是读取大多数情况下都可以进行。怎么更换呢?

我想在指令中调用我的 API 并在我需要的地方使用指令。任何人都可以帮助我。请罚款我的例子

减少函数执行 - 任何人都可以帮助我识别错误,因为我无法获得结果

需要两张纸上的缺失值,我的复印功能都可以正常工作

为什么来自 Node/Express 的 POST 和 PUT 请求在 React/Redux 中不起作用?我的 GET 和 DELETE 请求都可以正常工作。所有请求都在 Postman 中工作

任何人都可以帮助我使这个 java 运行没有错误吗?

我可以创建一个所有视图控制器都可以访问的类吗