使用gpac报错 [iso file] Found stts entry with sample_delta=0 - forbidden ! Fixing to 1
时间: 2024-04-29 21:23:24 浏览: 12
这个错误是因为在视频文件的stts表中发现了一个样本间隔为0的条目,这是不允许的。可以通过将该条目样本间隔修复为1来解决此问题。可以尝试以下命令:
```
MP4Box -single-file -hint -inter 500 your_video_file.mp4
```
这将使用MP4Box工具将视频文件转换为单个文件,并将样本间隔修复为1。如果仍然无法解决问题,请尝试使用其他软件或版本进行转换。
相关问题
使用gpac 解析MP4文件中SEI帧时报错 [iso file] Found stts entry with sample_delta=0 - forbidden ! Fixing to 1
这个错误意味着在MP4文件的stts表中,存在一个样本的时间间隔为0,这是不允许的。GPAC是一个严格的解析器,因此会报错并尝试修复它。
修复方法是将样本时间间隔改为1。您可以使用MP4Box工具中的“-inter”选项来修复这个问题。例如:
```bash
mp4box -inter 1 input.mp4 -out output.mp4
```
这将会将所有样本的时间间隔改为1,并生成一个修复后的MP4文件。然后您可以使用GPAC再次尝试解析该文件。
在gpac中sample_delta值是通过什么函数写到MP4文件中的
在GPAC中,sample_delta值是通过以下函数写入MP4文件中的:
```c++
gf_isom_add_sample_delta(ms->tfra_box, ms->track->header->track_ID, delta);
```
其中,ms代表MediaStream结构体,tfra_box代表TrackFragmentRandomAccessBox结构体,track代表Track结构体,header代表TrackHeaderBox结构体,track_ID代表track的ID号,delta代表sample_delta值。这个函数会将sample_delta值添加到tfra_box中,以便后续的随机访问。