zoukankan      html  css  js  c++  java
  • .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视频的编码方式”,与我分享……

           

  • 相关阅读:
    源码阅读(18):Java中主要的Map结构——HashMap容器(中)
    源码阅读(17):红黑树在Java中的实现和应用
    java中创建文件并写入的方法
    源码阅读(16):Java中主要的Map结构——HashMap容器(上)
    源码阅读(15):Java中主要的Map结构——概述
    从源码分析:Java中的AQS
    源码阅读(14):Java中主要的Queue、Deque结构——PriorityQueue集合(下)
    源码阅读(13):Java中主要的Queue、Deque结构——PriorityQueue集合(中)
    java 归并排序与快速排序
    python中的容器、可迭代对象、迭代器、生成器
  • 原文地址:https://www.cnblogs.com/wuhenke/p/1610898.html
Copyright © 2011-2022 走看看