【分享】如何给视频码流添加PTS和用户自定义信息

通过如下流程,可以给视频码流添加PTS和用户自定义信息

  1. 在编码侧通过SEI加入PTS信息和帧序号,
    1.1 编码前,在struct EncoderSink :: ProcessFrame() 里为AL_TBuffer添加MetaData,MetaData里含有PTS信息及其它用户自定义信息。
    1.2 编码完成后,在struct EncoderSink :: EndEncoding () 里从AL_TBuffer取出MetaData,使用MetaData里含有的PTS信息添加SEI(Supplemental Enhancement Information)。这样码流里就含有SEI-PTS信息了。

  2. 在解码侧通过SEI得到PTS信息和帧序号。
    2.1 在 main.cpp里的writeSei()能得到SEI信息,也就是PTS信息。
    2.2 Display::Process( ) 是严格按照帧顺序被调用的。通过匹配Display::Process( )的帧序号和和SEI-PTS里的帧序号,就能得到每一帧的PTS。

原文地址:https://www.cnblogs.com/hankfu/p/15323551.html