FFmpeg avcodec_find_encoder проблема - PullRequest
       5

FFmpeg avcodec_find_encoder проблема

7 голосов
/ 17 января 2011

Я новичок в ffmpeg.

Моя проблема " avcodec_find_encoder (CODEC_ID_H264);"func всегда возвращает ноль.

Настройка ffmpeg приведена ниже в моей системе Ubuntu.

./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

, как видите, конфигурация содержит --enable-libx264

так что я думаю avcodec_find_encoder (CODEC_ID_H264);должен вернуть что-то не нуль ... пожалуйста, дайте мне знать, как решить эту проблему?

ps) Я вызываю avcodec_init () и av_register_all () в моей программе.

, когда я компилируюТестовая программа, используя ниже

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

спасибо

Ответы [ 3 ]

12 голосов
/ 13 ноября 2012

вызов avcodec_register_all() решил это за меня.

с использованием msvc10 поверх windows 7 с версией FFmpeg: 2012-11-05 git-c995644

1 голос
/ 22 октября 2011

После вашей настройки я обнаружил, что h264 не содержится во включенных кодировщиках ffmpeg, а содержится во включенных декодерах ffmpeg. Может быть, это причина, почему "avcodec_find_encoder (CODEC_ID_H264)" не работает. Это проводной.

0 голосов
/ 25 февраля 2012

Убедитесь, что были вызваны следующие 2 функции.

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

  /* register all the codecs */
  avcodec_register_all();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...