it-swarm.com.de

"Der Encoder 'aac' ist experimentell, aber experimentelle Codecs sind nicht aktiviert."

Während der Konvertierung von flv in mp4 mit FFMPEG wird der folgende Fehler angezeigt

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

Eigentlich ist es nicht genug , -strict -2 zur Kommandozeile hinzuzufügen. Es ist sehr wichtig, wo der -strict -2 hinzugefügt wird und dies wird in der Fehlermeldung leider nicht erläutert. Es sollte kurz vor dem letzten Argument sein, das heißt wie folgt:

ffmpeg -i infile -strict -2 outfile
126
freeseek

Wie in der Nachricht heißt, ist der native ffmpeg AAC-Audiocodierer experimentell und Sie müssen -strict -2 oder -strict experimental zu Ihrem Befehl hinzufügen. Dieser Encoder ist jedoch nicht mehr als experimentell gekennzeichnet, sodass aktuelle Builds von ffmpeg diese Option nicht benötigen. 

Für beste Ergebnisse verwenden Sie stattdessen libfdk_aac. Sie müssen ffmpeg mit dieser lib kompilieren, siehe compilation guide .

Um den Audio-Encoder einzustellen, verwenden Sie -c:a libfdk_aac.

7
aergistal

Versuchen Sie den folgenden Befehl:

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

Mit diesem Befehl können Sie jede Art von Videodatei mit x264 und derselben Qualität in mp4 konvertieren.

Ich habe so viele Möglichkeiten ausprobiert, aber das hat für mich wie ein Zauber funktioniert. ;)

1
Ravi Gohil

Sie können den -strict-Test in Ihrem C++ -Code hinzufügen, indem Sie die Codec-context strict_std_complaince-Variable auf -2 setzen, bevor Sie den Codec öffnen.

AVCodecContext *c;
c->strict_std_compliance = -2;

/* open it */
ret = avcodec_open2(c, codec, NULL);

Siehe die Originalerklärung des Autors hier .

0
Dumisani Kunene