用VLC 实现获取播放每帧视频的时间(UTC)
我现在需求是,我通过libvlc实现了一个媒体播放器,需要把实时通过摄像头过来的每个视频帧的时间和播放中的视频同步显示出来。我查了VLC的文档,好像没有提供相应的API来实现这个feature。
后来,我看了下VLC解析RTSP是通过live555这个多媒体流框架,也查了相应的RTP格式文档,每个RTP Packet中的timestamp是相对的,需要通过RTCP SR中的NTP timestamp来做同步,这样才能转换成UTC。VLC有没有现成的API提供每帧视频的presentation time(pts)? 我看了live555中的一个叫testRTSPClient Demo的源码,里面打印出来每一帧的presentation time(pts)就是UTC。但是,我需要这个UTC与我播放视频同步显示出来,该怎么做?因为播放视频只需要调用一个VLC的API就可以播放了,但是获得UTC是比较偏底层的,我不可能同时用live555和LibVLC,因为这不可能把播放中的每一帧和它自身的UTC同步显示。有什么好的方法?
注意:我说的每一帧的时间(UTC)不是视频播放时间。
zx20319
9 years, 8 months ago