首页 > 其他分享 >ffmpeg-6.1编译

ffmpeg-6.1编译

时间:2023-12-15 16:58:07浏览次数:31  
标签:enable ffmpeg -- 编译 6.1 mediacodec android

ffmpeg编译

** ffmpeg详细说明可以参考:**

https://blog.csdn.net/leixiaohua1020/article/details/44220151
https://www.cnblogs.com/leisure_chn/category/1351812.html
https://zhuanlan.zhihu.com/p/639748679

一.编译

ubuntu x86_64 编译

  • 下载最新源码 https://ffmpeg.org/

  • 通过源码目录下的configure脚本配置编译选项。可以通过指令 ./configure --help查看使用方法

  • make构建ffmpeg,make install安装ffmpeg到配置的路径(默认为/usr/local/lib)

ndk编译

  • 下载ndk21(最新的ndk移除了一些组件,会导致编译失败)

  • 执行下面脚本配置编译选项

#!/bin/sh
# NDK 所在的路径
export NDK=/home/a/ndk/android-ndk-r21e
TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64
# 需要编译出的平台,这里是 arm64-v8a
ARCH=aarch64
# 支持的最低 Android API
API=21
# 编译后输出目录,在 ffmpeg 源码目录下的 /android/arm64-v8a
OUTPUT=$(pwd)/android/arm64-v8a

build() {
  ./configure \
  --target-os=android \
  --prefix=$OUTPUT \
  --arch=$ARCH \
  --sysroot=$TOOLCHAIN/sysroot \
  --disable-static \
  --disable-ffprobe \
  --disable-debug \
  --disable-doc \
  --disable-avdevice \
  --enable-shared \
  --enable-cross-compile \
  --cross-prefix=$TOOLCHAIN/bin/aarch64-linux-android- \
  --cc=$TOOLCHAIN/bin/aarch64-linux-android$API-clang \
  --cxx=$TOOLCHAIN/bin/aarch64-linux-android$API-clang++ \
  --extra-cflags="-fpic" \
  --enable-hwaccels \
  --enable-jni \
  --enable-mediacodec \
  --enable-decoder=h264_mediacodec \
  --enable-decoder=hevc_mediacodec \
  --enable-decoder=mpeg4_mediacodec \
  --enable-hwaccel=h264_mediacodec \

 # make clean all
  make -j12
 # make install
}

build

  • 编译完成后生成的文件在OUTPUT目录下

标签:enable,ffmpeg,--,编译,6.1,mediacodec,android
From: https://www.cnblogs.com/linxisuo/p/17903679.html

相关文章

  • ffmpeg转码视频文件
    转码转码视频文件例子extern"C"{#include<libavcodec/avcodec.h>#include<libavfilter/buffersink.h>#include<libavfilter/buffersrc.h>#include<libavformat/avformat.h>#include<libavutil/channel_layout.h>#include<......
  • ffmpeg 添加自定义编解码插件
    有两种方法:一.ffmpeg添加自定义编解码插件(以修改ffmpeg源码的方式添加)例:添加一个解码器,给这个解码器取个名字叫mydecoder,可以通过下面的步骤添加:1.在libavcodec目录下,新建文件mydecoder.c#include"avcodec.h"#include"codec_internal.h"//自己封装的编解码器的头文件#......
  • 4款免费且实用的.NET反编译工具
    4款免费且实用的.NET反编译工具 思维导航反编译工具的作用ILSpydnSpyJetBrainsdotPeekJustDecompile总结优秀项目和框架精选加入DotNetGuide技术交流群反编译工具的作用.NET反编译工具能够将已经编译好的.NET程序集转换为易于理解的源代码,它们可以帮助开发人......
  • 2023-12-15 保存文件会生成一个dist包 ==》编译器配置冲突问题
    如题,每次保存文件都会生成个dist包,这个包有时候后会阻碍程序运行,所以必须要解决!在一番排查下,发现是编译器的问题,我原来用的是vscode,换成hbuildex后就不会生成了,我之前还怀疑是终端的问题,然后我在vscode保存文件,用其它终端(powershell)运行项目,结果还是生成了dist包,所以可以确定是v......
  • 浏览器中的编译器和解释器
    之所以存在编译器和解释器,是因为机器不能直接理解我们所写的代码,所以在执行程序之前,需要将我们所写的代码“翻译”成机器能读懂的机器语言。按语言的执行流程,可以把语言划分为编译型语言和解释型语言。编译型语言在程序执行之前,需要经过编译器的编译过程,并且编译之后会直接保留机器......
  • Windows上的c/c++编译工具
    Windows上的编译工具有很多种,以下是一些常见的选择:VisualStudio:这是微软开发的一款IDE,支持多种编程语言,包括C++。它提供了丰富的功能,如代码编译、调试、版本控制等。VisualStudio还包含一些强大的工具,如代码智能感知和代码重构工具,可以帮助开发人员提高开发效率。   有......
  • 【ffmpeg】FFmpeg命令行
    【参考链接】FFmpeg命令行教程:66个实用案例解析常见FFmpeg命令行全面分析FFmpeg最常用命令参数详解及应用实例......
  • Qt/C++视频监控安卓版/多通道显示视频画面/录像存储/视频播放安卓版/ffmpeg安卓
    一、前言随着监控行业的发展,越来越多的用户场景是需要在手机上查看监控,而之前主要的监控系统都是在PC端,毕竟PC端屏幕大,能够看到的画面多,解码性能也强劲。早期的手机估计性能弱鸡,而现在的手机性能不是一般的牛,甚至超越了PC机的性能,所以手机上查看多路监控也就有了硬件基础前提。对......
  • go语言window|mac|linux下交叉编译其他平台的软件包
    go语言window|mac|linux下交叉编译其他平台的软件包注意:go1.17发现直接使用set是不起作用的,必须要使用goenv-w来设置一、设置编译环境,需要发布哪个平台Window下1、设置Linux编译环境SETCGO_ENABLED=0setGOARCH=amd64setGOOS=linux2、设置Mac编译环境goenv-wCGO_ENA......
  • OpenHarmony应用编译 - 如何在源码中编译复杂应用(3.2-Release)
    概述文档环境开发环境:Windows11编译环境:Ubuntu22.04开发板型号:DAYU200(RK3568)系统版本:OpenHarmony-3.2-Release涉及仓库:applications_launcher功能简介在OpenHarmony系统中预安装应用的hap包会随系统编译打包到镜像中,目前有两种编译预安装应用hap包的方式,一种为随系统......