2011-11-07 56 views

回答

1

对于此视频,您并不需要在视频中嵌入时间码,但视频标头有足够的字段可帮助您了解这一点。

每个帧是由这种“时间戳”:

start time + sum of all previous frame durations 

鉴于你有一个相关的起始点(其可以存储在每个磁道的视频报头),则可以保持跟踪时,应显示的每个帧的。

持续时间在stts atom,你可以把相对起点在media header atom(注意创建/修改时区)

1

如果视频大小并不重要:DV在每帧的时间码。 我认为MPEG 1/2在它的数据流中也可以有一个时间码(SMPTE时间码)。 h264可以将可变数据作为NAL-SEI-UserData-Block嵌入到它的数据流中。 IPCam与Axis和Basler一样将摄像机时间和触发数据嵌入到此类数据块中。

1

时间码与编解码器本身无关。 “编解码器”是在这种情况下对视频进行编码的方法,并且时间码被附加在其上,并且通常与经编码的视频帧一起被写入到文件中。几乎所有格式都保持帧时间,一些格式具有固定的帧速率,一些允许更大的灵活性。

在播放时,强制实施时间戳和按时呈现帧,特别是同步多个流是框架问题。

3

大多数广播视频编解码器允许使用SMPTE时间码或帧位置标记帧。

  • MPEG用户数据可以携带时间码。 MPEG-2 TS数据包有时间码。
  • DV帧用时间码编码。
  • H.264在时序信息方面非常灵活。帧以帧位置编码。如果设置了timing_info_present_flag,则SPS NAL单元中可能存在额外的时序数据。

有一些值得注意的例外。某些帧内视频格式(如JPEG-2000或DNxHD)不带时间码信息。

额外的时间码信息通常由容器格式(QuickTime,MPEG TS,MXF等)承载。