Director视频编码解决方案

来源:互联网 发布:现代汉语语法教程淘宝 编辑:程序博客网 时间:2024/06/05 01:54
一、 前言

视频元素在多媒体创作中有着重要的位置,在多媒体创作中我们有时候使用了特定编码格式的视频影象,这个时候就要求客户机器上具有对应的***才能够正常播放我们的视频影象,这个时候检测、安装***就是一个不可回避的话题了,本文将对于使用Director进行多媒体创作中的相关问题作小小的总结。


二、 检测视频解码
每种视频***在windows注册表中都有注册信息,windows注册表中设置有特定的路径来管理本地计算机上安装的视频编码信息,我们下面先看一下其中的奥妙:
路径一:
地址:“HKEY_LOCAL_MACHINE";"SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc";
这里记录本地已经安装的视频、音频驱动程序的名称及其编码格式标准命名信息, drivers.desc 主键
路径二:
地址:“HKEY_LOCAL_MACHINE";"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32″;

这里记录本地已经安装的视频、音频驱动程序的内部标识及其编码驱动程序,Drivers32 主键windows在播放视频的时候将直接从此处获取对应的驱动信息,如果没有安装的编码格式,媒体播放器将予以错误提示,同时视频不能正常播放。其中 vidc.***是视频类编码格式标识;msacm.*** 是音频类编码格式标识。以上两个就是windows记录视频编码器安装信息的核心地带,了解这点以后再通过注册表的操作,我们就可以非常灵活地实现视频***的检测与安装了。

在检测某种视频***是否正常安装,我们必须知道他对应的注册表标记格式。以Camtasia *** 为例,成功安装后***产生如下注册信息:.. “SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32″ 主键 下建立字符型子键“vidc.tscc”,值:“tsccvid.dll”,即***的驱动程序名称。.. “SOFTWARE\Microsoft\Windows NT\CurrentVersion\ drivers.desc ” 主键 下建立字符型子键“tsccvid.dll”,值:“Tech**ith Screen Capture Codec”,即***的标准名称。因为两个注册信息是相关联存在的,所以在director中我们检测其中之一即可确定该编码器是否正常安装。

这里我们使用budapi.x32来读取windows注册表信息,检测函数如下:
On GetCodecInstalledBranch ="HKEY_LOCAL_MACHINE”KeyName="SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32″ValueName= “vidc.tscc”Default=”noinstall”CodecInstalled = baReadRegString(KeyName, ValueName, Default, Branch,)Return CodecInstalledEnd

现在在信息窗口中键入:put GetCodecInstalled(),回车确定,可见如下信息:– noinstall,返回的值说明目前系统没有安装对应的***。这样我们就完成了Camtasia 视频***的安装检测。其他视频***均了参考本方法解决。得到检测结果以后,我们在用lingo指令open 即可运行外部的***安装程序了。后续步骤略。


三、 后台安装视频***
尽管我们提倡直接运行外部***安装程序的正规操作,但是因为某种特定原因还是存在这种手动安装的需求,这里我也将在手动安装Camtasia ***过程中取得的经验抛砖引玉的介绍给大家。如前所述,我们已经能够顺利检测各种编码器的安装与否,我们现在甚至可以直接写入这些信息,以致系统可能认为该***已经正常安装,这距离我们手动安装***程序只有一步之遥:复制对应的***程序文件到系统目录的system32目录下。下面我们将手动安装的程序给出,很简单,很容易看懂的,^_^
第一步:写入注册表安装后信息。

–写入Drivers32主键!Branch ="HKEY_LOCAL_MACHINE”KeyName="SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32″ValueName= “vidc.tscc”Data ="tsccvid.dll”bawriteRegString (KeyName, ValueName, Data, Branch,)–写入drivers.desc主键!Branch ="HKEY_LOCAL_MACHINE”KeyName="SOFTWARE\Microsoft\Windows NT\CurrentVersion\ drivers.desc ”ValueName= “tsccvid.dll”Data = “Tech**ith Screen Capture Codec”bawriteRegString (KeyName, ValueName, Data, Branch,)

第二步:***程序文件(tsccvid.dll)到系统目录的system32目录下

OldItem=the itemDelimiterthe itemDelimiter=”;”–通过baEnvironment()函数返回的系统变量提取系统目录!strTemp=baEnvironment( “PATH” )strTemp=strTemp.item[1]–复制主文件同级目录下的tsccvid.dllbaCopyFile(themoviepath&"codes\tsccvid.dll”,strTemp&"\tsccvid.dll”,"Always")the itemDelimiter=OldItem

ok!简简单单两步就搞定了手动安装,不复杂吧!现在你可以播放Camtasia 的tscc编码格式视频文件了!
备注:
1、Camtasia 是一款实时屏幕录制软件,详细请见发行公司主页:www.tech**ith.com
2、以上注册表的相关操作不适合win9x操作系统
3、下载Camtasia ***安装文件:ftp://ftp.tech**ith.com/pub/products/camtasia/tscc.exe
4、本主题讨论参见:http://www.mobiusclub.com/dispbbs.asp?boardID=3&ID=338
0 0
原创粉丝点击