.NET代码混淆学习和解决视频批量转换中.wmv转换出错问题
現(xiàn)在開始對自己一天的工作進(jìn)行一下大致總結(jié),上午主要是研究ArcGis API For Flex?1.3官方文檔和實例的學(xué)習(xí)啦,不管版本是1.2還是1.3,自己之前對ArcGis Flex API認(rèn)識比較膚淺。只是從官方例子上學(xué)習(xí)了一下,因為沒看文檔和實踐機(jī)會較少,所以走了很多彎路。捷徑是相對存在的,先閱讀官方文檔使我對ArcGis Flex API的使用更了解了。
???? 下午也是看了會文檔和實例,然后關(guān)注和學(xué)習(xí)了一下.NET程序的代碼混淆,主要是SpDevelop混淆器(.Net版)和VS自帶的混淆器Dotfuscator Community Edition(工具--->Dotfuscator Community Edition)。SpDevelop混淆軟件,對默認(rèn)public的成員或類是不被混淆的。Dotfuscator Community Edition功能比SpDevelop強(qiáng)大很多,大家使用可以參考它自帶的幫助文檔。
????? 再就是解決了視頻批量轉(zhuǎn)換中.wmv轉(zhuǎn)換出錯問題。
??????問題描述:ffmpeg.exe無法將.wmv格式文件轉(zhuǎn)換為flv,導(dǎo)出的文件大小為0。
??????問題原因:.wmv轉(zhuǎn)換出錯問題我在很久就提出要解決,為什么一直拖到今天呢?因為我后來用.wmv格式視頻測試我的視頻批量轉(zhuǎn)換工具,沒有出現(xiàn)問題,我上午查了一下,網(wǎng)上也說ffmpeg.exe支持WMA轉(zhuǎn)FLV。所以我以為轉(zhuǎn)換出錯是偶然現(xiàn)象。今天我又用新的.wmv格式測試,又出現(xiàn)錯誤!我又開始仔細(xì)查找資料,發(fā)現(xiàn)“wma9格式要用Mencoder.exe轉(zhuǎn)換”,wma9格式??!我震驚地發(fā)現(xiàn):原來.wma文件至少有兩種編碼方式,wmv9是新的編碼方式,ffmpeg.exe不支持該格式視頻。
????? 解決思路:(前期試驗階段前提出的)
????? 1.雖然都是.wmv視頻文件,但內(nèi)部編碼不同,能否先判斷出.wmv文檔格式,然后再決定采用FFMPEG還是mencoder轉(zhuǎn)換。
??????2.只要是.wmv視頻文件統(tǒng)統(tǒng)采用mencoder.exe來處理轉(zhuǎn)換。
????? 解決思路在實施中出現(xiàn)新的問題:
???????1.沒查到相關(guān)資料介紹如何判斷wma視頻的編碼,無法預(yù)先判斷編碼怎么辦?
???????2.wmv9編碼的視頻可以用MENCODER正常轉(zhuǎn)換,效果較好。但是.wmv原編碼方式視頻無法被正常轉(zhuǎn)換,數(shù)據(jù)量損失較大(縱使我提高采樣率也不行),導(dǎo)出的文件是原來的1/100,視頻質(zhì)量很差。.wmv原編碼方式可以用ffmpeg高效高質(zhì)量地轉(zhuǎn)為FLV。
??????提出新思路:(魚與熊掌兼得?!)
????? 首先將.wmv視頻文件統(tǒng)統(tǒng)先用ffmpeg.exe轉(zhuǎn)換,然后判斷轉(zhuǎn)換生成的文件是否存在和轉(zhuǎn)換生成的文件的大小是否為0,如果文件大小為0,則認(rèn)為ffmpeg.exe無法轉(zhuǎn)換,該文件采用了.wmv9編碼格式,最后采用mencoder.exe重新轉(zhuǎn)換一遍該文件。
???? ?經(jīng)過我測試,該思路被證明可行,效果較好!該思路的受網(wǎng)友文章http://blog.csdn.net/accpyy/archive/2009/03/13/3987069.aspx啟發(fā),再次表示感謝。
????? 歡迎網(wǎng)友提供新的更好的思路,或是知道“如何判斷wma視頻的編碼方式”,與我分享……
?
???????
轉(zhuǎn)載于:https://www.cnblogs.com/wuhenke/archive/2009/11/25/1610898.html
總結(jié)
以上是生活随笔為你收集整理的.NET代码混淆学习和解决视频批量转换中.wmv转换出错问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# 操作并口类,并口通信
- 下一篇: 为了方便大家下载四级资料,开通FTP