.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/archive/2009/11/25/1610898.html
總結
以上是生活随笔為你收集整理的.NET代码混淆学习和解决视频批量转换中.wmv转换出错问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# 操作并口类,并口通信
- 下一篇: 为了方便大家下载四级资料,开通FTP