gpac库中函数gf_isom_open调用报错[iso file] Found stts entry with sample_delta=0 - forbidden ! Fixing to 1
时间: 2024-06-06 09:06:41 浏览: 175
这个错误提示意味着在你的ISO文件中找到了一个sample_delta值为0的stts条目,这是不允许的。gpac库在打开文件时会检查这些条目,并且如果发现错误,会尝试修复它们。但是,在这种情况下,修复可能会导致其他问题,因此你需要手动修复ISO文件。
要修复ISO文件,请使用一个能够编辑二进制文件的文本编辑器,例如Hex Editor Neo或HxD。打开ISO文件,找到包含stts表的部分。你可以使用ISO文件格式的文档来确定stts表的位置。一旦找到了stts表,找到sample_delta值为0的条目,并将其更改为1。保存文件并重新运行你的代码。
请注意,如果在stts表之外还有其他损坏的表,这些表也需要修复。如果你不确定如何修复损坏的表,请考虑使用其他工具来修复ISO文件,例如ffmpeg或MP4Box。
相关问题
使用gpac库报错[iso file] Found stts entry with sample_delta=0 - forbidden ! Fixing to 1
这个错误可能是因为输入的视频文件中包含了一个样本间隔为0的stts表项,而这在ISO文件规范中是被禁止的。GPAC库在处理这种情况时会报错并将样本间隔修正为1。
如果你想避免这个错误,可以尝试从源头解决问题,即在生成视频文件时避免出现样本间隔为0的情况。如果无法避免,你也可以尝试使用其他的视频处理库来处理这个文件,例如FFmpeg等。
如果你已经确定无法避免这个错误,你可以忽略这个错误并继续使用GPAC库进行处理。在GPAC库的命令行中,可以添加“-no-strict”参数来关闭严格模式,这样GPAC库就不会报错并会尝试修正样本间隔。例如:
mp4box -no-strict input.mp4 -out output.mp4
注意,关闭严格模式可能会导致生成的文件存在一些问题,因此建议在使用之前进行测试。
使用gpac报错 [iso file] Found stts entry with sample_delta=0 - forbidden ! Fixing to 1
这个错误是因为在视频文件的stts表中发现了一个样本间隔为0的条目,这是不允许的。可以通过将该条目样本间隔修复为1来解决此问题。可以尝试以下命令:
```
MP4Box -single-file -hint -inter 500 your_video_file.mp4
```
这将使用MP4Box工具将视频文件转换为单个文件,并将样本间隔修复为1。如果仍然无法解决问题,请尝试使用其他软件或版本进行转换。
阅读全文