主要问题是是否有可能以某种方式绕过 ffmpeg 在将帧写入文件时所做的帧索引检查。
现在我将解释我的确切问题,以便您可以更好地了解我需要什么,或者可能想到一个替代解决方案。
问题 n0.1:我从两个独立的摄像机获取视频流,出于某种原因,我想将其保存在同一个视频文件中。首先是第一台摄像机的帧,然后是第二台摄像机的帧。当从第二台相机写入帧时,av_write_frame
将返回错误代码 -22 并且将无法添加帧。这是因为写入上下文期望在先前写入的帧(来自摄像机 1 的最后一帧)的索引之后的帧索引,但他接收到索引为 0 的帧,即来自第二个摄像机的第一帧。
问题 2:独立于第一个问题考虑以下问题。我正在尝试将视频流保存到文件中,但帧速率是实际速度的两倍。因此,因为我找不到任何可行的解决方案来降低帧速率,所以我想在视频文件中每帧写入两次。但它不会对帧速率产生任何影响。我还尝试了一种不同的方法来解决帧速率问题,但它也失败了(问题在这里)。
任何一种可行的解决方案都将受到高度赞赏。
同样重要的是我不能使用控制台命令,我需要 C 代码,因为我需要将这些功能集成到自动化的 Android 应用程序中。