.NET代码混淆学习和解决视频批量转换中.wmv转换出错问题

  现在开始对自己一天的工作进行一下大致总结,上午主要是研究ArcGis API For Flex 1.3官方文档和实例的学习啦,不管版本是1.2还是1.3,自己之前对ArcGis Flex API认识比较肤浅。只是从官方例子上学习了一下,因为没看文档和实践机会较少,所以走了很多弯路。捷径是相对存在的,先阅读官方文档使我对ArcGis Flex API的使用更了解了。

     下午也是看了会文档和实例,然后关注和学习了一下.NET程序的代码混淆,主要是SpDevelop混淆器(.Net版)和VS自带的混淆器Dotfuscator Community Edition(工具--->Dotfuscator Community Edition)。SpDevelop混淆软件,对默认public的成员或类是不被混淆的。Dotfuscator Community Edition功能比SpDevelop强大很多,大家使用可以参考它自带的帮助文档。

      再就是解决了视频批量转换中.wmv转换出错问题。

      问题描述:ffmpeg.exe无法将.wmv格式文件转换为flv,导出的文件大小为0。

      问题原因:.wmv转换出错问题我在很久就提出要解决,为什么一直拖到今天呢?因为我后来用.wmv格式视频测试我的视频批量转换工具,没有出现问题,我上午查了一下,网上也说ffmpeg.exe支持WMA转FLV。所以我以为转换出错是偶然现象。今天我又用新的.wmv格式测试,又出现错误!我又开始仔细查找资料,发现“wma9格式要用Mencoder.exe转换”,wma9格式??!我震惊地发现:原来.wma文件至少有两种编码方式,wmv9是新的编码方式,ffmpeg.exe不支持该格式视频。

      解决思路:(前期试验阶段前提出的)

      1.虽然都是.wmv视频文件,但内部编码不同,能否先判断出.wmv文档格式,然后再决定采用FFMPEG还是mencoder转换。

      2.只要是.wmv视频文件统统采用mencoder.exe来处理转换。

      解决思路在实施中出现新的问题:

       1.没查到相关资料介绍如何判断wma视频的编码,无法预先判断编码怎么办?

       2.wmv9编码的视频可以用MENCODER正常转换,效果较好。但是.wmv原编码方式视频无法被正常转换,数据量损失较大(纵使我提高采样率也不行),导出的文件是原来的1/100,视频质量很差。.wmv原编码方式可以用ffmpeg高效高质量地转为FLV。

      提出新思路:(鱼与熊掌兼得?!)

      首先将.wmv视频文件统统先用ffmpeg.exe转换,然后判断转换生成的文件是否存在和转换生成的文件的大小是否为0,如果文件大小为0,则认为ffmpeg.exe无法转换,该文件采用了.wmv9编码格式,最后采用mencoder.exe重新转换一遍该文件。

      经过我测试,该思路被证明可行,效果较好!该思路的受网友文章http://blog.csdn.net/accpyy/archive/2009/03/13/3987069.aspx启发,再次表示感谢。

      欢迎网友提供新的更好的思路,或是知道“如何判断wma视频的编码方式”,与我分享……

       

原文地址:https://www.cnblogs.com/wuhenke/p/1610898.html