web-dev-qa-db-fra.com

"Le codeur 'aac' est expérimental mais les codecs expérimentaux ne sont pas activés"

Lors de la conversion de flv en mp4 à l'aide de FFMPEG, l'erreur suivante s'affiche

[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

En fait, il ne suffit pas de suffisant pour ajouter -strict -2 à la ligne de commande. Il est très important d’ajouter le -strict -2 et, malheureusement, cela n’est pas expliqué dans le message d’erreur. Ce devrait être juste avant le dernier argument, c'est-à-dire:

ffmpeg -i infile -strict -2 outfile
126
freeseek

Comme le message l'indique, l'encodeur audio ffmpeg AAC natif est expérimental et vous devez ajouter -strict -2 ou -strict experimental à votre commande pour l'utiliser. Cependant, cet encodeur n'étant plus marqué comme expérimental, les versions récentes de ffmpeg n'ont pas besoin d'utiliser cette option. 

Pour de meilleurs résultats, utilisez plutôt libfdk_aac. Vous devez compiler ffmpeg avec cette bibliothèque, voir le compilation guide .

Pour définir l'encodeur audio, utilisez -c:a libfdk_aac.

7
aergistal

Essayez la commande suivante:

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

Vous pouvez utiliser cette commande pour convertir tout type de fichier vidéo en MP4 avec x264 et avec la même qualité.

J'ai essayé tellement de façons mais cela a fonctionné pour moi comme un charme. ;)

1
Ravi Gohil

Vous pouvez ajouter le paramètre -strict experimental dans votre code C++ en définissant la variable codec-context strict_std_complaince sur -2 avant d'ouvrir le codec.

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

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

Voir le l'explication de l'auteur original ici } _.

0
Dumisani Kunene