ffmpeg中,有一个结构AVFrame描述解码的视频或音频数据。

它具有一个空指针opaque。该文档声称它是“用于用户的某些私人数据”。

这是什么意思?
可以将其用于按帧元数据传输任何其他数据吗?

最佳答案

这是一个专门供用户(与ffmpeg库相对)使用的字段; ffmpeg不会以任何方式触摸此字段,因此您可以随意使用它。需要注意的是:某些ffmpeg函数将复制AVFrame(或将引用从AVFrame移至另一个),其中包括复制该字段的值。管理此字段指向的数据的生存期可能有些棘手。

如果只需要处理一些每帧的元数据,则可能需要考虑AVFrame中可用的现有元数据存储(请参见av_frame_get_metadata/av_frame_set_metadata

10-08 11:06