欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ffmpeg一键安装

程序员文章站 2022-07-14 18:45:31
...

装前一言

很多时候安装一个软件,最头疼的就是各种依赖包,虽然有的可以通过yum或者apt-get可以解决部分依赖,但是安装的软件版本并不是我们想要的。手动安装各个依赖包,又得下载、配置、一堆问题,还得找各种好用的教程。就算按照教程来,还是会踩一堆坑,非常耗时间。

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。很多做视频方面的应用都会用到。所以,为了减少大家踩坑,所以自己将安装的过程汇总成命令,并附带依赖的包,一键安装,简单实用。安装的版本是ffmpeg-3.3.2,基本也够用了。

注意:此安装流程只在centos上实验过多次,并不能保证所有的平台都可用,还请使用的时候结合自己的平台进行微调。

安装

先附上下载地址:http://download.csdn.net/detail/mj641893086/9912170

使用比较简单,参数指定自己的一个安装目录就可以了,注意自己对这个目录的写权限,普通用户是不能到/usr/bin等下面的。

tar -zxvf ffmpeg_install.tar.gz

cd ffmpeg_install

sh ffmpeg_install.sh /your/install/dir

OK了!不出意外的话,耐心等待就可以了。最后如果看到下图,那么就证明你安装成功了。在此,如果想和其他系统命令一样使用ffmpeg的话,请执行下面两条命令,我没有给你export,没有修改你的~/.bashrc文件,最好放到~/.bashrc里面,以后就不用经常export了。

export PATH=/your/install/dir/bin:$PATH

export LD_LIBRARY_PATH=/your/install/dir/lib/:$LD_LIBRARY_PATH

ffmpeg一键安装

安装程序附上

程序比较简单,都是一些安装的过程,中间有几个小坑,踩过免得大家踩了。

#!/bin/bash

export LANG=C

if [ $# -lt 1 ]; then
    echo "usage: $0 <install_dir>"
    exit -1
fi

install_dir=$1 #need
tar_dir="./tar_dir"
cur_dir="`pwd`"

if [ ! -d $install_dir ]; then
    mkdir -p $install_dir
fi

if [ ! -d $tar_dir ]; then
    mkdir $tar_dir
fi

export LD_LIBRARY_PATH=$install_dir/lib/:$LD_LIBRARY_PATH

function minstall(){
    soft_prefix=$1
    soft_suffix=$2
    configure=""
    cd_dir=""
    if [ $# -ge 3 ]; then
        configure=$3
    fi
    echo "=============install "$soft_prefix"==============="
    if [ "$soft_suffix" == "tar.gz" ]; then
        tar -zxvf "$soft_prefix.$soft_suffix" -C $tar_dir
    elif [ "$soft_suffix" == "tar.bz2" ]; then
        tar -jxvf "$soft_prefix.$soft_suffix" -C $tar_dir
    fi
    if [ $# -eq 4 ]; then
        cd $tar_dir/$4
    else
        cd $tar_dir/$soft_prefix
    fi
    ./configure --prefix=$install_dir $configure
    make && make install
    cd $cur_dir
}

minstall "lame-3.99.5" "tar.gz" "--enable-shared"
minstall "libogg-1.1.3" "tar.gz"
minstall "libvorbis-1.3.3" "tar.gz" "--enable-shared"

echo "=============install xvidcore==============="
tar -zxvf xvidcore-1.3.2.tar.gz -C $tar_dir
cd $tar_dir/xvidcore-1.3.2/build/generic
./configure --prefix=$install_dir
make && make install
cd $cur_dir

minstall "last_x264" "tar.bz2" "--disable-asm --enable-shared" "x264-snapshot-20141105-2245"
minstall "libdca-0.0.5" "tar.bz2"
minstall "a52dec-0.7.4" "tar.gz"
minstall "faad2-2.7" "tar.gz"

echo "=============install faac==============="
tar -zxvf faac-1.28.tar.gz -C $tar_dir
cd $tar_dir/faac-1.28
mp4v2="common/mp4v2/mpeg4ip.h"
line_number=126
line_all=`cat $mp4v2 | wc -l`
let line_before=$line_number-1
let line_after=$line_all-$line_number
cat $mp4v2 | head -n $line_before > tmp.h
cat $mp4v2 | tail -n $line_after >> tmp.h
mv $mp4v2 $mp4v2".bak" -f
mv tmp.h $mp4v2 -f
./configure --prefix=$install_dir
make && make install
cd $cur_dir

minstall "amrnb-11.0.0.0" "tar.bz2"
minstall "amrwb-11.0.0.0" "tar.bz2"

cp lib/* $install_dir/lib/ -f
cp -r include/* $install_dir/include/ -f

minstall "ffmpeg-3.3.2" "tar.bz2" "--enable-libmp3lame \
                                   --enable-libvorbis \
                                   --enable-gpl \
                                   --enable-version3 \
                                   --enable-nonfree \
                                   --enable-pthreads \
                                   --enable-libopencore-amrnb \
                                   --enable-libopencore-amrwb \
                                   --enable-libx264 \
                                   --enable-libxvid \
                                   --enable-postproc \
                                   --enable-ffserver \
                                   --disable-yasm \
                                   --enable-ffplay \
                                   --extra-cflags=\"-I$install_dir/include\" \
                                   --extra-ldflags=\"-L$install_dir/lib\""

$install_dir/bin/ffmpeg

最后附一句比较喜欢的话:吃一堑,长一智。(否则安装很多次,每次还是很费工夫)