创建博客 登录  
 关注
   显示下一条  |  关闭

流浪的蚊子

嗡嗡嗡...找个人叮一口去...

 
 
 

日志

 
 

[原创] U盘视频AUTORUN打造记  

2007-02-01 23:52:08|  分类: IT技术 |  标签: |字号 订阅

发表时间:2006-6-8 23:11:00

    公司接到国外客户的U盘订单,要求U盘插入电脑后自动弹出一段视频,以达到广告宣传的目的。

    U盘主控采用深圳的芯邦方案(ChipsBand),能够直接实现AUTORUN技术,因此总结视频AUTORUN的方法如下几种:

    1. 芯邦自带的AUTORUN程序;

    2. 视频转换为可直接执行的EXE文件;

    3. 利用现成的单文件小巧型播放器来播放。


一、芯邦自带的AUTORUN程序

    芯邦的AUTORUN程序包中包括有如下文件:

    Autosvr.exe    自动载入程序,内含Windrives.exe文件
    Loader.exe     用途不详,照文件名猜测是作为程序载入用途
    Playmedia.exe  媒体播放器
    autorun.inf    这个不用说了,AUTORUN的首要文件
    autorun.exe    芯邦图片演示文件

    其中Autorun.inf包括如下内容:

    [autorun]
    ICON=AUTORUN.ICO   (图标设置,可以不要)
    OPEN=Loader.EXE
    CLIENT_FILE=autorun.exe


    实验A:

    假设客户视频文件名为demo.wmv,则Autorun.inf内容为:

    [autorun]
    OPEN=Loader.EXE
    CLIENT_FILE=demo.wmv

    然后将Autorun.inf,Autosvr.exe, loader.exe, demo.wmv四个文件车换为ISO光盘镜像文件,用芯邦量产工具

将ISO文件烧写入U盘,拨出U盘重插入电脑,则程序会调用XP自带的WMP播放器来播放demo.wmv文件。


    实验B:

    假设客户视频文件名为demo.mpg,则Autorun.inf内容为:

    [autorun]
    OPEN=Loader.EXE
    CLIENT_FILE=demo.mpg

    然后与实验A一样烧入四个文件,你会发现,电脑提示找不到Playmedia程序,这就是问题所在,

    很奇怪,放MPG格式视频时不再调用XP自带的WMP播放器,非Playmedia不可,那好,加入Playmedia.exe文件重新

烧写一次,这次就可以了~


    总结:

    U盘烧写完毕后第一次插入电脑,Autosvr.exe首先会自动执行,并会有如下的小动作:

    1. 复制U盘CDFS分区中的所有文件到TEMP的一个目录下(目录名这几个数字)

    2. 在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run下增加c:\windows\Windrives.exe键值;

    3. 由2可知,在c:\windows目录下,增加了一个Windrives.exe文件

    4. 在启动项自行启动Windrives.exe,可用Msconfig看到

    5. Autosvr.exe和Windrives.exe会长驻在进程中,浪费内存


    上述几个小动作完成后,并不一定会有视频窗口弹出,郁闷吧!通常还要重插一次才有结果,比揭新娘红头巾还难!~

有人会说,这不就OK了吗?我会大声地说:不!

    首先,程序的小动作太多了,因为程序要改动注册表,装了防病毒软件的电脑大都会跳出一个询问窗口是否要修改,

对于用户来说是个不好的事情,大多数电脑用户的第一反应可能是病毒!并且容易吓坏路边的花花草草!

    还有我手上的量产工具中,Autosvr.exe会第一时间让瑞星杀毒软件报警,提示是Trojan.agent.bkw病毒,看来该程序

容易成为木马的藏身之地,恐怖!

    其次,第一次插入U盘时通常是没有视频出来的,站在客户的角度来看,达不到一触即发的广告效果!

    所以,芯邦的视频AUTORUN,我先废了它的武功!

 

二、视频转换为可直接执行的EXE文件

    能够将视频直接转换为EXE文件,目前我所知道的是VideoImpression视频处理软件。

先用V1.6版做实验,只能认识AVI和MPG,转换出来的EXE文件有点偏大,播放器也在里面了,假设文件为demo.exe

    配合如下Autorun.inf内容:

    [autorun]
    OPEN=demo.exe

    然后将Autorun.inf和demo.exe做成ISO文件烧写入U盘,U盘第一次插入电脑,找完硬件后就成功Autorun了!

