Skip to content

使用gperftools分析ffmpeg与x264库的性能

gperftools分析ffmpeg的结果

CPU使用分析

image 点击查看大图

堆内存使用分析

image 点击查看大图

编译ffmpeg,链接gperftool库

这里需要先编译安装好gperftools,然后修改一下ffmpeg编译时的参数

PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" ./configure --enable-libx264 --enable-gpl --extra-ldflags=-lprofiler --extra-ldflags=-ltcmalloc --extra-cflags="-I/usr/local/include" --extra-ldflags="-L/usr/local/lib"  --disable-stripping
make
make install

设置以下两个环境变量,指定输出profile数据

export HEAPPROFILE=/root/prof/heapprof.out
export CPUPROFILE=/root/prof/prof.out

设置好上面两个环境变量后,就可以运行ffmpeg处理视频,然后就会生成ffmpeg的性能分析文件

解析性能分析文件

pprof --dot /usr/local/bin/ffmpeg heapprof.out.0001.heap  > heapprof_0001.dot
pprof --dot /usr/local/bin/ffmpeg heapprof.out.0002.heap  > heapprof_0002.dot
pprof --dot /usr/local/bin/ffmpeg heapprof.out.0003.heap  > heapprof_0003.dot
pprof --dot /usr/local/bin/ffmpeg prof.out > cpu_pprof.dot

生成svg图

dot -Tsvg -o cpu.svg cpu_pprof.dot

生成开始的svg图

Related Posts

  1. x264参数分析
  2. h264参考资料
  3. 编译ffmpeg和x264,并生成性能分析图
  4. 编译x264,并使用x264进行视频编码
  5. 为什么go不支持递归锁