2011-11-10 154 views
10

我是ffmpeg的新手,我試圖找出如何將音頻或視頻文件從一種格式轉換爲另一種格式。我不想使用CLI,我只想知道如果我可以使用ffmpeg作爲庫並調用一個函數將文件從一種格式轉換爲另一種格式。我通過了文檔,發現功能avcodec_encode_audioavcodec_encode_video,但它不清楚我可以如何使用它來轉換。教程或示例將非常有幫助。使用ffmpeg將文件從一種格式轉換爲另一種格式

回答

9

通常我通過命令行爲此

ffmpeg -i input.mp4 -vcodec copy -acodec copy out.mkv 

這裏I/P文件是input.mp4將被轉換成out.mkv與具有所有基本流

注的相同的編解碼:上面的命令只在input.mp4的所有編解碼器被.mkv容器支持時才起作用。

,如果你不與編解碼器的關注,然後使用

ffmpeg -i input.mp4 out.mkv 

這將MP4轉換爲MKV(如果必要的話,也將改變輸出格式的編解碼器)

+3

這是'CLI'命令行界面轉換方式;)我打算在可能的情況下從我的程序中調用'ffmpeg'庫中定義的函數。 – Pannu

+0

嘿人好的答案..但是我不知道如何解決這個編解碼器thingie ..通常我不指定編解碼器格式(即我只是'ffmpeg -i inputFile outputFile',但現在我轉換從mp4到mp3 ..我得到這個錯誤:'編碼器(編解碼器無)沒有找到輸出流#0:0' ..看到完整的命令和錯誤日誌[這裏](https://gist.github.com/abbood/7702597) – abbood

+0

@abbood謝謝。..它已經2年了,因爲我已經在ffmpeg上工作了,所以現在還不知道詳細情況,但似乎你的outputFile的容器格式支持編解碼器的編碼器庫沒有安裝或不支持你的ffmpeg需要安裝它,或者提供支持的編解碼器名稱來通過CLI編碼流 –

相關問題