暴风影音发布了2.0升级版本,但马上被人指出是“后DirectShow时代的开源小贼”,并通过了大量事实阐述了这一观点,详情看这里."负责解码核心的代码编写的陈庆明在接受采访时否认了抄袭之说,他说:“我是去年结婚的,在我婚礼那天的凌晨三点,我写完了最后一行代码.”
来自solidot开源部门的技术分析:
1.软件安装包分析
来源:官方下载链接
解包工具:7-zip
目录列表: tree /F > list
文件夹 PATH 列表
卷序列号码为 00002E24 D840:4AB7
E:.
│ spfa.dll
│ supdate.dll
│ score.dll
│ Storm.exe
│ media.dll
│ sexpert.dll
│ sprobe.dll
│ splayers.dll
│ sparser.dll
│ storm.cfg
│ $R0
│ list
│
├─$PLUGINSDIR
│ InstallOptions.dll
│ ioSpecial.ini
│ modern-wizard.bmp
│ NSISdl.dll
│ IEFunctions.dll
│
├─$_OUTDIR
│ └─Storm
│ └─Update
│ │ AviSplitter.ax
│ │ CLRVIDDC.DLL
│ │ CoreAVC.ax
│ │ DECVW_32.DLL
│ │ DmoDec.dll
│ │ FLAC.ax
│ │ FLVSplitter.ax
│ │ LCodcCMP.dll
│ │ MACDec.dll
│ │ MASource.ax
│ │ MP4Splitter.ax
│ │ MZP4_DEC.DLL
│ │ PmpSplt.ax
│ │ QuickTime.qts
│ │ QuickTimeVR.qtx
│ │ RLMPCDec.ax
│ │ RMSplt.ax
│ │ SHNTrans.ax
│ │ TTASplt.ax
│ │ TTL2Dec.dll
│ │ VDODEC32.dll
│ │ VSFilter.dll
│ │ VgmAudio.ax
│ │ VgmSplt.ax
│ │ Vid1Dec.dll
│ │ aac_ps.ax
│ │ aasc32.dll
│ │ ac3filter.ax
│ │ asusasv1.dll
│ │ asusasv2.dll
│ │ atidvdv.ax
│ │ ativcr2.dll
│ │ avidavicodec.dll
│ │ binkw32.dll
│ │ cddareader.ax
│ │ cdxareader.ax
│ │ clrviddd.dll
│ │ com.apple.QuickTime.plist
│ │ dxr.dll
│ │ ff_kerneldeint.dll
│ │ ff_liba52.dll
│ │ ff_libdts.dll
│ │ ff_realaac.dll
│ │ ff_samplerate.dll
│ │ ff_tremor.dll
│ │ ff_vfw.dll
│ │ ff_vfw.dll.manifest
│ │ ffdshow.ax
│ │ ffdshow.ax.manifest
│ │ frapsvid.dll
│ │ i263_32.drv
│ │ icmw_32.dll
│ │ keys.dat
│ │ l3codeca.acm
│ │ l3codecp.acm
│ │ l3codecx.ax
│ │ libavcodec.dll
│ │ libmplayer.dll
│ │ mkunicode.dll
│ │ mkx.dll
│ │ mkzlib.dll
│ │ mp4.dll
│ │ mpg2splt.ax
│ │ msvcr71.dll
│ │ ogm.dll
│ │ pncrt.dll
│ │ pndx5016.dll
│ │ pndx5032.dll
│ │ qt.p2p
│ │ rmoc3260.dll
│ │ scsource.ax
│ │ smackw32.dll
│ │ splitter.ax
│ │ tomsmocomp_ff.dll
│ │ ts.dll
│ │ tsccvid.dll
│ │ v2k2_dec.dll
│ │ v2kdspde.dll
│ │ vdowave.drv
│ │ vgmbgr.ax
│ │ vgmv2k2.ax
│ │ vmnc.dll
│ │ vp6vfw.dll
│ │ vp7vfw.dll
│ │ xvid.ax
│ │ xvidcore.dll
│ │ xvidvfw.dll
│ │
│ ├─Codec
│ │ RadGtSplitter.ax
│ │
│ ├─Plugins
│ │ QuickTimePlugin.class
│ │ nppl3260.dll
│ │ nppl3260.xpt
│ │ npqtplugin.dll
│ │ nprpjplug.dll
│ │ nsIQTScriptablePlugin.xpt
│ │ nsJSRealPlayerPlugin.xpt
│ │
│ ├─QTSystem
│ │ │ CFCharacterSetBitmaps.bitmap
│ │ │ CoreVideo.qtx
│ │ │ QTCheck.ocx
│ │ │ QTPlugin.ocx
│ │ │ QuickTime.cpl
│ │ │ QuickTime.qts
│ │ │ QuickTime3GPP.qtx
│ │ │ QuickTimeAudioSupport.qtx
│ │ │ QuickTimeEssentials.qtx
│ │ │ QuickTimeH264.qtx
│ │ │ QuickTimeInternetExtras.qtx
│ │ │ QuickTimeMPEG4.qtx
│ │ │ QuickTimeStreaming.qtx
│ │ │ QuickTimeStreamingExtras.qtx
│ │ │ QuickTimeVR.qtx
│ │ │ QuickTimeWebHelper.qtx
│ │ │
│ │ ├─CoreVideo.Resources
│ │ │ │ CoreVideo.qtr
│ │ │ │
│ │ │ ├─en.lproj
│ │ │ │ CoreVideoLocalized.qtr
│ │ │ │
│ │ │ └─zh_CN.lproj
│ │ │ CoreVideoLocalized.qtr
│ │ │
│ │ ├─QuickTime.Resources
│ │ │ │ QuickTime.dll
│ │ │ │ QuickTime.qtr
│ │ │ │
│ │ │ ├─en.lproj
│ │ │ │ QuickTimeLocalized.dll
│ │ │ │ QuickTimeLocalized.qtr
│ │ │ │
│ │ │ └─zh_CN.lproj
│ │ │ QuickTimeLocalized.dll
│ │ │ QuickTimeLocalized.qtr
│ │ │
│ │ ├─QuickTime3GPP.Resources
│ │ │ │ QuickTime3GPP.qtr
│ │ │ │
│ │ │ ├─en.lproj
│ │ │ │ QuickTime3GPPLocalized.qtr
│ │ │ │
│ │ │ └─zh_CN.lproj
│ │ │ QuickTime3GPPLocalized.qtr
│ │ │
│ │ ├─QuickTimeAudioSupport.Resources
│ │ │ │ QuickTimeAudioSupport.qtr
│ │ │ │
│ │ │ ├─en.lproj
│ │ │ │ QuickTimeAudioSupportLocalized.dll
│ │ │ │ QuickTimeAudioSupportLocalized.qtr
│ │ │ │
│ │ │ └─zh_CN.lproj
│ │ │ QuickTimeAudioSupportLocalized.dll
│ │ │ QuickTimeAudioSupportLocalized.qtr
│ │ │
│ │ ├─QuickTimeEssentials.Resources
│ │ │ │ QuickTimeEssentials.qtr
│ │ │ │
│ │ │ ├─en.lproj
│ │ │ │ QuickTimeEssentialsLocalized.qtr
│ │ │ │
│ │ │ └─zh_CN.lproj
│ │ │ QuickTimeEssentialsLocalized.qtr
│ │ │
│ │ ├─QuickTimeH264.Resources
│ │ │ │ QuickTimeH264.qtr
│ │ │ │
│ │ │ ├─en.lproj
│ │ │ │ QuickTimeH264Localized.qtr
│ │ │ │
│ │ │ └─zh_CN.lproj
│ │ │ QuickTimeH264Localized.qtr
│ │ │
│ │ ├─QuickTimeInternetExtras.Resources
│ │ │ │ QuickTimeInternetExtras.qtr
│ │ │ │
│ │ │ ├─en.lproj
│ │ │ │ QuickTimeInternetExtrasLocalized.qtr
│ │ │ │
│ │ │ └─zh_CN.lproj
│ │ │ QuickTimeInternetExtrasLocalized.qtr
│ │ │
│ │ ├─QuickTimeMPEG4.Resources
│ │ │ │ QuickTimeMPEG4.qtr
│ │ │ │
│ │ │ ├─en.lproj
│ │ │ │ QuickTimeMPEG4Localized.qtr
│ │ │ │
│ │ │ └─zh_CN.lproj
│ │ │ QuickTimeMPEG4Localized.qtr
│ │ │
│ │ ├─QuickTimeStreaming.Resources
│ │ │ │ QuickTimeStreaming.qtr
│ │ │ │
│ │ │ ├─en.lproj
│ │ │ │ QuickTimeStreamingLocalized.dll
│ │ │ │ QuickTimeStreamingLocalized.qtr
│ │ │ │
│ │ │ └─zh_CN.lproj
│ │ │ QuickTimeStreamingLocalized.dll
│ │ │ QuickTimeStreamingLocalized.qtr
│ │ │
│ │ ├─QuickTimeStreamingExtras.Resources
│ │ │ │ QuickTimeStreamingExtras.qtr
│ │ │ │
│ │ │ ├─en.lproj
│ │ │ │ QuickTimeStreamingExtrasLocalized.qtr
│ │ │ │
│ │ │ └─zh_CN.lproj
│ │ │ QuickTimeStreamingExtrasLocalized.qtr
│ │ │
│ │ ├─QuickTimeVR.Resources
│ │ │ │ QuickTimeVR.qtr
│ │ │ │
│ │ │ ├─en.lproj
│ │ │ │ QuickTimeVRLocalized.qtr
│ │ │ │
│ │ │ └─zh_CN.lproj
│ │ │ QuickTimeVRLocalized.qtr
│ │ │
│ │ └─QuickTimeWebHelper.Resources
│ │ │ QuickTimeWebHelper.dll
│ │ │ QuickTimeWebHelper.qtr
│ │ │
│ │ ├─en.lproj
│ │ │ QuickTimeWebHelperLocalized.dll
│ │ │ QuickTimeWebHelperLocalized.qtr
│ │ │
│ │ └─zh_CN.lproj
│ │ QuickTimeWebHelperLocalized.dll
│ │ QuickTimeWebHelperLocalized.qtr
│ │
│ ├─Real
│ │ ├─Codecs
│ │ │ 14_43260.dll
│ │ │ 28_83260.dll
│ │ │ atrc.dll
│ │ │ cook.dll
│ │ │ ddnt3260.dll
│ │ │ dnet3260.dll
│ │ │ drv1.dll
│ │ │ drv2.dll
│ │ │ drvc.dll
│ │ │ hxltcolor.dll
│ │ │ raac.dll
│ │ │ ralf.dll
│ │ │ rv10.dll
│ │ │ rv20.dll
│ │ │ rv30.dll
│ │ │ rv40.dll
│ │ │ sipr.dll
│ │ │
│ │ ├─Common
│ │ │ objb3201.dll
│ │ │ pnen3260.dll
│ │ │ pngu3267.dll
│ │ │ pnrs3260.dll
│ │ │ rppr3260.dll
│ │ │
│ │ ├─Plugins
│ │ │ │ audplin.dll
│ │ │ │ authmgr.dll
│ │ │ │ clbascauth.dll
│ │ │ │ clntxres.dll
│ │ │ │ fpsechnd.dll
│ │ │ │ httpfsys.dll
│ │ │ │ hxsdp.dll
│ │ │ │ hxxml.dll
│ │ │ │ imgrender.dll
│ │ │ │ memfsys.dll
│ │ │ │ mp3fformat.dll
│ │ │ │ mp3render.dll
│ │ │ │ mp4arender.dll
│ │ │ │ ntlmauth.dll
│ │ │ │ oggfformat.dll
│ │ │ │ pacplin.dll
│ │ │ │ plusplin.dll
│ │ │ │ pxcb3210.dll
│ │ │ │ ramfformat.dll
│ │ │ │ ramrender.dll
│ │ │ │ rarender.dll
│ │ │ │ rmfformat.dll
│ │ │ │ rmxfpln.dll
│ │ │ │ rmxrend.dll
│ │ │ │ rn5auth.dll
│ │ │ │ rtfformat.dll
│ │ │ │ rtrender.dll
│ │ │ │ rvrender.dll
│ │ │ │ sdpplin.dll
│ │ │ │ security.dll
│ │ │ │ smlfformat.dll
│ │ │ │ smlrender.dll
│ │ │ │ smmrender.dll
│ │ │ │ smplfsys.dll
│ │ │ │ stubdrm.dll
│ │ │ │ tfilesys.dll
│ │ │ │ vidplin.dll
│ │ │ │ vidsite.dll
│ │ │ │ vorbisrend.dll
│ │ │ │ vsrlocal.dll
│ │ │ │
│ │ │ └─ExtResources
│ │ │ coreres.xrs
│ │ │
│ │ └─rpplugins
│ │ │ embd3260.dll
│ │ │ rpcl3260.dll
│ │ │ rput3260.dll
│ │ │
│ │ └─cn
│ │ embed_cn.dll
│ │ rpclsvc_cn.dll
│ │
│ └─languages
│ ffdshow.1033.en
│ ffdshow.2052.sc
│
├─Skin
│ 暴风2经典.zip
│
├─$TEMP
│ │ HttpDownLoad.exe
│ │ LOGO.bmp
│ │ kcheck.dll
│ │
│ └─$PLUGINSDIR
│ System.dll
│
└─$R2
NSIS.Library.RegTool.v2.$[41].exe
结 论,但从文件名判断,安装包中涉及N多开源项目:XVID,ffmpeg,ffdshow,l3codec,MPC(暴风影音前身的祖宗),VP6(7) VFW,,,数不胜数,涵盖格式分离器,视频解码器,音频解码器.也就是俗称的解码包,详情见www.free-codecs.com; www.audiocoding.com;www.doom9.org...;
商业化暂且不谈,遗憾的是,OSS在这里被终结!
同样可以看到,ati的加速解码器dll也在其中,当然,流行的real和qt的解码包自然没有拉下,还有bik(游戏常见视频)的解码dll,来源与MPC项目.
据我所知,当以上的东西都凑到一起的时候,这个世界上不能被播放的视频恐怕只有那些四处流行的必须私有播放器才能播放的稀有格式了(比如xx大xx视频课程,etc,呵呵)
时间有限,仅仅从文件名进行了比较,大家有兴趣可以去作二进制分析啊.
(待续...) |