2015-06-17 3 views
0

Я пытаюсь декодировать H264 с помощью libavcodec на Linux Mint LMDE. Я установил ffmpeg, libavcodec-dev и libx264-dev, но кодек H264 по-прежнему не распознается библиотекой в ​​моей собственной программе.Linux Mint LMDE ffmpeg h264

Однако ffplay отлично работает на потоке h264.

Вот что я делаю:

avcodec_find_decoder(AV_CODEC_ID_H264); 

и возвращает NULL.

Почему он не находит кодек? Что я должен сделать, чтобы он работал?

Я бы предпочел не перекомпилировать libavcodec, потому что это означало бы, что мне пришлось бы связать его статически позже в моей программе.

Вот информация о версии FFmpeg:

FFmpeg -версия FFmpeg версии 2.1.1, построенный на 20 2013 8:04:32 ноября с GCC 4.8 (Debian 4.8.2-5) конфигурации: --prefix =/usr --extra-cflags = '- g -O2 -fstack-protector --param = ssp-buffer-size = 4 -Wformat -Werror = format-security' --extra-ldflags = '- Wl, -z, relro '--cc =' ccache cc '--enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex - -enable-nonfree - disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder = libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo -aacenc --disable-decoder = amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir =/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-libiec61883 --enable-libfdk-aac --enable-vaapi --enable-libdc1394 --disable-altivec --disable-armv5te --disable-armv6 --disable -vis --shlibdir =/usr/lib/x86_64-linux-gnu libavutil 52. 48.101/52. 48.101 libavcodec 55. 39.101/55. 39.101 libavformat 55. 19.104/55. 19.104 libavdevice 55. 5.100/55. 5.100 libavfilter 3 90.100/3. 90.100 libswscale 2. 5.101/2. 5.101 libswresample 0. 17.104/0. 17.104 libpostproc 52. 3,100/52. 3,100

ответ

0

Я просто случайно забыл назвать

avcodec_register_all(); 

Так конечно кодеком не найдет любой кодек доступен.

Смежные вопросы