我嘗試使用libav解析持續時間約爲20h的mp4文件。我編譯並測試了ffmpeg示例doc/examples/demuxing_decoding.c。Libav demuxer在長時間mp4文件上失敗
- avformat_alloc_context()
- avformat_open_input()
- avformat_find_stream_info()
- ...
- av_read_frame()循環
但過了一段時間我得到一個錯誤「無法添加索引條目「,mp4 demuxer停止工作。 這不會使用較短的文件(少於15小時)重現。
我也嘗試ffmpeg.exe到解複用和複用這個文件,如下所示:
ffmpeg.exe -i input.mp4 -acodec copy -vcodec copy out.mp4
而且我在這情況下,沒有任何錯誤消息。
demuxing_decoding示例和ffmpeg.exe demuxing方法有什麼區別?
是否有特定用途的libav mp4分路器有太長或分段的mp4文件?
有關減少/忽略索引的任何想法?