zoukankan      html  css  js  c++  java
  • ffmpeg开发中出现的问题(六)

      今天调一个程序, 费时良久, 熬夜恨长. 特记此, 否则不吐不快

    1. libavcodec.a(libaacplus.o) aacPlus_encode_frame中....

    出现的问题就是libavcodec.a库中没有链接到libaacplus.a库

    网上资料确实很少.解决后我特地找到这个帖子,找了好久才找到得以把自己的方法贡献出来. 就为当初熬的夜祭奠吧
    原因: 1.可能是库没有安装 2. ffmpeg没有编译进去  3.库的链接方式错误
    前两步楼主排除了, 不过为了保证万无一失,还是再按照官网再安装一遍,因为对于未知的原因,只能一个一个排除了.
    静态链接不会通过
    你在你的选项中ffmpeg -codec | grep aac看有没有libaacplus.a这一项
    有的话,放到/usr/local/lib中
    编译后, 在选项中添加 -laacplus选项
    不要用libaacplus.a, 我开始也一直认为这样可以,事实上这里确实没找到这个库


    2. 提示ffmpeg中的库中的函数找不到, 特别是主库中, libavcodec libavformat

    原因:

    没有排好序, 我也不知道为什么还和这个库的链接顺序有关

    参考一个我的编译命令, makefile的最终一个:

    gcc -Wall -ggdb obj/demo.o -pthread -L/usr/local/lib -lavformat -lavcodec -ldl -lva -lasound -lx264 -lmp3lame -laacplus -lbz2 -lz -lswscale -lavutil -lm -lSDL   -lm -o bin/demo.out

    3. 音频中,区分libaacplus, libfdk-aac, 

    4.  还是音频, 如果是opus..相关函数找不到定义

    解决 : 添加-lopus


    5. 选项 -lz这个是zip解压压缩用


    6. -lm 没事就加上, 这个比较常用 数学库


    7. 还有常用的 -lpthread  -ldl -lbz2等等..

    区分编译和链接错误,这样的好处是方便定位错误


    每天早上叫醒你的不是闹钟,而是心中的梦~
  • 相关阅读:
    绪论-1.1.2机器学习
    Django从 URL获取参数的几种方式
    conda创建虚拟换件安装包时报错“无法定位程序输入点OPENSSL_sk_new_reserve于动态链接库C:Users...libssl-1_1-x64.dll”
    执行python manage.py makemigrations出错
    Linux下conda虚拟环境
    云服务器安装mysql
    2020牛客暑期多校训练营(第五场)
    2020牛客暑期多校训练营(第四场)
    2020牛客暑期多校训练营(第三场)
    All with Pairs
  • 原文地址:https://www.cnblogs.com/vintion/p/4117042.html
Copyright © 2011-2022 走看看