ffmpeg: error while loading shared libraries: libavdevice.so.54: cannot open shared object file: No such file or directory

Posted in Новости on 12 марта, 2013 by admin


echo "include /usr/local/lib/" >> /etc/ld.so.conf
ldconfig

Tags: ,

ERROR: libvo_aacenc not found ffmpeg Debian

Posted in Новости on 13 декабря, 2012 by admin

Качаем исходники :

wget http://sourceforge.net/projects/opencore-amr/files/vo-aacenc/vo-aacenc-0.1.1.tar.gz

Ставим :

tar zxvf vo-aacenc-0.1.1.tar.gz
cd vo-aacenc-0.1.1
./configure
make
make install
checkinstall --pakdir "$HOME" --pkgname vo-aacenc --pkgversion 0.1.1 --backup=no --default && sudo ldconfig
dpkg -i /root/vo-aacenc_0.1.1-1_amd64.deb

Tags: ,

error implicit declaration of function lame_set_VBR_quality

Posted in Новости on 16 марта, 2012 by admin

Вот такая ошибка возникла при пересборке ffmpeg c mp3 кодеком libmp3lame :

libavcodec/libmp3lame.c: In function ‘MP3lame_encode_init’:
libavcodec/libmp3lame.c:75: error: implicit declaration of function ‘lame_set_VBR_quality’
make: *** [libavcodec/libmp3lame.o]

Эта ошибка возникает вследствие того, что некорректно был подключен lame компонент при компиляции. Смотрим в libavcodec/libmp3lame.c :

#include

На самом деле каталога lame и тем более, заголовочного файла у нас нет.
Фикс :

Качаем исходники lame
apt-get source lame

Переименовываем и приводим к корректному для ffmepg виду
mv lame-* lame
mv lame ffmpeg
cd ffmpeg/lame
ln -s include/lame.h lame.h

Теперь ffmpeg соберется без ошибки.

Tags:

FFmpeg watermark libavfilter

Posted in Новости on 5 октября, 2011 by admin

Ранее поддержка осуществлялась через vhook — эту опцию отключили очень давно, далее поддержка осуществлялась при подключении avfilter-lavf — эту опцию испортили и обещают вернуть уже очень давно, но ребята, поддерживающие libavfilter собрали свой ffmpeg . В подавляющем большинстве манов в интернете указано, что при сборке нужен флаг —enable-avfilter-lavf , но в данной ситуации он не нужен, так как опция активирована дефолтно.

Итак ставим :

cd /usr/src/
svn checkout svn://svn.ffmpeg.org/soc/libavfilter libavfilter
cd libavfilter
./checkout.sh
cd ffmpeg
./configure —enable-avfilter —enable-avfilter=movie
make
make install
На выходе будем иметь ffmpeg , поддерживающий ватермарк.

Корректная команда для наложения ватермарка :

ffmpeg -i INPUT_FILE_THAT_DONT_HAVE_WATERMARK -acodec copy -vf «movie=0:png:WATERMARK.PNG [logo]; [in][logo] overlay=W-w-5:H-20-0 [out]» OUTPUT_FILE_THAT_HAVE_WATERMARK

Tags:

Отключаем swscale в ffmpeg

Posted in Новости on 28 сентября, 2011 by admin

Патч — http://tresnet.ru/sw/patches/ffmpeg_disable_swscale-r26402.patch

В новых чекаутах ffmpeg появились опции :

—disable-swscale disable libswscale build
—disable-swscale-alpha disable alpha channel support in swscale

Но они не работают в должном объеме, так как при использовании опции собираются все бинарники , кроме ffmpeg ( в исходники жестко вшиты либы, необходимые для работы ).

Наша задача — почистить исходники от этой либы, чтобы ffmpeg даже не знал о ее существовании.
Итак, начнем :

Качаем через svn checkout ffmpeg

cd /usr/src/

svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg

Pедактируем configure

nano configure

— swscale

— swscale_alpha

— scale_filter_deps=»swscale»

— ffmpeg_deps=»avcodec avformat swscale»
+ ffmpeg_deps=»avcodec avformat

— ffplay_deps=»avcodec avformat swscale sdl»
+ ffplay_deps=»avcodec avformat sdl»

— enable swscale
— enable swscale_alpha

— libswscale

— libswscale/$arch

— libswscale/Makefile

— get_version LIBSWSCALE libswscale/swscale.h

— pkgconfig_generate libswscale «FFmpeg image rescaling library» «$LIBSWSCALE_VERSION» «» «libavutil = $LIBAVUTIL_VERSION»

— check_ldflags '-Wl,-rpath-link,\$(BUILD_ROOT)/libpostproc -Wl,-rpath-link,\$(BUILD_ROOT)/libswscale -Wl,-rpath-link,\$(BUILD_ROOT)/libavfilter -Wl,-rpath-link,\$(BUILD_ROOT)/libavdevice -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavcore -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil'
+ check_ldflags '-Wl,-rpath-link,\$(BUILD_ROOT)/libpostproc -Wl,-rpath-link,\$(BUILD_ROOT)/libavfilter -Wl,-rpath-link,\$(BUILD_ROOT)/libavdevice -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavcore -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil'

Pедактируем ffmpeg.c

nano ffmpeg.c

— static unsigned int sws_flags = SWS_BICUBIC;

— sws_freeContext(ost->img_resample_ctx);

Pедактируем cmdutils.c

nano cmdutils.c

— PRINT_LIB_INFO(outstream, swscale, SWSCALE, flags);

Pедактируем ffmpeg/libavfilter/vf_scale.c

nano ffmpeg/libavfilter/vf_scale.c

— scale->sws = sws_getContext(inlink ->w, inlink ->h, inlink ->format,
— outlink->w, outlink->h, outlink->format,
— scale->flags, NULL, NULL, NULL);

— out_h = sws_scale(scale->sws, data, cur_pic->linesize, y, h,
— link->dst->outputs[0]->out_buf->data,
— link->dst->outputs[0]->out_buf->linesize);

— if ( sws_isSupportedInput(pix_fmt)
— && (ret = avfilter_add_format(&formats, pix_fmt)) < 0) { - avfilter_formats_unref(&formats); - return ret; - } - if ( sws_isSupportedOutput(pix_fmt) - && (ret = avfilter_add_format(&formats, pix_fmt)) < 0) { - avfilter_formats_unref(&formats); - return ret; - } - sws_freeContext(scale->sws);
— scale->sws = NULL;

Собираем исходники и ставим ffmpeg на сервер :

./configure
make
make install

Вуаля :

server:/usr/src/ffmpeg# ffmpeg
FFmpeg version SVN-r26402, Copyright (c) 2000-2011 the FFmpeg developers
built on Sep 28 2011 12:27:14 with gcc 4.3.2
configuration:
libavutil 50.36. 0 / 50.36. 0
libavcore 0.16. 1 / 0.16. 1
libavcodec 52.108. 0 / 52.108. 0
libavformat 52.93. 0 / 52.93. 0
libavdevice 52. 2. 3 / 52. 2. 3
libavfilter 1.74. 0 / 1.74. 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'

Tags: