[技术探索者手记] C++自学之路 × FFmpeg多媒体开辟日志 ...

打印 上一主题 下一主题

主题 1858|帖子 1858|积分 5584

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我是一名.NET开辟者,最近开始学习C++。如今,我已经掌握了C++的底子语法和入门知识,并对FFmpeg产生了浓厚的兴趣。接下来,我计划自学与FFmpeg相干的技术内容,并记录自己的学习过程。欢迎大家提出宝贵意见,我会虚心接受并采纳大家的建议。谢谢!我是一名.NET开辟者,最近开始学习C++。如今,我已经掌握了C++的底子语法和入门知识,并对FFmpeg产生了浓厚的兴趣。接下来,我计划自学与FFmpeg相干的技术内容,并记录自己的学习过程。欢迎大家提出宝贵意见,我会虚心接受并采纳大家的建议。谢谢!


  • linux下编译自己的ffmpeg

  • 环境安装
  1. sudo apt install make
复制代码

  • 下载ffmpeg源码
  • 配置编译参数
    1. ./configure --prefix=/usr/local/ffmpeg \
    2.         --enable-shared \
    3.         --enable-gpl \
    4.         --enable-libx264 \
    5.         --extra-cflags="-I/usr/local/fdk-aac/include -I/usr/local/include" \
    6.         --extra-ldflags="-L/usr/local/fdk-aac/lib -L/usr/local/lib" \
    7.         --enable-libx265 \
    8.         --enable-libvpx \
    9.         --enable-libmp3lame \
    10.         --enable-libfdk-aac \
    11.         --enable-libopus \
    12.         --enable-nonfree
    复制代码
    编译过程碰到的问题


    • gcc is unable to create an executable file.

      • gcc未安装(通过 gcc --version 检查),安装gcc  apt install gcc

    • nasm not found or too old. Please install/update nasm or use --disable-x86asm for a build without hand-optimized assembly.

      • 体系未安装 NASM 或版本过低(需 ≥2.13)。NASM(Netwide Assembler)是 x86 架构下的汇编编译器,用于天生高性能的机器码。
      1. sudo apt update
      2. sudo apt install nasm
      3. nasm -v # 检查版本是否 ≥2.13
      复制代码
    • ERROR: libfdk_aac not found

      • 未安装 libfdk-aac 开辟包
        手动编译(保举,确保版本兼容性)
      1. # 下载源码并编译
      2. wget https://downloads.sourceforge.net/opencore-amr/fdk-aac-2.0.3.tar.gz
      3. tar -xzf fdk-aac-2.0.3.tar.gz
      4. cd fdk-aac-2.0.3
      5. # 安装依赖工具链
      6. sudo apt install automake autoconf libtool
      7. # 重新生成配置脚本
      8. autoreconf -fiv
      9. ./configure --prefix=/usr/local/fdk-aac --disable-shared
      10. make && sudo make install
      11. echo "/usr/local/fdk-aac/lib" | sudo tee -a /etc/ld.so.conf
      12. sudo ldconfig  # 更新动态链接器缓存
      13. export LD_LIBRARY_PATH=/usr/local/fdk-aac/lib:$LD_LIBRARY_PATH
      复制代码
    • configure: WARNING: unrecognized options: --enable-libx264, --enable-libx265, --enable-libvpx, --enable-libmp3lame, --enable-libfdk-aac, --enable-libopus, --enable-gpl, --enable-nonfree

      • 下载并编译 libx264
      1. git clone https://code.videolan.org/videolan/x264.git
      2. cd x264
      3. ./configure --enable-shared  # 启用动态库支持
      4. make
      5. sudo make install
      复制代码

      • 下载编译libx265
      1. # 确保已安装编译工具和 CMake:
      2. sudo apt install build-essential cmake nasm
      3. git clone https://github.com/videolan/x265.git
      4. cd x265/build/linux
      5. cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_SHARED=ON ../../source
      6. make
      7. sudo make install
      8. # 添加库路径
      9. echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf
      10. sudo ldconfig
      11. # 设置 pkg-config 路径
      12. export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
      复制代码

总结:无知了,不要在傻傻“百度”了,直接按照官方wiki自行构建即可

ffmpeg build wiki
增加 SRT 支持
  1.    cd ~/ffmpeg_sources && \
  2.    git -C srt pull 2> /dev/null || git clone --depth 1 https://github.com/Haivision/srt.git
  3.    cd srt
  4.    mkdir build
  5.    cd build
  6.    cmake ..
  7.    make
  8.    sudo make install
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

泉缘泉

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表