但还是不满意,因为转换出来的视频只限于320*240分辨率,视频窗口很小,不能人工放大,播放也有点迟顿~

驱猫上网下载V2.0版再次尝试,结果很失望,结果和V1.6版一样,播放器界面中还有了软件公司的网址,而且

EXE文件的体积更是大了一倍,全身上下都很不爽!

    总结:不理想,除非有更好的转换软件,暂时放弃!

 

三、利用现成的单文件小巧型播放器来播放

    上网找了好久都不找到合适的单文件小巧型播放器,又对芯邦的playmedia.exe文件打起了馊主意。

    此程序是调用Window Media player控件做的小巧型播放器,咱们尝试换个方法利用它干活~

    双击此程序发现它不干活,提示没有视频文件,界面中也没有任何菜单和按钮,连右键菜单都禁了,BS芯邦一下!

于是执行CMD到DOS界面,输入 playmedia demo.mpg(两个文件在同一目录中),好,能够播放了,我真聪明*¥#^&

    配合如下Autorun.inf内容:

    [autorun]
    OPEN=playermedia demo.mpg

    然后将Autorun.inf和demo.mpg做成ISO文件烧写入U盘,U盘找完硬件后就成功Autorun了,爽!再试N次均成功,大喜!

次日即将U盘样品寄于地球另一边的客户,数日后客人复:视频的Autorun相当Perfect,但就是有一窗口跳出提示XX错误!

我倒!谁在害我啊!立马将另一个样品上机测试,插拨数次后果然多蹦出了一个XX窗口,定睛一看,是提示找不到

playermedia demo.mpg文件字样,意思那是在路径中找不到两个文件,我要晕菜了~~

    苦思数天不得其解~~~ 太矛盾了,一个窗口在放视频,另一个窗口说找不到文件,没天理!放弃算了吧,另想办法东山

再起。。。难到一个AUTORUN就把我放倒了~~ 真的不服耶!

    尝试用VB写一个程序,在程序里调用playmedia带/demo.mpg参数,可是我有两年多没碰过VB了,弄了一会不成又恢心了。

    郁闷了几个小时......

 

四、回光反照,天外有天

    又郁闷了几分钟......

    嘿,一个邪恶的念头一涌而出,何不自已写一个播放器,内部固定调用一个视频文件名,这就跳开带参数调用外部程序了!

    不出几分钟,凭我自小就不太聪明的脑瓜子,播放器很快做出来了,命名为Autoplayer.exe,够专业吧,嘻嘻!

    至于源程序就不用看了吧,会VB或VC的兄弟姐妹都会写滴~~ 什么?不知道VB是什么?我向你投降~~

    配合如下Autorun.inf内容:

    [autorun]
    OPEN=Autoplayer.exe

    将Autorun.inf, Autoplayer.exe和demo.wmv做成ISO文件烧写入U盘,不出所料,完美地Autorun了,不禁大喜!

    几个小时内不断插拨U盘,没有出现任何问题,再到其它几台电脑测试,Perfect!


    咳~咳~,总结一下程序优点(自卖自夸~)

    1. 不向硬盘写入任何文件,不改动注册表,内存不加载文件;

    2. 保证U盘第一次插入即可出现视频;

    3. 视频窗口大小由自已程序编写,标题栏可加入客户文字信息;

    4. 视频窗口为最顶显示,不用担心其它无关窗口遮挡;

    5. 视频窗口在不同分辨率的显示器中,可以自动置中;

    6. 播放窗口可任意调整大小;

    7. 自行设置循环播放的次数;

    8. 还没想到呢...

    到此,完美收场,看看表也是凌晨一点整,打字打到手软了,该好好睡一觉了。。。

    bye bye 咯~~

============================================================

以上文章为PUIMEN原创,转贴或引用请注明来自本BLOG,谢谢你对作者的尊重!

Email: coolman99@163.com

  评论这张
转发至微博
转发至微博
0   分享到:        
阅读(259)| 评论(0)| 引用 (0) |举报

历史上的今天

相关文章

最近读者

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--相关文章--> <#--历史上的今天--> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2012