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
也可以播放一段视频:
image.png./ffplay /Users/huozhenpeng/Desktop/guide_video.mp4
按s可以进入frame-step模式,没按一次,跳动一帧图片
参考《音视频开发进阶指南》作者的github:https://github.com/zhanxiaokai/cross_compile_project/tree/master/ffmpeg-2.8.5
网友评论