ffmpeg 安装

    
    
    ./configure --prefix="/var/ffmpeg-sources/ffmpeg_build" --bindir="/var/ffmpeg-sources/bin"
    
    make && make install
    
    
    PKG_CONFIG_PATH="/var/ffmpeg_build/lib/pkgconfig" ./configure --prefix="/var/ffmpeg_build" --bindir="/var/bin" --enable-static
    
    
    curl -O -L https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/nasm-2.13.03.tar.gz
    tar xzvf nasm-2.13.03.tar.gz
    cd nasm-2.13.03
    ./configure && make && make install
    
    ./configure --prefix="/var/ffmpeg_build" --bindir="/var/ffmpeg_build/bin" --disable-shared --enable-nasm
    
    PATH="/var/ffmpeg_build/bin:$PATH" PKG_CONFIG_PATH="/var/ffmpeg_build/lib/pkgconfig" ./configure \
      --prefix="/var/ffmpeg_build" \
      --pkg-config-flags="--static" \
      --extra-cflags="-I/var/ffmpeg_build/include" \
      --extra-ldflags="-L/var/ffmpeg_build/lib" \
      --extra-libs=-lpthread \
      --extra-libs=-lm \
      --bindir="/var/ffmpeg_build/bin" \
      --enable-gpl \
      --enable-libfdk_aac \
      --enable-libfreetype \
      --enable-libmp3lame \
      --enable-libx264 \
      --enable-nonfree
    
    
    
    
    
    
     1011  mdir /var/ffmpeg-sources
     1012  mkdir /var/ffmpeg-sources
     1013  cd /var/ffmpeg-sources/
     1014  yum install autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c ++ git libtool make mercurial pkgconfig zlib-devel
     1015  curl -O -L https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2
     1016  tar xjvf nasm-2.14.02.tar.bz2
     1017  cd nasm-2.14.02
     1018  ./autogen.sh
     1019  ls ~
     1020  ./configure --prefix="/var/ffmpeg_build" --bindir="/var/ffmpeg_build/bin"
     1021  make
     1022  make install
     1023  cd ../
     1024  curl -O -L https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
     1025  tar xzvf yasm-1.3.0.tar.gz && cd yasm-1.3.0
     1027  ./configure --prefix="/var/ffmpeg_build" --bindir="/var/ffmpeg_build/bin"
     1028  make && make install
     1030  cd ..
     1031  git clone --depth 1 https://code.videolan.org/videolan/x264.git
     1032  cd x264
     1033  PKG_CONFIG_PATH="/var/ffmpeg_build/lib/pkgconfig" ./configure --prefix="/var/ffmpeg_build" --bindir="/var/bin" --enable-static
     1034  yum remove nasm && hash -d nasm
     1035  PKG_CONFIG_PATH="/var/ffmpeg_build/lib/pkgconfig" ./configure --prefix="/var/ffmpeg_build" --bindir="/var/bin" --enable-static
     1036  cd ..
     1037  curl -O -L https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/nasm-2.13.03.tar.gz
     1038  tar xzvf nasm-2.13.03.tar.gz
     1039  cd nasm-2.13.03
     1040  ./configure && make && make install
     1041  cd x264
     1042  cd ../
     1043  cd x264
     1044  PKG_CONFIG_PATH="/var/ffmpeg_build/lib/pkgconfig" ./configure --prefix="/var/ffmpeg_build" --bindir="/var/bin" --enable-static
     1045  nasm -v
     1046  /usr/local/bin/nasm -v
     1047  /usr/local/bin/nasm -v
     1048  echo $PATH
     1049  export PATH=/usr/local/bin/:$PATH
     1050  echo $PATH
     1051  PKG_CONFIG_PATH="/var/ffmpeg_build/lib/pkgconfig" ./configure --prefix="/var/ffmpeg_build" --bindir="/var/bin" --enable-static
     1052  make && make install
     1053  cd ..
     1054  git clone --depth 1 https://github.com/mstorsjo/fdk-aac
     1055  cd fdk-aac
     1056  autoreconf -fiv
     1057  ./configure --prefix="/var/ffmpeg_build" --disable-shared
     1058  make && make install
     1059  cd ..
     1060    curl -O -L https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz   
     1061   
     1062  cd lame-3.100
     1063  ./configure --prefix="/var/ffmpeg_build" --bindir="/var/ffmpeg_build/bin" --disable-shared --enable-nasm
     1064  make && make install
     1065  cd ..
     1066  curl -O -L https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
     1067  tar xjvf ffmpeg-snapshot.tar.bz2
     1068  cd ffmpeg
     1069  PATH="/var/ffmpeg_build/bin:$PATH" PKG_CONFIG_PATH="/var/ffmpeg_build/lib/pkgconfig" ./configure   --prefix="/var/ffmpeg_build"   --pkg-config-flags="--static"   --extra-cflags="-I/var/ffmpeg_build/include"   --extra-ldflags="-L/var/ffmpeg_build/lib"   --extra-libs=-lpthread   --extra-libs=-lm   --bindir="/var/ffmpeg_build/bin"   --enable-gpl   --enable-libfdk_aac   --enable-libfreetype   --enable-libmp3lame   --enable-libx264   --enable-libx265   --enable-nonfree
     1070  history
     1071  PATH="/var/ffmpeg_build/bin:$PATH" PKG_CONFIG_PATH="/var/ffmpeg_build/lib/pkgconfig" ./configure   --prefix="/var/ffmpeg_build"   --pkg-config-flags="--static"   --extra-cflags="-I/var/ffmpeg_build/include"   --extra-ldflags="-L/var/ffmpeg_build/lib"   --extra-libs=-lpthread   --extra-libs=-lm   --bindir="/var/ffmpeg_build/bin"   --enable-gpl   --enable-libfdk_aac   --enable-libfreetype   --enable-libmp3lame   --enable-libx264   --enable-nonfree
     1072  make && make install
    

    命令列表

    // 切割
    
    
    // 裁剪
    ffmpeg -i 4.ts -vf crop=308:544 -y 4_c.ts
    
    
    // 缩放
    
    ffmpeg -i 3.mp4 -s 544:960 -y 3_s.mp4
    // 或
    ffmpeg -i 2.mp4 -vf scale=320:200 -y 2_ss.mp4
    
    
    ffmpeg -i 4_c.ts -s 544:960 -y 4_s.ts
    
    // 合并
    ffmpeg -i "concat:2222_0_51723_cut.ts|4_s.ts" -acodec copy -vcodec copy -absf aac_adtstoasc out.mp4
    
    
    
    
    
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1.mp4':
      Metadata:
        major_brand     : mp42
        minor_version   : 0
        compatible_brands: mp42isom
        creation_time   : 2020-03-01T03:10:08.000000Z
      Duration: 00:01:41.71, start: 0.000000, bitrate: 1200 kb/s
        Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
        Metadata:
          creation_time   : 2020-03-01T03:10:08.000000Z
        Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 544x960, 1066 kb/s, 28.92 fps, 28.92 tbr, 90k
    tbn, 59.21 tbc (default)
        Metadata:
          creation_time   : 2020-03-01T03:10:08.000000Z
          encoder         : JVT/AVC Coding
    
    -acodec aac -ar 48000 -ab 128k
    -vcodec libx264 -s 544x960 -r 28.92 -pix_fmt yuv420p -preset slow -crf 18 -profile:v High
    
    
    -vcodec libx264 -s 544x960 -r 28.92 -pix_fmt yuv420p -preset slow -crf 18 -profile:v High -acodec aac -ar 48000 -ab 128k
    
    ffmpeg -i 2.mp4 -vcodec h264 -s 544x960 -r 28.92 -pix_fmt yuv420p -profile:v High -acodec aac -ar 48000 -ab 128k -y 2_out.mp4
    
    
    
    /var/ffmpeg_build/bin/ffmpeg -i 2.mp4 -vcodec h264 -s 544x960 -r 28.92 -pix_fmt yuv420p -profile:v High -acodec aac -ar 48000 -ab 128k -y 2_out.mp4
    
    
    
    
    
    
    /var/ffmpeg_build/bin/ffmpeg -i console/runtime/video_splicing3/2137860_1_44722_cut.mp4 -vf scale=544:-1,pad=544:960:0:326:black console/runtime/video_splicing3/2137860_1_44722_cut_scale3.mp4
    
    
    // 填充黑边
    /var/ffmpeg_build/bin/ffmpeg -i console/runtime/video_splicing3/2137860_1_44722_cut.mp4 -vf scale=544:-1,pad=544:960:0:326:black console/runtime/video_splicing3/2137860_1_44722_cut_scale3.mp4
    
    // 视频模糊
    /var/ffmpeg_build/bin/ffmpeg -i console/runtime/video_splicing3/2137860_1_44722_cut.mp4 -vf boxblur=1:10:4:10 console/runtime/video_splicing3/2137860_1_44722_cut_scale4.mp4
    
    
    
    /var/ffmpeg_build/bin/ffmpeg -i console/runtime/video_splicing/2137860_2_64519_cut.mp4 -vf split[a][b];[a]crop=ih(544/960):ih[e];[e]boxblur=1:10:4:10[f];[f]scale=960:544[1];[b]scale=544:308[2];[1][2]overlay=0:326 console/runtime/video_splicing/2137860_2_64519_cut_one1.mp4
    
    
    
    -shortest 最短优先。
    
    
    
    
    
    /var/ffmpeg_build/bin/ffmpeg -i "concat:2242500_0_94796_cut_ts.ts|2242500_1_71645_cut_ts.ts" -i 202001_background.aac -filter_complex "[1:a]aloop=loop=-1:size=2e+09[out];[out][0:a]amix" -shortest -vcodec h264 -r 28.92 -pix_fmt yuv420p -profile:v High -acodec aac -ar 48000 -ab 128k -y 2242500_splice_2.ts
    
    
    
    /var/ffmpeg_build/bin/ffmpeg -i /alidata/www/bzr-homework/homework_limiketang_com/console/runtime/video_splicing/2242500_splice.mp4 -i /alidata/www/bzr-homework/homework_limiketang_com/console/runtime/video_splicing/music.aac -filter_complex "[1:a]volume=0.1[lo];[lo]atrim=7:52[tr];[tr]adelay=6000|6000[out];[out][0:a]amix" -shortest -y /alidata/www/bzr-homework/homework_limiketang_com/console/runtime/video_splicing/2242500_splice_music_2.mp4 > /dev/null 2>&1
    
    
    /var/ffmpeg_build/bin/ffmpeg -i /alidata/www/bzr-homework/homework_limiketang_com/console/runtime/video_splicing/2631412_splice_2.mp4 -i /alidata/www/bzr-homework/homework_limiketang_com/console/runtime/video_splicing/music.aac -filter_complex "[1:a]volume=0.1[vo];[vo]aloop=loop=-1:size=2e+09[loo];[loo]atrim=7:107[tr];[tr]adelay=6000|6000[out];[out][0:a]amix" -shortest -y /alidata/www/bzr-homework/homework_limiketang_com/console/runtime/video_splicing/2631412_splice_music_2.mp4 > /dev/null 2>&1
    
    
    
    
    /var/ffmpeg_build/bin/ffmpeg -i "concat:head.ts|head_2_cut.ts|2631412_0_46588_cut_ts.ts|2631412_1_50823_cut_scale_ts.ts|2631412_2_39282_cut_ts.ts|end_2_cut.ts|end.ts" -y 2631412_splice_2.mp4
    
    
    $this->ffmpegPath." -i $path -i {$this->backgroundMusic} -filter_complex \"[1:a]volume=0.1[vo];[vo]aloop=loop=-1:size=2e+09[loo];[loo]atrim={$startTime}:{$endTime}[tr];[tr]adelay=6000|6000[out];[out][0:a]amix\" -shortest -y {$splicingFile}
    
    
    
    curl -O -L https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2 && \
    tar xjvf nasm-2.14.02.tar.bz2 && \
    cd nasm-2.14.02 && \
    ./autogen.sh && \
    ./configure --prefix="/usr/local/ffmpeg" --bindir="/usr/local/ffmpeg/bin"
    make && \
    make install
    
    curl -O -L https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz && \
    tar xzvf yasm-1.3.0.tar.gz && \
    cd yasm-1.3.0 && \
    ./configure --prefix="/usr/local/ffmpeg" --bindir="/usr/local/ffmpeg/bin" && \
    make && \
    make install
    
    git clone --depth 1 https://code.videolan.org/videolan/x264.git && \
    cd x264 && \
    PKG_CONFIG_PATH="/usr/local/ffmpeg/lib/pkgconfig" ./configure --prefix="/usr/local/ffmpeg" --bindir="/usr/local/ffmpeg/bin" --enable-static && \
    make && \
    make install
    
    
    
    git clone --depth 1 https://github.com/mstorsjo/fdk-aac && \
    cd fdk-aac && \
    autoreconf -fiv && \
    ./configure --prefix="/usr/local/ffmpeg" --disable-shared && \
    make && \
    make install
    
    
    
    curl -O -L https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz && \
    tar xzvf lame-3.100.tar.gz && \
    cd lame-3.100 && \
    ./configure --prefix="/usr/local/ffmpeg" --bindir="/usr/local/ffmpeg/bin" --disable-shared --enable-nasm && \
    make && \
    make install && \
    
    curl -O -L https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \
    tar xjvf ffmpeg-snapshot.tar.bz2 && \
    cd ffmpeg && \
    PATH="/usr/local/ffmpeg/bin:$PATH" PKG_CONFIG_PATH="/usr/local/ffmpeg/lib/pkgconfig" ./configure \
      --prefix="/usr/local/ffmpeg" \
      --pkg-config-flags="--static" \
      --extra-cflags="-I/usr/local/ffmpeg/include" \
      --extra-ldflags="-L/usr/local/ffmpeg/lib" \
      --extra-libs=-lpthread \
      --extra-libs=-lm \
      --bindir="/usr/local/ffmpeg/bin" \
      --enable-gpl \
      --enable-libfdk_aac \
      --enable-libfreetype \
      --enable-libmp3lame \
      --enable-libx264 \
      --enable-nonfree \
      --enable-shared && \
    make && \
    make install
    
    OP-FTGC5VL MINGW64 /d/www/limi/homework (dev-model)
    $
    
    limi@DESKTOP-FTGC5VL MINGW64 /d/www/limi/homework (dev-model)
    $
    
    
    PATH="/usr/local/ffmpeg/bin:$PATH" PKG_CONFIG_PATH="/usr/local/ffmpeg/lib/pkgconfig" ./configure \
      --prefix="/usr/local/ffmpeg" \
      --pkg-config-flags="--static" \
      --extra-cflags="-I/usr/local/ffmpeg/include" \
      --extra-ldflags="-L/usr/local/ffmpeg/lib" \
      --extra-ldflags="-ldl" \
      --extra-libs=-lpthread \
      --extra-libs=-lm \
      --bindir="/usr/local/ffmpeg/bin" \
      --enable-gpl \
      --enable-libfdk_aac \
      --enable-libfreetype \
      --enable-libmp3lame \
      --enable-libx264 \
      --enable-nonfree \
      --enable-shared
    
      PATH="/usr/local/bin:$PATH" PKG_CONFIG_PATH="/usr/local/ffmpeg/lib/pkgconfig" ./configure \
      --prefix="/usr/local/ffmpeg" \
      --pkg-config-flags="--static" \
      --extra-cflags="-I/usr/local/ffmpeg/include" \
      --extra-ldflags="-L/usr/local/ffmpeg/lib" \
      --extra-libs=-lpthread \
      --extra-libs=-lm \
      --bindir="/usr/local/bin" \
      --enable-gpl \
      --enable-libfdk_aac \
      --enable-libfreetype \
      --enable-libmp3lame \
      --enable-libx264 \
      --enable-nonfree
    
    
    ./configure --prefix="/usr/local/ffmpeg" --bindir="/usr/local/bin" --disable-shared --enable-nasm
    
    /usr/local/php7.1/bin/php /alidata/www/limicode/homework_limiketang_com/yii video-info-static/push-ids-to-redis
    
    
    
    
    
    
     1003  ll
     1004  curl -O -L https://banzhuren-assistant.oss-cn-beijing.aliyuncs.com/video_splicing/head_2.mp4
     1005  curl -O -L https://banzhuren-assistant.oss-cn-beijing.aliyuncs.com/video_splicing/end_2.mp4
     1011  /var/ffmpeg_build/bin/ffmpeg -i head_2.mp4 -vf scale=544:960 -y head_2_cut.mp4
     1012  /var/ffmpeg_build/bin/ffmpeg -i end_2.mp4 -vf scale=544:960 -y end_2_cut.mp4
     1013  /var/ffmpeg_build/bin/ffmpeg -i end_2_cut.mp4 -c copy -y end_2_cut.ts
     1014  /var/ffmpeg_build/bin/ffmpeg -i head_2_cut.mp4 -c copy -y head_2_cut.ts
    
     1016  /var/ffmpeg_build/bin/ffmpeg -i "concat:head.ts|head_2_cut.ts|2631412_0_46588_cut_ts.ts|2631412_1_50823_cut_scale_ts.ts|2631412_2_39282_cut_ts.ts|end_2_cut.ts|end.ts" -y 2631412_splice_2.mp4
     1017  /var/ffmpeg_build/bin/ffprobe 2631412_splice_2.mp4
     1018  /var/ffmpeg_build/bin/ffmpeg -i /alidata/www/bzr-homework/homework_limiketang_com/console/runtime/video_splicing/2631412_splice_2.mp4 -i /alidata/www/bzr-homework/homework_limiketang_com/console/runtime/video_splicing/music.aac -filter_complex "[1:a]volume=0.2[vo];[vo]aloop=loop=-1:size=2e+09[loo];[loo]atrim=7:107[tr];[tr]adelay=6000|6000[out];[out][0:a]amix" -shortest -y /alidata/www/bzr-homework/homework_limiketang_com/console/runtime/video_splicing/2631412_splice_music_2.mp4
    
    
    
    ffmpeg -r 15 -f image2 -loop 1 -i 图片.png -i 音频.mp3 -s 1920x1080 -pix_fmt yuvj420p -t 278 -vcodec libx264
    /var/ffmpeg_build/bin/ffmpeg -r 15 -f image2 -loop 1 -i mid.jpg -s 544x960 -pix_fmt yuvj420p -t 5 -vcodec libx264 mid.mp4
    
    
    开发前重要事项:
        1. 检查产品中数据流向的正确性。
        2. 识别出需求变化点,程序设计是兼容这些变化。
    
    
    上线前重要事项:
        1. 是否涉及数据库语句。更新语句对现有业务是否有影响。
        2. 是否有定时任务脚本。
        3. 第三方依赖接口是否已经上线。
    
    
    
    PATH="/usr/local/ffmpeg/bin:$PATH" PKG_CONFIG_PATH="/usr/local/ffmpeg/lib/pkgconfig" ./configure \
      --prefix="/usr/local/ffmpeg" \
      --pkg-config-flags="--static" \
      --extra-cflags="-I/usr/local/ffmpeg/include -I/usr/local/cuda/include" \
      --extra-ldflags="-L/usr/local/ffmpeg/lib -L/usr/local/cuda/lib64" \
      --extra-libs="-lpthread -lm" \
      --bindir="/usr/local/ffmpeg/bin" \
      --enable-gpl \
      --enable-libass \
      --enable-libfdk-aac \
      --enable-libfreetype \
      --enable-libmp3lame \
      --enable-libvorbis \
      --enable-libx264 \
      --enable-nonfree \
      --enable-cuda \
      --enable-cuvid \
      --enable-nvenc \
      --enable-libnpp
    
    
    PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
      --prefix="$HOME/ffmpeg_build" \
      --pkg-config-flags="--static" \
      --extra-cflags="-I$HOME/ffmpeg_build/include -I/usr/local/cuda/include" \
      --extra-ldflags="-L$HOME/ffmpeg_build/lib -L/usr/local/cuda/lib64" \
      --extra-libs=-lpthread \
      --extra-libs=-lm \
      --bindir="$HOME/bin" \
      --enable-gpl \
      --enable-libfdk_aac \
      --enable-libfreetype \
      --enable-libmp3lame \
      --enable-libopus \
      --enable-libvorbis \
      --enable-libvpx \
      --enable-libx264 \
      --enable-libx265 \
      --enable-nonfree \
      --enable-cuda \
      --enable-cuvid \
      --enable-nvenc \
      --enable-libnpp
    
    
      ./configure --prefix="/usr/local/ffmpeg" --bindir="/usr/local/ffmpeg/bin" 
    
    
      make prefix="/usr/local/ffmpeg" bindir="/usr/local/ffmpeg/bin"
    
      make install prefix="/usr/local/ffmpeg" bindir="/usr/local/ffmpeg/bin"