官网是:http://ffmpeg.org/
/configure --enable-shared --prefix=/usr/local/ffmpeg
make
make install
如果出现 yasm/nasm not found or too old.
/configure --enable-shared --prefix=/usr/local/ffmpeg --disable-yasm
ffmpeg -f avfoundation -i 1 -r 30 out.yuv
ffmpeg -f avfoundation -list_devices true -i ""
问题:
ffmpeg: error while loading shared libraries: libavdevice.so.57: cannot open shared object file: No such file or directory
adminn@ubuntu:/usr/local/lib$ sudo vi /etc/ld.so.conf
修改如下
include ld.so.conf.d/*.conf
/usr/local/ffmpeg/lib
adminn@ubuntu:/usr/local/lib$sudo ldconfig
Unknown input format: 'avfoundation'
If I change the ./configure like so:
./configure --cc=/usr/bin/clang --prefix=/usr/local --enable-gpl --enable-nonfree --enable-libass --enable-libx264 --enable-indev=avfoundation
make && sudo make install
and then run:
./ffmpeg -f avfoundation -i "0:0" ~/Desktop/screenout.mpg
ffmpeg_log.c:2:27: 致命错误:libavutil/log.h:没有那个文件或目录
两种情况,如果你只是想加上某库的pkg,则选择下面其一:
export PKG_CONFIG_PATH=/usr/lib/pkgconfig/
或者
export PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig/
在~/.bashrc中添加
echo $PKG_CONFIG_PATH
之后 pkg-config --libs libavutil
pkg-config --libs libavformat
-L/usr/local/ffmpeg//lib -lavformat
gcc test.c -o test `pkg-config --libs libavformat`
可能需要的话
gcc test.c -o test `pkg-config --libs libavformat` -I /usr/local/ffmpeg/include/
还是不行的话,需要以下操作:
比如我们安装 A 这个库, 执行 ./configure的时候提示要先安装 B 这个库。
我们下载了B这个库, 并安装后, 我们在B的源码路径下执行 find ./ -name "*.pc" 找到的文件一般为B.pc,
然后我们把B.pc这个文件复制到操作系统的pkgconfig目录:
32为系统的pkgconfig目录为 /usr/lib/pkgconfig/
64为系统的pkgconfig目录为 /usr/lib64/pkgconfig/
cp B.pc /usr/lib64/pkgconfig/
然后在执行 A这个库的 ./configure 脚本就可以解决该问题。
MODULE_NAME=test
LIBS_NAME=avformat
LIBS_MODULE=lib$(LIBS_NAME)
INCLUDE_FILE=/usr/local/ffmpeg/include/
LIBS_FILE=/usr/local/ffmpeg/lib/
PKG_CONFIG= `pkg-config --libs $(LIBS_MODULE)`
all:
#gcc $(MODULE_NAME).c -o $(MODULE_NAME) `pkg-config --libs $(LIBS_MODULE)` -I$(INCLUDE_FILE)
gcc $(MODULE_NAME).c -o $(MODULE_NAME) -L$(LIBS_FILE) -l$(LIBS_NAME) -I$(INCLUDE_FILE)
clean:
rm -rf $(MODULE_NAME)
本文档详细介绍了在Linux系统中安装FFmpeg时遇到的问题,包括找不到yasm/nasm、共享库加载错误、输入格式不识别及编译依赖问题。通过调整配置参数、更新ld.so.conf、设置PKG_CONFIG_PATH和PKG_CONFIG_LIBDIR,以及处理库依赖问题,提供了解决这些问题的步骤和方法。
17万+

被折叠的 条评论
为什么被折叠?



