美文网首页
二、FFmpeg命令行工具的编译与安装

二、FFmpeg命令行工具的编译与安装

作者: 最美下雨天 | 来源:发表于2018-09-11 15:14 被阅读98次

    PC端编译脚本
    步骤:

    1、下载ffmpeg-2.8.5.tar.gz解压
    2、在源码目录中新建config_pc.sh脚本文件

    #!/bin/bash
    ./configure \
    --enable-gpl \
    --disable-shared \
    --disable-asm \
    --disable-yasm \
    --enable-filter=aresample \
    --enable-bsf=aac_adtstoasc \
    --enable-small \
    --enable-dct \
    --enable-dwt \
    --enable-lsp \
    --enable-mdct \
    --enable-rdft \
    --enable-fft \
    --enable-static \
    --enable-version3 \
    --enable-nonfree \
    --enable-encoder=pcm_s16le \
    --enable-encoder=aac \
    --enable-encoder=libvo_aacenc \
    --enable-encoder=libfdk_aac \
    --enable-encoder=mp2 \
    --enable-encoder=libx264 \
    --enable-decoder=aac \
    --enable-decoder=mp3 \
    --enable-decoder=pcm_s16le \
    --enable-decoder=h264 \
    --enable-parser=aac  \
    --enable-muxer=flv \
    --enable-muxer=mp4 \
    --enable-muxer=wav \
    --enable-muxer=adts \
    --enable-demuxer=flv \
    --enable-demuxer=h264 \
    --enable-demuxer=wav \
    --disable-decoder=h264_vda \
    --disable-d3d11va \
    --disable-dxva2 \
    --disable-vaapi \
    --disable-vda \
    --disable-vdpau \
    --disable-videotoolbox \
    --disable-securetransport \
    --enable-demuxer=aac \
    --enable-demuxer=hls \
    --enable-protocol=rtmp \
    --enable-protocol=file \
    --enable-libx264 \
    --enable-libvo-aacenc \
    --enable-libfdk_aac \
    --enable-libmp3lame \
    --extra-cflags="-Ipcvoaac/include -Ipc_fdk_aac/include -Ix264_pc/include -Ipc_lame/include" \
    --extra-ldflags="-Lpcvoaac/lib -Lpc_fdk_aac/lib -Lx264_pc/lib -Lpc_lame/lib" \
    --prefix='/Users/huozhenpeng/Desktop/voicevideo/ffmpeg-installpath'
    
    

    这个里面引入了四个第三方的编解码库 LAME、X264、FDK-AAC、VOAAC

    • LAME是目前非常优秀的一种mp3编码引擎,目前、转码mp3格式的音频文件时,最常用的编码器就是LAME库。
    • FDK_ACC是用来编码和解码AAC格式音频文件的开源库,Android系统编码和解码AAC所用的就是这个库,在同等码率下,FDK_ACC比NeroAAC、faac、voaac的音质都要好一些。
    • X264是一个开源的H.264/MPEG-4 AVC视频编码函数库,是最好的有损视频编码器之一。

    所以要对这四个库分别进行编译,生成对应的头文件和静态库文件,然后放到ffmpeg源码目录下


    image.png

    每个目录中都有include、lib

    3、命令行运行脚本
    ./config_pc.sh
    4、执行make、make install命令

    命令执行完成后在--prefix定义的目录下会生成一系列文件


    image.png

    我们简单看下第二个命令ffprobe
    播放一段音频:

    hhh:bin huozhenpeng$ ./ffplay /Users/huozhenpeng/Desktop/为梦而来.mp3

    会弹出一个窗口,一边播放mp3,一边讲播放声音的语谱图画到该窗口上。


    image.png

    也可以播放一段视频:

    ./ffplay /Users/huozhenpeng/Desktop/guide_video.mp4

    image.png

    按s可以进入frame-step模式,没按一次,跳动一帧图片

    参考《音视频开发进阶指南》作者的github:https://github.com/zhanxiaokai/cross_compile_project/tree/master/ffmpeg-2.8.5

    相关文章

      网友评论

          本文标题:二、FFmpeg命令行工具的编译与安装

          本文链接:https://www.haomeiwen.com/subject/adrugftx.html