0

我有两个数据流,一个是音频数据,另一个是视频数据。我录制的声音DirectSound被放入一个长度为 100 毫秒的缓冲区中,一个DirectShow ISampleGrabbe女巫以每秒 30 帧的速度为我抓取帧(每 33.33 毫秒一帧)。

什么TimeStamping意思?我是否应该在视频/音频上附加一个DateTime字段并在接收到TimeStamp与视频帧相同的音频数据包时验证?

我知道这是一个非常难的主题,但你能给我一个想法吗?

4

1 回答 1

1

这意味着每个视频/音频元素都有一个时间偏移量,表示必须播放的时间与视频/音频开始的时间有关。所以接收端会按照时间戳对接收到的元素进行排序并按顺序播放,当视频或音频元素丢失时它也会等待。

您不应将 DateTime 属性添加到每个元素。相反,视频/音频标头应指示媒体必须以什么帧速率或频率播放,因此每秒将接收多少元素。所以一个简单的自动编号就可以了。玩家有责任对接收到的元素进行排序,并检查它接收到所有元素的点是否在未来足够远以至于它可以继续播放。

于 2012-10-10T10:04:01.797 回答