2011-01-17 8 views
4

Ich bin ein Neuling in ffmpeg.FFmpeg avcodec_find_encoder Problem

mein Problem ist "avcodec_find_encoder (CODEC_ID_H264);" func gibt immer null zurück.

ffmpeg konfigurieren ist unten auf meinem ubuntu System.

./ffmpeg 
FFmpeg version SVN-r26306, Copyright (c) 2000-2011 the FFmpeg developers 
    built on Jan 11 2011 10:34:49 with gcc 4.4.5 
    configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab 
    libavutil  50.36. 0/50.36. 0 
    libavcore  0.16. 0/0.16. 0 
    libavcodec 52.108. 0/52.108. 0 
    libavformat 52.92. 0/52.92. 0 
    libavdevice 52. 2. 3/52. 2. 3 
    libavfilter 1.72. 0/1.72. 0 
    libswscale  0.12. 0/0.12. 0 
    libpostproc 51. 2. 0/51. 2. 0 

wie Sie sehen können, Konfiguration enthält --enable-libx264

so denke ich, avcodec_find_encoder (CODEC_ID_H264); muss etwas nicht null zurückgeben ... bitte lassen Sie mich wissen, wie Sie dieses Problem lösen?

ps) Ich rufe avcodec_init() und av_register_all() in meinem Programm auf.

, wenn ich mein Testprogramm zu kompilieren, unter Verwendung von

gcc -o test test.c -lavutil -lavformat -lavcodec -lx264 -lz -lm 

dank

Antwort

1

nach dem configure finde ich, dass h264 nicht in dem den aktivierten Encoder ffmpeg enthalten ist, während es in dem enthalten ist aktivierte Decoder von ffmpeg. Vielleicht ist das der Grund, warum "avcodec_find_encoder (CODEC_ID_H264)" nicht funktioniert. Es ist verkabelt.

+0

Aktiviert Geber: libx264 , die von meinem configure ist - und der Geber noch nicht gefunden wird. –

0

Stellen Sie sicher, dass die folgenden 2 Funktionen aufgerufen wurden.

/* must be called before using avcodec lib */ 
    avcodec_init(); 

    /* register all the codecs */ 
    avcodec_register_all(); 
9

Aufruf avcodec_register_all() löste es für mich.

mit msvc10 über Windows 7 mit FFmpeg-Version: 2012.11.05 git-c995644

+0

FFmpeg version: 2012-11-05 git-c995644 – marksman171