使用Delphi从m2t格式的视频中提取第一帧

问题描述:

我们有一堆视频文件,格式为m2t格式。
如何使用Delphi从这些文件生成缩略图(通过提取第一帧)?使用Delphi从m2t格式的视频中提取第一帧

+2

这与Delphi没有多大关系。您需要M2T格式规范,该规范会告诉您如何获取该数据或搜索可加载M2T文件的组件。 – jpfollenius 2011-06-05 17:21:34

+0

@Smasher:是的,没有。当然,我认为可以使用通用解决方案解决问题,但可以读取M2T的Delphi库/ API调用/代码是优先解决方案。是的,我GOOGLE(使用几个关键字),但没有运气。 – 2011-06-06 05:26:00

您可以使用IExtractImage interface从Windows请求此图像。窗口依次从一些驱动程序,您必须通过添加以下注册表项使抓住它:

[HKEY_CLASSES_ROOT\.mts\ShellEx\{BB2E617C-0920-11D1-9A0B-00C04FC2D6C1}] 
@="{c5a40261-cd64-4ccf-84cb-c394da41d590}" 

[HKEY_CLASSES_ROOT\.m2t\ShellEx\{BB2E617C-0920-11D1-9A0B-00C04FC2D6C1}] 
@="{c5a40261-cd64-4ccf-84cb-c394da41d590}" 

[HKEY_CLASSES_ROOT\.m2ts\ShellEx\{BB2E617C-0920-11D1-9A0B-00C04FC2D6C1}] 
@="{c5a40261-cd64-4ccf-84cb-c394da41d590}" 

您可以验证它的工作,如果你看到在资源管理器中的缩略图为您的文件。这是你的应用程序检索的缩略图。

这样可以避免您必须执行一些极其复杂的文件解码和/或与某些lib的接口,您必须先自行转换头文件。