2015-10-04 18 views
35

雖然轉換flvmp4使用FFMPEG轉換它顯示像有消息稱以下錯誤「編碼器‘AAC’是實驗性的,但實驗性的編解碼器未啓用」

[aac @ 0x2b4b640] The encoder 'aac' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it. 
+0

如果你看到「實驗性」消息,那麼你的'ffmpeg'是舊的。 FFmpeg AAC編碼器不再是實驗性的,所以你不需要再使用'-strict experimental' /'-strict -2'。請參閱[FFmpeg Download](https://ffmpeg.org/download.html)頁面,獲取適用於Linux,macOS和Windows的鏈接。 – LordNeckbeard

回答

80

實際上它不是夠了-strict -2加到命令行。添加-strict -2非常重要,不幸的是這在錯誤消息中沒有解釋。它應該只是最後一個參數之前,也就是如下:

ffmpeg -i infile -strict -2 outfile 
+4

非常感謝,這些零字節文件(由於錯誤的標誌順序)讓我感到莫名其妙。 –

+0

我編碼視頻從mp4到hls,並不斷收到aac /嚴格2錯誤消息。 freeseek的答案是唯一有效的答案。 –

6

,原生的ffmpeg AAC音頻編碼器實驗並且您需要將-strict -2-strict experimental添加到您的命令中使用它。然而,這個編碼器不再被標記爲實驗,所以最近的ffmpeg版本不需要使用這個選項。

爲獲得最佳效果,請使用libfdk_aac。你需要用這個庫編譯ffmpeg,見compilation guide

要設置音頻編碼器,請使用-c:a libfdk_aac

+0

我試過....它顯示下面的錯誤 未知的編碼器'libfdk_aac' –

+1

@SandeepNambiar「你需要編譯ffmpeg與這個庫,請參閱[編譯指南](https://trac.ffmpeg.org/維基/ CompilationGuide/Centos的)。」此外,你應該接受這些答案之一; '未知編碼器'libfdk_aac'是一個與你的問題提出的問題不同的問題。 – LordNeckbeard

+0

在提出這樣的建議時,提及編解碼器不是GPL是一種很好的形式(基本上這意味着如果不付費就不能使用它)。見https://trac.ffmpeg.org/wiki/Encode/AAC –

-6

您的問題本身就會回答。 將-strict -2添加到它。這應該夠了

+1

正如@freeseek提到的那樣,這還不夠 - 放置'-strict -2'標誌的位置非常重要。 – coderMe

+0

我覺得這是顯而易見的,就像freeseek提到的,在輸出文件名之前 –

+1

如果很明顯,爲什麼最初的問題呢? – coderMe

0

嘗試以下命令:

ffmpeg -i Inputfile.flv -vcodec h264 -acodec aac -strict -2 Filename.mp4 

您可以使用此命令的任何類型的視頻文件轉換成MP4與X264和具有相同的質量。

我已經嘗試了很多方法,但這對我來說就像一個魅力。 ;)