作者:HankFu,本文转载自:博客园
通过如下流程,可以给视频码流添加PTS和用户自定义信息
在编码侧通过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信息了。
在解码侧通过SEI得到PTS信息和帧序号。
2.1 在 main.cpp里的writeSei()能得到SEI信息,也就是PTS信息。
2.2 Display::Process( ) 是严格按照帧顺序被调用的。通过匹配Display::Process( )的帧序号和和SEI-PTS里的帧序号,就能得到每一帧的PTS。