将SMPTE时间码嵌入mpeg1 / 2视频(无音频)

时间:2014-01-06 04:34:39

标签: c++ c video ffmpeg mpeg

我正在开展一项任务,客户需要将smpte丢帧时间码嵌入到我的软件将捕获和编码的mpeg1 / 2视频中。我使用openCV和ffmpeg(windows)成功进行了编码。我遇到的问题是嵌入时间码。

我花了大约一个月的时间研究这个问题并且无法提出解决方案。 是否有可以满足我需要的软件?

在我脑海中,我想象一个没有时间码的视频文件,我打开一个播放器。它以hh:mm:ss:ms显示时间。然后我想象一个带有时间码的视频会将时间信息显示为hh:mm:ss:ff。不是这种情况。许多视频播放器甚至不支持显示时间码。

时间码如何存储在mpeg1 / 2文件中?我以为它是按帧进行存储的,并且简单如下:

frameToEncode->setTimecode(SMPTE_DROPFRAME, framenum);
MPEGEncoder::encodeFrame(frameToEncode);

我已经在互联网上搜索了这个答案。也许我正在用错误的术语进行搜索,但我找不到一个明确的解决方案来简单地将时间码嵌入到我的视频文件中。

我曾试图使用ffmpeg,但未能确认/否认我的尝试。是否有我可以使用的软件会告诉我我的视频文件中嵌入了时间码?我尝试过使用adobe premiere pro和roxio creator pro但没有成功。

最后,我的客户要求甚至可能吗?是否可以嵌入时间码。我对此缺乏信息感到震惊,并开始认为所需要的甚至是不可能的。如果有可能,是否有商业或免费的SD /库?

TL; DR:我需要将时间码嵌入到我正在捕捉和编码的mpeg1 / 2视频文件中。时间码如何存储在mpeg1 / 2文件中?作为全球标题?每帧?别的什么?我需要能够验证嵌入式时间码存在的软件。客户要求甚至可能吗?如果是这样,是否有商业或免费的SDK可以完成我的任务?

注意:我需要一个能够嵌入时间码的c / c ++库。

0 个答案:

没有答案