ffmpeg一键安装

装前一言

很多时候安装一个软件,最头疼的就是各种依赖包,虽然有的可以通过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

结果

安装程序附上

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

#!/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

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值