Конфликт между ffmpeg и mplayer

Я давно занимаюсь этим вопросом. Я собрал исправленную версию ffmpeg, предложенную этой компанией .

Проблема возникает всякий раз, когда я устанавливаю mplayer через apt-get. Перед установкой ffmpeg работает без проблем, здесь я приведу обычный вывод ffmpeg с некоторыми деталями компиляции:

FFmpeg version git-N-28463-gc5dcb3d, Copyright (c) 2000-2011 the FFmpeg developers
  built on Mar  1 2012 17:09:15 with gcc 4.5.2
  configuration: --enable-libfmp4 --enable-nonfree --enable-librtmp --enable-libx264 --enable-gpl --enable-version3 --enable-postproc --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libxvid --enable-x11grab --enable-swscale --enable-shared
  libavutil    50. 39. 0 / 50. 39. 0
  libavcodec   52.114. 0 / 52.114. 0
  libavformat  52.103. 0 / 52.103. 0
  libavdevice  52.  3. 0 / 52.  3. 0
  libavfilter   1. 76. 0 /  1. 76. 0
  libswscale    0. 12. 0 /  0. 12. 0
  libpostproc  51.  2. 0 / 51.  2. 0
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

Теперь, если я установлю mplayer:

$ sudo apt-get install mplayer
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libtorque2 libgdcm2.0 libxcb-keysyms1 libopenmpi1.3 libgl2ps0 libcddb2 libdvbpsi6 libupnp3 libxcb-randr0 libiso9660-7 libnuma1 libibverbs1 libtar
  libvcdinfo0 libebml3 libmatroska3 libsdl-image1.2
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  libavcodec52 libavformat52 libavutil50 libpostproc51 libswscale0
Suggested packages:
  mplayer-doc netselect fping
The following NEW packages will be installed:
  libavcodec52 libavformat52 libavutil50 libpostproc51 libswscale0 mplayer
0 upgraded, 6 newly installed, 0 to remove and 45 not upgraded.
Need to get 0 B/8,592 kB of archives.
After this operation, 19.0 MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Selecting previously deselected package libavutil50.
(Reading database ... 229546 files and directories currently installed.)
Unpacking libavutil50 (from .../libavutil50_4%3a0.6.4-0ubuntu0.11.04.1_i386.deb) ...
Selecting previously deselected package libavcodec52.
Unpacking libavcodec52 (from .../libavcodec52_4%3a0.6.4-0ubuntu0.11.04.1_i386.deb) ...
Selecting previously deselected package libavformat52.
Unpacking libavformat52 (from .../libavformat52_4%3a0.6.4-0ubuntu0.11.04.1_i386.deb) ...
Selecting previously deselected package libpostproc51.
Unpacking libpostproc51 (from .../libpostproc51_4%3a0.6.4-0ubuntu0.11.04.1_i386.deb) ...
Selecting previously deselected package libswscale0.
Unpacking libswscale0 (from .../libswscale0_4%3a0.6.4-0ubuntu0.11.04.1_i386.deb) ...
Selecting previously deselected package mplayer.
Unpacking mplayer (from .../mplayer_2%3a1.0~rc4.dfsg1-1ubuntu3_i386.deb) ...
Processing triggers for man-db ...
Setting up libavutil50 (4:0.6.4-0ubuntu0.11.04.1) ...
Setting up libavcodec52 (4:0.6.4-0ubuntu0.11.04.1) ...
Setting up libavformat52 (4:0.6.4-0ubuntu0.11.04.1) ...
Setting up libpostproc51 (4:0.6.4-0ubuntu0.11.04.1) ...
Setting up libswscale0 (4:0.6.4-0ubuntu0.11.04.1) ...
Setting up mplayer (2:1.0~rc4.dfsg1-1ubuntu3) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place

Mplayer сейчас установлен правильно, но вызывая исполняемый файл ffmpeg, я теперь получаю:

ffmpeg
ffmpeg: relocation error: /usr/local/lib/libavfilter.so.1: symbol av_expr_free, version LIBAVUTIL_50 not defined in file libavutil.so.50 with link time reference

Поискивая вокруг, я обнаружил, что удаление некоторых библиотек решает проблему, поэтому я делаю:

$ sudo apt-get purge libavutil-dev libavutil50 libavutil-extra-50
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libavutil-dev is not installed, so not removed
Package libavutil-extra-50 is not installed, so not removed
The following packages were automatically installed and are no longer required:
  libopenal1 libtorque2 libgdcm2.0 libxcb-keysyms1 libbluray0 libsvga1 libopenmpi1.3 libgl2ps0 libcddb2 libdvbpsi6 libupnp3 liblzo2-2 libxcb-randr0
  libiso9660-7 libnuma1 libibverbs1 libtar libvcdinfo0 libebml3 libmatroska3 libsdl-image1.2
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  libavcodec52* libavformat52* libavutil50* libpostproc51* libswscale0* mplayer*
0 upgraded, 0 newly installed, 6 to remove and 45 not upgraded.
After this operation, 19.0 MB disk space will be freed.
Do you want to continue [Y/n]? Y
(Reading database ... 229649 files and directories currently installed.)
Removing mplayer ...
Purging configuration files for mplayer ...
Removing libavformat52 ...
Purging configuration files for libavformat52 ...
Removing libavcodec52 ...
Purging configuration files for libavcodec52 ...
Removing libswscale0 ...
Purging configuration files for libswscale0 ...
Removing libpostproc51 ...
Purging configuration files for libpostproc51 ...
Removing libavutil50 ...
Purging configuration files for libavutil50 ...
Processing triggers for man-db ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place

Но, конечно, это удаляет mplayer. Так что мне кажется, что мне нужно выбрать один из них, и мне действительно нужно работать с обоими инструментами. Это можно обойти? Может кто-нибудь объяснить мне проблему?

Заранее спасибо

Нельсон Р. Перес

0
задан 2 March 2012 в 02:00

1 ответ

Вы пытались сначала установить mplayer, а затем ffmpeg? похоже, что mplayer использует другую версию разделяемой библиотеки, нежели ffmpeg, возможно, что умные парни, которые установили эти зависимости, уже с этим разобрались!

если не получится, сначала я установлю ваш mplayer, а затем соберу ffmpeg из источника, чтобы убедиться, что они оба работают.

0
ответ дан 2 March 2012 в 02:00

Другие вопросы по тегам:

Похожие вопросы: