ffmpeg安装,ffmpeg转码,ffmpeg抽图,ffmpeg字幕

    xiaoxiao2024-05-16  2

    简介:ffmpeg是一个开源的处理视频、音频标准华模块

    一、安装:

    方式1(ppa安装:不推荐):

    1.添加PPA源:

    sudo add-apt-repository ppa:mc3man/trusty-media

    sudo apt-get update 更新源

    安装:

    sudo apt-get install ffmpeg

    方式2:源码编译安装(如果你需要比较齐全的功能,推荐使用源码编译安装)

    <1>.进入ffmpeg官网下载源码包,链接如下:

    点击打开链接https://ffmpeg.org/download.html

    <2>安装步骤如下:

    (1)首先安装依赖包(根据个人系统使用命令安装,以下以Ubuntu为例 , centos可以使用yum命令安装):

    ubuntu系统推荐使用:

    sudo aptitude install   进行安装

    yasm (首先安装)

    libx264(libx264-dev)、  libfaac(libfaac-dev)、 libmp3lame(libmp3lame-dev)、  libtheora (libtheora-dev)

    libvorbis(libvorbis-dev)、 libxvid(libxvidcore-dev)、 libxext(libxext-dev)、  libxfixes(libxfixes-dev)

    上面模块一个一个依次安装:括号外模块安装提示:unable to find ×××,更换括号内模块安装即可

    字幕压缩模块(如需要压缩字幕,必装)

    libass(libass-dev)

    如果需要:fflpay 工具进行测试视频文件正确性:还需要安装SDL依赖(开发环境推荐安装,生产环境个人觉得不必要):

    sudo apt-get install libsdl1.2-dev

    sudo apt-get install libsdl-image1.2-dev

    sudo apt-get install libsdl-mixer1.2-dev

    sudo apt-get install libsdl-ttf2.0-dev

    sudo apt-get install libsdl-gfx1.2-dev

    (2)安装ffmpeg

    tar -xjvf ffmpeg-2.8.1.tar.bz2

    cd ffmpeg-2.8.1

    ./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-version3 --enable-nonfree --enable-postproc

    --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libx264

    --enable-libxvid --enable-x11grab --enable-libvorbis  --enable-libass

    make

    make install

    (3)安装完成后,/usr/local/ffmpeg/bin 先会出现3个文件,如下:

    ffmpeg   ffprobe  ffserver fflpay(该文件为安装SDL依赖才会生成)

    依次,拷贝到/usr/bin 目录下即可:

    sudo cp /usr/local/ffmpeg/bin/ffmpeg /usr/bin

    sudo cp /usr/local/ffmpeg/bin/ffprobe /usr/bin

    sudo cp /usr/local/ffmpeg/bin/ffserver /usr/bin

    (4)测试:

    ffmpeg -version

    完成后系统内生成3个命令:

    ffmpeg   :转码程序

      ffprobe   :解析多媒体文件或流信息

    ffserver  :服务器程序

    以下附带几个用例:

    1.提取视频文件缩缩略图(提取视频文件某一祯图片)

    ffmpeg -y -i test.mp4 -ss 00:03:22.000 -vframes 1 -an test.jpg 2.以时间间隔提取缩略图: ffmpeg -i test.mp4 -r 1/300 -vf "select='eq(pict_type,PICT_TYPE_I)'" %d.jpg 以上命令为,每间隔300秒提取一次I帧缩略图

    3.提取视频详细信息(视频流信息与音频流信息等,返回json格式数据)

    ffprobe -v quiet -print_format json -show_format -show_streams -i test.mp4

    4.视频转码(推荐使用):

    ffmpeg -i inputfile.mov -s WXH -vcodec libx264 -profile:v main -preset slow

    -vf subtitles="/mnt/SNIM000108232TRD.srt" -pix_fmt yuv420p -acodec libfaac -b:a 64k -r 25 outputfile.mp4 s 宽高信息,中间是X -profile:v baseline -level 3.0 -profile:v baseline -level 3.1 -profile:v main -level 3.1 -profile:v main -level 4.0 -profile:v high -level 4.0 -profile:v high -level 4.1 -profile:v high -level 4.2  -profile:v 视频profile (baseline, main, high)

    -subtitles:字幕文件(硬烧类型,字幕文件不支持http协议,只能本地访问),如:-vf subtitles="/mnt/SNIM000108232TRD.srt"

    -r 帧率

    -pix_fmt:文件兼容性,固定值,无需更改(不加该属性某些平台无法播放该转码文件,如:mac:Safari浏览器,Firfox)

    -preset medium/slow (上面四个参数均根据转码模板进行设置) -b:a 64k 固定为64k,无需更改 -vcodec and -acodec 是固定的,无需更改

    以上参数,请根据需求增加或者减少

    转载请注明原文地址: https://ju.6miu.com/read-1288609.html
    最新回复(0)