我试图同时读写通过AVAssetWriter书面H.264 MOV文件。 我设法提取单个NAL单元,它们包成FFmpeg的AVPackets和使用的ffmpeg它们写入到另一种视频格式。 它的工作原理和所产生的文件播放以及除了播放速度是不正确的。 如何计算从原材料H.264数据正确的PTS / DTS值? 或者,也许存在一些其他的方式,让他们?
以下是我已经试过:
极限捕获最小/最大帧频为30,假设输出文件将是每秒30帧。 其实它的FPS总是比我设定值以下。 还有,我觉得FPS是不是包与包之间不变。
记住每个样品撰写的介绍时间戳和假设样本映射一个-to-one的NALU都和应用保存时间戳输出数据包。 这是行不通的。
PTS设置为0或AV_NOPTS_VALUE。 不工作。
从谷歌上搜索一下我的理解是原始H.264数据通常不包含任何定时信息。 它有时可以有内部SEI一些定时信息,但是我用的是文件没有它。 在另一方面,也有一些应用程序做的正是我想要做的,所以我想这是有可能以某种方式。