我正在尝试在 Ubuntu 14.04 中安装 FFMPEG。我得到了安装帮助 FFMPEG 安装与此同时,我收到了一个错误
`bash: ./configure: No such file or directory`
当我尝试运行此命令时出现此错误
./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --enable-gpl --enable-libass --enable-libfaac --enable-libfreetype --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
输出如下ls -la
:
m-usman@muhammad-usman:~/ffmpeg_sources/ffmpeg-0.9.2$ ls -la
drwxr-xr-x 16 m-usman m-usman 4096 Aug 6 14:25 .
drwxrwxr-x 10 m-usman m-usman 4096 Aug 6 14:38 ..
-rw-r--r-- 1 m-usman m-usman 162704 May 3 2012 avconv.c
-rw-r--r-- 1 m-usman m-usman 36942 May 3 2012 cmdutils.c
-rw-r--r-- 1 m-usman m-usman 1284 May 3 2012 cmdutils_common_opts.h
-rw-r--r-- 1 m-usman m-usman 11858 May 3 2012 cmdutils.h
-rw-r--r-- 1 m-usman m-usman 3275 May 3 2012 common.mak
-rw-rw-r-- 1 m-usman m-usman 421 Aug 6 14:34 config.fate
-rw-rw-r-- 1 m-usman m-usman 137030 Aug 6 14:34 config.log
-rwxr-xr-x 1 m-usman m-usman 114524 May 3 2012 configure
-rw-r--r-- 1 m-usman m-usman 18092 May 3 2012 COPYING.GPLv2
-rw-r--r-- 1 m-usman m-usman 35147 May 3 2012 COPYING.GPLv3
-rw-r--r-- 1 m-usman m-usman 26528 May 3 2012 COPYING.LGPLv2.1
-rw-r--r-- 1 m-usman m-usman 7651 May 3 2012 COPYING.LGPLv3
-rw-r--r-- 1 m-usman m-usman 1038 May 3 2012 CREDITS
drwxr-xr-x 3 m-usman m-usman 4096 May 3 2012 doc
-rw-r--r-- 1 m-usman m-usman 68481 May 3 2012 Doxyfile
-rw-r--r-- 1 m-usman m-usman 185387 May 3 2012 ffmpeg.c
-rw-r--r-- 1 m-usman m-usman 107664 May 3 2012 ffplay.c
drwxr-xr-x 2 m-usman m-usman 4096 May 3 2012 ffpresets
-rw-r--r-- 1 m-usman m-usman 41085 May 3 2012 ffprobe.c
-rw-r--r-- 1 m-usman m-usman 159009 May 3 2012 ffserver.c
-rw-r--r-- 1 m-usman m-usman 564 May 3 2012 INSTALL
drwxr-xr-x 13 m-usman m-usman 24576 May 3 2012 libavcodec
drwxr-xr-x 2 m-usman m-usman 4096 May 3 2012 libavdevice
drwxr-xr-x 4 m-usman m-usman 4096 May 3 2012 libavfilter
drwxr-xr-x 2 m-usman m-usman 12288 May 3 2012 libavformat
drwxr-xr-x 10 m-usman m-usman 4096 May 3 2012 libavutil
drwxr-xr-x 2 m-usman m-usman 4096 May 3 2012 libpostproc
drwxr-xr-x 2 m-usman m-usman 4096 May 3 2012 libswresample
drwxr-xr-x 7 m-usman m-usman 4096 May 3 2012 libswscale
-rw-r--r-- 1 m-usman m-usman 2005 May 3 2012 LICENSE
-rw-r--r-- 1 m-usman m-usman 19678 May 3 2012 MAINTAINERS
-rw-r--r-- 1 m-usman m-usman 4459 May 3 2012 Makefile
drwxr-xr-x 2 m-usman m-usman 4096 May 3 2012 mt-work
drwxr-xr-x 2 m-usman m-usman 4096 May 3 2012 presets
-rw-r--r-- 1 m-usman m-usman 164 May 3 2012 README
-rw-r--r-- 1 m-usman m-usman 6 May 3 2012 RELEASE
-rw-r--r-- 1 m-usman m-usman 3383 May 3 2012 subdir.mak
drwxr-xr-x 4 m-usman m-usman 4096 May 3 2012 tests
drwxr-xr-x 2 m-usman m-usman 4096 May 3 2012 tools
-rw-r--r-- 1 m-usman m-usman 6 May 3 2012 VERSION
-rwxr-xr-x 1 m-usman m-usman 1419 May 3 2012 version.sh
我该如何修复它?
答案1
权限看起来不错
-rwxr-xr-x 1 m-usman m-usman 114524 May 3 2012 configure
但有些东西阻止了它的执行。这种情况可能由多种原因造成,最常见的有:
建筑学不匹配。例如,我的 Bash shell 显示在此处:
$ file /bin/bash /bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x5bb332752cc304fa7fbb838bdf7d7766ffc7a8a1, stripped
无法在 RaspberryPi (ARM) 或任何 32 位 (x86) 系统上运行:
$ uname -a Linux raspberry 3.12.20 #1 PREEMPT Thu May 29 01:23:51 CEST 2014 armv6l GNU/Linux
这似乎不是问题,因为据我所记得,
configure
文件是 shell 脚本,但在其他情况下也可能如此,所以我认为指出这一点也很有用。安装选项阻止执行文件。您可以使用
mount
不带选项的命令来检查这一点。在下面的例子中,我可以运行~/executable.bin
但不能/run/shm/file.sh
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1593900k) /dev/sda5 on /home type ext4 (rw,nosuid,nodev,nodiratime,relatime,user_xattr,barrier=1,data=ordered,discard)
其他更高级的场景例如
3.1 SELinux 限制
同样,事实并非如此,输出
ls -l
将在权限列中显示一个点(-rwxr-xr-x.
)3.2 ulimit 约束
这不是你的问题,而且消息错误可能会有所不同(如果你认为这只会给答案增加噪音,请随意编辑帖子并删除此条目)。
PS:如果您也提供输出mount
,我们将检查选项#2。
答案2
您无需执行复杂的编译过程即可在 Ubuntu 中安装 FFMPEG。FFMPEG 的所有软件包均位于官方 Ubuntu 存储库中。
您可以将它们安装为:
sudo apt-get install ffmpeg ffmpeg-doc winff-doc winff-gtk2 checkinstall yasm texi2html libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev frei0r-plugins-dev libdc1394-22 libdc1394-22-dev libgsm1 libgsm1-dev libopenjpeg-dev libschroedinger-1.0-0 libschroedinger-dev libschroedinger-doc libspeex-dev libvdpau-dev vflib3-dev librtmp-dev libva-dev libjack-jackd2-dev libass4 libass-dev libmodplug1 libmodplug-dev libvo-aacenc0 libvo-aacenc-dev libvo-amrwbenc0 libvo-amrwbenc-dev libopenal1 libopenal-dev libavcodec-extra-53 libavdevice-extra-53 libavfilter-extra-2 libavformat-extra-53 libavutil-extra-51 libpostproc-extra-52 libswscale-extra-2 libx264-dev libx264-123 x264 libxvidcore4 winff
** 从列表中删除 14.04 不可用的软件包(将在安装中提及)