關(guān)于各種音頻&視頻解碼器的使用
一、開源?免費?怎么用啊…
ffmpeg, lame… 這些都是開源利器,最近在研究最新的音樂站,由于硬盤空間有限,再加上定位的需要,我們沒必要放音質(zhì)很高的音樂。
所以決定把用戶上傳的音樂壓縮一下。
老習(xí)慣 google一下:c# 音頻 轉(zhuǎn)換
結(jié)果發(fā)現(xiàn)毫無頭緒,后來才知道,原來最方便的方法是:調(diào)用ffmpeg,lame等開源利器!
這時候,問題來了,怎么用?
繼續(xù) google
還是毫無頭緒! 自己看文檔,卻一直出錯,悲劇啊~
相信很多朋友也遇到了類似的問題。
所以,本文給大家一些指導(dǎo)性的方法。不是告訴大家怎么用,而是告訴大家從哪里可以知道怎么用~
二、如何獲得幫助文檔
a) 最方便的當(dāng)然是google搜索一下啦~
中文文檔非常少!建議把搜索語言改成英文的,然后再去搜索
b) 直接調(diào)用,查看幫助
i. 先調(diào)用相應(yīng)的解碼器,它會提示怎么查看幫助,然后傳入相應(yīng)的參數(shù)即可

ii.但是好長啊,其實還可以把幫助輸出到文件

三、是否有捷徑?
上述方法依然很麻煩,特別是對相關(guān)知識不了解的朋友
那是否有捷徑?
答案是肯定的~ 這次不是google,而是另一個利器:MediaCoder
下載MediaCoder(免費、開源的視頻轉(zhuǎn)換利器)后,設(shè)置一下 選項—用戶界面模式—專家模式
這時候,我們發(fā)現(xiàn)了這個~

此時,我只需要在上面的圖形界面中調(diào)整相應(yīng)的參數(shù),就可以在這里看到自動生成的參數(shù)設(shè)置方法了~~
好方便!
四、C#中調(diào)用
C#中調(diào)用它們的方法和平時調(diào)用CMD差不多
list1
Process p = new Process();
p.StartInfo.FileName = "c:\\lame.exe";//這里用lame舉例子
p.StartInfo.Arguments = " --vbr-new -V 7 -b -B -q 2 --noreplaygain --add-id3v2 \"c:\\test.mp3\" \"c:\\test2.mp3\"";//這里是參數(shù)
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;//可能接受來自調(diào)用程序的輸入信息
p.StartInfo.RedirectStandardOutput = true;//由調(diào)用程序獲取輸出信息
p.StartInfo.CreateNoWindow = true;//不顯示程序窗口
p.Start();//啟動程序
p.WaitForExit();//如果想等待程序退出后再運行,就加上這條,如果不等待,直接繼續(xù)運行就不要這行了
但是有個問題還沒解決,就是怎么實時獲取轉(zhuǎn)換狀態(tài)~
望高手指點
感謝四樓這位朋友的提醒,關(guān)于控制臺輸出信息的截取,可以參考這篇文章:http://blog.csdn.net/jinjazz/archive/2008/05/07/2413039.aspx
歡迎轉(zhuǎn)載,演繹或用于商業(yè)目的,但是必須保留本文的署名Dozer


浙公網(wǎng)安備 33010602011771號