1. 编译Mac
./configure --prefix=/usr/local/ffmpeg --enable-debug=3 --enable-shared --disable-static
make -j 4
make install
mac
查看内核数量
macOS,查看CPU信息:sysctl machdep.cpu
machdep.cpu.core_count: 2 核数为2
machdep.cpu.thread_count: 4 cpu数量为4个,使用了超线程技术:双核四线程
遇到的问题
nasm/yasm not found or too old. Use --disable-x86asm for a crippled build.
解决方法:
1.在http://www.tortall.net/projects/yasm/releases/上下载适合自己的版本
2.解压并进入yasm的目录
3.执行./configure
4.执行make
5.执行sudo make install
安装成功后再在ffmpeg下执行configure即可通过
通过命令采集音频:
ffmpeg -f avfoundation -i :0 out.wav
ffplay out.wav
ffmpeg生成AAC文件
ffmpeg -i xxx.mp4 -vn -c:a libfdk_aac -ar 44100 -channels 2 -profile:a aac_he_v2 1.aac
i:输入的多媒体文件 vn:no video c:编码器 a 代表audio
ar 音频采样率 channels:通道数 profile:为audio编码器设置参数,a:audio,3.aac生成的文件名
http://ffmpeg.org/ffmpeg-codecs.html#libfdk_005faac
视频
生成yuv文件
ffmpeg -i input.mp4 -an -c:v rawvideo -pix_fmt yuv420p out.yuv
i:输入的多媒体文件 vn:no video c:编码器 a 代表video out.yuv是生成的格式
播放YUV
ffplay -pix_fmt yuv420p -s 608*368 out.yuv
提取y,u,v分量
ffplay -s 608*368 -vf extractplanes='y' out.yuv
ffplay -s 608*368 -vf extractplanes='u' out.yuv
ffplay -s 608*368 -vf extractplanes='v' out.yuv
vf: 滤波器
提取出来的音频文件
ffmpeg -i input.mp4 -filter_complex 'extractplanes=y+u+v[y][u][v]' -map '[y]' y.yuv -map '[u]' u.yuv -map '[v]' v.yuv
读取其中的y分量:
ffplay -s 608*368 -pix_fmt gray y.yuv
读取其中的u分量:
ffplay -s 304*184 -pix_fmt gray u.yuv
读取其中的v分量:
ffplay -s 304*184 -pix_fmt gray v.yuv
码流参考值:
https://docs.agora.io/cn
H264参考资料
H.264_MPEG-4-Part-10-White-Paper
https://en.wikipedia.org/wiki/Advanced_Video_Coding