標籤:bsp 路徑配置 開源 nis ons dmi start 轉換 license
ffmpeg下載安裝和簡單應用
先介紹一下ffmpeg:FFmpeg是一個自由軟體,可以運行音頻和視頻多種格式的錄影、轉換、流功能,包含了libavcodec —這是一個用於多重專案中音頻和視頻的解碼器庫,以及libavformat——一個音頻與視頻格式轉換庫。
名字由來:"FFmpeg"這個單詞中的"FF"指的是"Fast Forward"[2]。有些新手寫信給"FFmpeg"的項目負責人,詢問FF是不是代表“Fast Free”或者“Fast Fourier”等意思,"FFmpeg"的項目負責人回信說“Just for the record, the original meaning of "FF" in FFmpeg is "Fast Forward"...”
一、ffmpeg下載
先到http://ffmpeg.org/下載ffmpeg安裝檔案
接著中間部分黑體字 Latest Zeranoe FFmpeg Build Version下面有系統標註,32位還是64位,並且都有三種版本,簡單介紹一下,都是我理解的想法,不太懂英文,大家見諒。
Static Versions是整合版,就是全都封裝在一個exe可執行檔裡了。
Shared Versions是共用版,這個是總的執行程式和一些lib庫檔案在一個檔案夾裡,應該是為了可以自訂庫吧,我猜的。
Dev Versions是開發版,裡面完全是指令碼,看樣子像Linux下的,這個真不懂。
大家按自己的系統位元建議選擇Static Versions整合版,只需要一個檔案ok了,乾淨方便。
二、ffmpeg安裝
a、解壓下載完的ffmpeg-20150407-git-c4b2017-win64-shared
解壓後,(doc檔案夾就是關於文檔,licenses是聲明,這個有個開源軟體協議,瞭解詳情請百度,presets檔案夾裡貌似是一些編碼的預設設定吧,我猜的,不懂,想瞭解還是百度吧,度娘真是萬能的)
b、將ffmpeg.exe的路徑配置到環境變數裡的Path裡
三、ffmpeg驗證
Alt+r,輸入cmd,在dos命令列輸入 ffmpeg
出現下列提示,即表示ffmpeg安裝成功
四、ffmpeg簡單應用
目前我是用來把錄製好的視頻轉換成圖片
ffmpeg.exe -i 路徑\待轉換的檔案名稱.mp4 -r 30 -s 640*480 轉換後儲存的路徑\檔案夾名/%d.jpg
ffmpeg.exe -i C:\Users\Administrator\Desktop\video\20150407_174405.mp4 -r 30 -s 640x480 C:\Users\Administrator\Desktop\video/%d.jpg
-i 是選擇被執行檔案
-r 30 是轉換後視頻的幀率,就是每秒的幀數
-s 640*480 是轉換後視屏的解析度
C#代碼實現
首先,得下載個“ffmpeg.exe” 外掛程式,然後把它放到你的項目中,如:
程式中會調用該檔案,以助於轉換音頻格式!
/// <summary> /// 音頻格式轉換 /// </summary> /// <param name="pathBefore">轉換前檔案路徑/檔案名稱</param> /// <param name="pathLater">轉換後檔案路徑/檔案名稱</param> /// <returns></returns> public string ConvertToMp3(string pathBefore, string pathLater) { //string pathBefore = MapPathFile("~/Attachment/AlertMessage/") + "20180309194843"; //string pathLater = MapPathFile("~/Attachment/AlertMessage/") + "20180309194855.mp3"; string c = MapPathFile("/Resources/ffmpeg/") + @"ffmpeg.exe -i " + pathBefore + " " + pathLater; string str = RunCmd(c); return str; } /// <summary> /// 執行Cmd命令 /// </summary> private string RunCmd(string c) { try { ProcessStartInfo info = new ProcessStartInfo("cmd.exe"); info.RedirectStandardOutput = false; info.UseShellExecute = false; Process p = Process.Start(info); p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.Start(); p.StandardInput.WriteLine(c); p.StandardInput.AutoFlush = true; Thread.Sleep(1000); p.StandardInput.WriteLine("exit"); p.WaitForExit(); string outStr = p.StandardOutput.ReadToEnd(); p.Close(); return outStr; } catch (Exception ex) { return "error" + ex.Message; } }
ffmpeg下載安裝和簡單應用(C#音頻格式轉換)