Linux下视频处理


常见的视频封装格式:

AVI, MKV, MPE, MPG, MPEG

MP4, WMV, MOV, 3GP

M2V, M1V, M4V, OGM

RM, RMS, RMM, RMVB, IFO

SWF, FLV, F4V

ASF, PMF, XMB, DIVX, PART

DAT, VOB, M2TS, TS, PS

H264/x264 + AAC 组合的文件体积最小,清晰度最高。力推:MKV或MP4。


一,普通视频转换:

    视频转换:ffmpeg -i "/root/test.avi" -sameq -ab 56 -ar 22050 -qscale 8 -r 15 -s 400*300 "/root/test.flv"

    视频截图:ffmpeg -i "/root/test.flv" -y -f image2 -ss 8 -t 0.001 -s 200*150 "/root/test.jpg"

    -sameq:使用和源同样的质量

    -ab 56:(音频数据流量,一般选择32、64、96、128)

    -ar 22050:(声音的采样频率,好像PSP只能支持24000Hz)

    -qscale 8:取值范围:0.01-255,越小质量越好。(实际不要超过50,否则很模糊!)

    -r 29.97:桢速率(可以改,确认非标准桢率会导致音画不同步,所以只能设定为15或者29.97)画面部分,选其一

    -s 320x240:指定输出分辨率,注意片源一定要是16:9的不然会变形

    -y:如果有同名的文件,则生成的输出文件不经提示直接覆盖



二,高清视频转换:

    视频转换:ffmpeg -i "/root/test.avi" -subq 9 -me_range 32 -g 250 -i_qfactor 1.3 -b_qfactor 1.4 "/root/test.m4v"

 (没有加:-vcodec libx264,是因为m4v默认就是H264编码。如果生成其他格式,如mkv,则需手动添加此参数,如:ffmpeg -i "视频文件" -threads 2 -bufsize 700000k -vcodec libx264 -cqp 28 -coder 1 -refs 3 -me_method umh -subq 9 -me_range 32 -g 250 -i_qfactor 1.3 -b_qfactor 1.4 test.mkv)

    视频截图:ffmpeg -itsoffset 4 -i "/root/test.avi" -vcodec png -vframes 1 -an -f rawvideo -ss 3 -s 120x100 -y "/root/test.png"

    bufsize:影响速度

    cqp:影响质量 0-31,越小最终文件越小

    coder(0,1):设置1启用cabac算法

    refs:参考帧,缺省6,越小文件越小

    -subq 1-9:default 6

    -me_range:32

    -g:-keyint default 250 (1-250)

    -i_qfactor 1.3:Qscale difference between I-frames and P-frames.

    -b_qfactor 1.4:Qscale difference between P-frames and B-frames



三,配置 ffmpeg 环境的方法一:

    1,安装依赖:yum -y install gcc gcc+ gcc-c++ autoconf automake libtool

    2,下载软件包:

        wget http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz

        wget http://downloads.sourceforge.net/faac/faad2-2.6.1.tar.gz

        wget http://downloads.sourceforge.net/faac/faac-1.26.tar.gz

        wget http://nchc.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz

        wget http://www.tortall.net/projects/yasm/releases/yasm-0.7.0.tar.gz

        wget ftp://ftp.videolan.org:21//pub/videolan/x264/snapshots/x264-snapshot-20090107-2245.tar.bz2

        wget http://downloads.xvid.org/downloads/xvidcore-1.1.3.tar.gz

        wget http://down1.chinaunix.net/distfiles/libdts-0.0.2.tar.gz

    3,解压:

        for i in *.tar.gz; do tar -xzvf "$i"; done

        for i in *.tar.bz2; do tar -xjvf "$i"; done

    4,编译安装:

        a52dec: ./configure --enable-shared=PKGS && make && make install

        faac & faad2: ./bootstrap && ./configure && make && make install

        xvidcore: cd build/generic; ./configure && make && make install

        lame & yasm: ./configure && make && make install

        libdts-0.0.2 & x264-snapshot-20090107-2245: ./configure --enable-mp4-output --enable-shared --enable-pthread && make && make install

    5,问题:

        错误:make: *** [libx264.so.65] Error 1

        解决:

            1,yum install zlib-devel

            2,http://sourceforge.net/projects/gpac/files/GPAC/GPAC%200.4.5/gpac-0.4.5.tar.gz/download

            3,http://sourceforge.net/projects/gpac/files/GPAC%20extra%20libs/GPAC%20extra%20libs%200.4.5/gpac_extra_libs-0.4.5.tar.gz/download

            4,tar -zxf gpac-0.4.5.tar.gz

            5,tar -zxf gpac_extra_libs-0.4.5.tar.gz

            6,cd gpac_extra_libs

            7,cp -r * ../gpac/extra_lib

            8,cd ../gpac

            9,chmod +x configure

            10,./configure

            11,make lib

            12,make apps

            13,make install-lib

            14,make install

            15,cp bin/gcc/libgpac.so /usr/lib

    6,安装:yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql

    7,从svn中获取:svn export svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

    8,编译安装:cd ffmpeg: ./configure && make && make install

    9,检验:ffmpeg -formats



四,配置 ffmpeg和mencoder 环境的方法二:

1,vi /etc/yum.repos.d/dag.repo,添加:

[dag]  

name=Dag RPM Repository for Red Hat Enterprise Linux  

baseurl=http://apt.sw.be/redhat/el\$releasever/en/\$basearch/dag  

gpgcheck=0  

enabled=1

2,yum install ffmpeg ffmpeg-devel

3,yum install ffmpeg ffmpeg-devel mencoder mplayer flvtool2 lame ffmpeg-php

4,rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt

5,yum install schroedinger

6,yum install a52dec

7,yum install ffmpeg

8,yum install mencoder



五,配置 ffmpeg和mencoder 环境的方法三: 

1,rpm -Uhv http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

2,yum install libgcc gcc gcc-c++ libstdc++ libstdc++-devel compat-glibc compat-libstdc++-33 libevent libevent-devel

3,yum install ffmpeg ffmpeg-devel mplayer mencoder flvtool2 yamdi

示例:mencoder "/root/1.mkv" -o "/root/1.flv" -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=1000:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1 -vf scale=320:240 -ofps 12 -srate 22050



六,安装 ffmpeg 方法四:

1,yum -y install gcc gcc+ gcc-c++ autoconf automake libtool

2,rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

3,yum -y install ffmpeg ffmpeg-devel

 

 

七,配置 ffmpeg 环境:

1,yum install yum-priorities

2,rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

3,yum update

4,yum check-update

5,yum install vlc 



八,卸载:

1,下载的是:ffmpeg-2.0.1.tar.gz

2,解压:tar zxvf ffmpeg-2.0.1.tar.gz

3,配置:./configure

4,编译:make

5,安装:make install

6,反编译:make clean

7,卸载:make uninstall 


转载于:https://my.oschina.net/quanzhong/blog/414419

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值