Проблема с ffmpeg в Ubuntu (libavcodec.so) - PullRequest
0 голосов
/ 06 июня 2010

Я запускаю Ubuntu и пытаюсь использовать оболочку ffmpeg в Java отсюда: http://code.google.com/p/javacv/

В других системах это работает нормально, но в Ubuntu происходит сбой проекта со следующей ошибкой: Исключение в потоке "main" java.lang.UnsatisfiedLinkError: Ошибка при поиске функция 'avcodec_decode_video2': /usr/lib/i686/cmov/libavcodec.so: неопределенный символ: avcodec_decode_video2

ffmpeg прекрасно работает из командной строки.

Автор JavaCV рекомендовал мне проверить эту ссылку: http://linux -tipps.blogspot.com / 2009/05 / притворяясь-пакет-это установленная-by.html

Возможно, я делаю что-то не так, но не могу переустановить libavcodec51 как это.

Итак, вопросы: 1. Это решение выше хорошего, поэтому я должен привести его к успеху каким-то образом? 2. Каковы другие способы решения проблемы?

Спасибо за ваши предложения заранее!

Ответы [ 2 ]

0 голосов
/ 07 декабря 2016

Способ 1 1. Сначала обновите ваш Flash плеер, если он просит вас обновить. Загрузите и извлеките Flash tar.gz. Откройте эту папку как root. Теперь введите следующую команду:

TGS install_flash_player_11_linux.x86_64 # cp -v libflashplayer.so / var / lib / mozilla / plugins / ‘Libflashplayer.so’ -> / /var/lib/mozilla/plugins/libflashplayer.so’

TGS install_flash_player_11_linux.x86_64 # cp -v libflashplayer.so / usr / lib / adobe-flashplugin / ‘Libflashplayer.so’ -> ‘/usr/lib/adobe-flashplugin/libflashplayer.so’

TGS install_flash_player_11_linux.x86_64 #

  1. Обновление libavcodec

milan @ TGS ~ $ sudo add-apt-repository ppa: kirillshkrogalev / ffmpeg-next

milan @ TGS ~ $ sudo apt-get update

milan @ TGS ~ $ sudo apt-get install ffmpeg

Метод 2

просто включите libavcodec в firefox: введите about: config в адресной строке, введите нажмите «Я принимаю на себя риск» поиска libavcodec изменить media.libavcodec.allow-устаревший; ложь на true

http://www.techyo.ga/2016/12/solved-libavcodev-may-be-vulnerable-or.html

0 голосов
/ 13 июля 2010

libavcodec создается с использованием связи C, но заголовок не помещает объявления вокруг оболочки extern "C" при сборке с C ++.Если оболочка Java Native Interface для libavcodec создается с помощью компилятора C ++, она будет определять функции, используя связь C ++.В этом случае ему нужно что-то вроде:

extern "C" {
#include <libavcodec.h>
}
...