zoukankan      html  css  js  c++  java
  • ffmepg在CentOS编译和调试(DEBUG)技巧

    1.官网下载最新的ffmpeg源码
    git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

    2.官网下载x264,并编译x264

    cd ffmpeg
    git clone git://git.videolan.org/x264
    cd x264
    ./configure --enable-static

    如果是32位的系统,需要增加参数”-march=i686″,否则LD过程可能报错:

    CFLAGS="-march=i686" ./configure --enable-static
     --disable-opencl
     --disable-avs
     --disable-cli
     --disable-ffms
     --disable-gpac
     --disable-lavf
     --disable-swscale
     --disable-asm


    make
    make install

    如果要增加其他新的库,比方说mp3,amr等等,可以我前面推荐的官方编译文档

    3.配置ffmpeg,并支持DEBUG

    ./configure --enable-debug=1 --disable-yasm  --disable-static --enable-shared
    --enable-gpl --enable-version3 --disable-w32threads  --enable-bzlib
    --enable-libfreetype   --enable-libx264 --enable-zlib

    然后修改config.mak 文件:
    vi config.mak
    a. 修改CFLAGS= ….这一行,把其中的-g1参数替换为-g, 该行的-O3参数替换为-O
    b. STRIP=strip这一行替换为STRIP=echo
    c. 替换其他行的-O3选项为-g

    make
    make install

    4.执行ffmepg时,会遇到报错,修改以下系统配置
    vi /etc/ld.so.conf
    文件尾部加入新的一行:
    /usr/local/lib
    保存后,执行命令:
    ldconfig

    5.可以用gdb开始调试
    gdb ffmpeg
    设置一下av_read_frame, av_write_frame, avcodec_open2等关键函数的断点
    >>break utils.c:1486
    >>break mux.c:732
    >>break h264_mp4toannexb_bsf.c:73
    >>break utils.c:788
    开始正式执行命令,带上命令参数
    >>run -i test.mp4 -vbsf h264_mp4toannexb -an test.h264-i test.mp4 -vbsf h264_mp4toannexb -an test.h264

    我的这条ffmpeg命令是把一个mp4文件中的h264视频提取保存为h264 ES流文件。

  • 相关阅读:
    论程序员的自我修养
    设计模式之:行为型设计模式(11种)
    设计模式之:结构型设计模式(7种)
    @import "../style/lines.scss" 导致background: url()路径无效问题
    node express 设置重定向
    png8和png24的区别
    vue scss 使用 及 踩坑
    js 防抖 节流
    js 次方 开方 对数
    css 修改placeholder样式
  • 原文地址:https://www.cnblogs.com/lykbk/p/sdsds343434343.html
Copyright © 2011-2022 走看看