ffmpeg移植

解决Android平台移植ffmpeg的一揽子问题 IT行业是一个踩在巨人肩膀上前进的行业,否则做的事情不一定有意义,所以我也是基于havlenapetr移植的ffmpeg基础上做了些改进,他做的主要贡献有:1. 移植了ffmpeg并将与媒体相关的结构体在java层重新进行了封装,方便应用程序在java层直接操作ffmpeg API,如各种媒体格式转码及播放2. 模仿Android的MediaPlayer类实现了ffmpeg的播放接口,如setDataSource(),setDisplay(),start(), stop(),pause()等,缺点是没有实现 阅读详情
1. 交叉编译yasm
    进入yasm源码目录
    make distclean   //先把之前的编译,配置文件清除

    export CC=arm-linux-gnueabihf-gcc   //可通过"./configure --help"查看到用环境变量CC指定交叉编译器
    ./configure --prefix=/usr/local/ffmpeg_arm/xlibs --host=arm    // "--prefix"用于指定安装目录, "--host"用于指定目标平台.

    make && make install //完成后, 生成在"/usr/local/ffmpeg_arm/xlibs/"目录里
2. 交叉编译libx264
   进入x264源码目录

   make distclean

   ./configure --host=arm-linux --cross-prefix=arm-linux-gnueabihf- --extra-cflags="-I /usr/local/ffmpeg_arm/xlibs/include" --extra-ldflags="-L /usr/local/ffmpeg_arm/xlibs/lib" --prefix=/usr/local/ffmpeg_arm/xlibs --enable-shared 
     // 相关的配置项可通过"./configure --help"查看

   make && make install   //完成后, 生成在"/usr/local/ffmpeg_arm/xlibs/"目录里
3. 交叉编译libx265
   参考: http://blog.csdn.net/wanglx_/article/details/50786307
   进入x265源码目录里的build/linux目录后操作:

     mkdir   arm-linux  //创建子目录
     cd    arm-linux

     vim  toolchain.cmake  //创建文件,并加入下面内容:
    set(CROSS_COMPILE_ARM 1)  
    set(CMAKE_SYSTEM_NAME Linux)  
    set(CMAKE_SYSTEM_PROCESSOR Arm)  
    set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)  
    set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)  
    # 交叉编译器的路径
    SET(CMAKE_FIND_ROOT_PATH  /disk3/myAm4379/arm4.7/bin)

     vim make-Makefiles.bash //创建文件并加入下面内容:
    #!/bin/bash  
    # Run this from within a bash shell  

    cmake -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake -G "Unix Makefiles" ../../source && ccmake ../../source

    ./make-Makefiles.bash
    在弹出的界面里修改以下项:
    CMAKE_INSTALL_PREFIX             /usr/local/ffmpeg_arm/xlibs
    YASM_EXECUTABLE                  /usr/local/ffmpeg_arm/xlibs
    修改完成后,按'c'键后再按'g'键保存退出


    修改下面三个文件:
    vim encoder/CMakeFiles/encoder.dir/flags.make
    vim common/CMakeFiles/common.dir/flags.make
    vim CMakeFiles/cli.dir/flags.make   

    都是在"CXX_FLAGS"语句最后加上 -fPIC, 否则会有"can not be used when making a shared object; recompile with -fPIC"的报错

    修改完成后,执行make && make install 进行编译
    如发生错误:arm-linux-gnueabihf-g++: error: unrecognized argument in option ‘-march=i686
        则把arm-linux整个目录删除重新做一次应就可以了。

    以上操作完成后,x265的库就生成在/usr/local/ffmpeg_arm/xlibs目录里
4. 交叉编译ffmpeg
    进入ffmpeg3.0源码目录里操作:

    make distclean

    export PKG_CONFIG_PATH=/usr/local/ffmpeg_arm/xlibs/lib/pkgconfig/

    ./configure --disable-debug --enable-libx264 --enable-libx265 --enable-gpl --enable-shared --enable-cross-compile --arch=armv7a --cross-prefix=arm-linux-gnueabihf- --prefix=/usr/local/ffmpeg_arm/xlibs --extra-cflags="-I /usr/local/ffmpeg_arm/xlibs/include -fPIC"  --extra-ldflags="-L /usr/local/ffmpeg_arm/xlibs/lib" --target-os=linux --pkg-config-flags=--static

    make && make install
FFmpeg移植到IMX6ULL arm开发板(含x264编译步骤) 1、FFmpeg简介 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。 主要功能: 视频采集功能 视频格式转换功能 视频截图功能 给视频加水印功能 2、编译 ffmpeg中已有H.264的解码,但没有编码,所以需要先编译libx264,它是自由的H.264编码库,是x264项目的一部分。2.1 编译x264 源码下载地址:Index of /pub/videolan/x264/snapshots/ 解压、配置、编译过程如下: 1、tar -vx 阅读详情

相关推荐

移植 ffmpeg 到 ARM 平台

 一、下载yasm:到 http://www.tortall.net/projects/yasm/wiki/Download 下载yasm0.7.2(x264需要用到的汇编编译器)for x86:./configure --enable-shared --prefix=/usr/localmakemake installfor arm:./config

清闲老窝的专栏 2万+

音视频开发实战03-FFmpeg命令行工具移植

作为一个音视频开发者,在日常工作中经常会使用ffmpeg 命令来做很多事比如转码等等,一个简单的命令就可以解决很多事情,如果通过执行一些命令就能完成日常开发工作,那么能极大的提升我们的开发效率,但是这些命令只能在PC上使用,在移动端是无法直接使用的,这也就引出了这篇文章的所要讲的内容–FFmpeg命令行工具编译。

bookzhan的专栏 1714

ubuntu下移植ffmpeg到android

我是一个linux小白,但由于实验室工作的需要,这两天我一直在进行ffmpeg移植到android的工作。在经历了无数次失败终于尝到胜利的滋味之后,我决定写这篇博文来防止更多的linux小白走跟我同样的弯路。 我用的编译环境: ubuntu12.04LTS ndk:android-ndk-r5 ffmpeg:ffmpeg-0.6.tar.bz2 首先将解压后的ffmpeg源码复制到自

looong2b的专栏 1009

arm Linux平台下FFmpeg的移植

arm Linux平台下FFmpeg的移植

qq_32012843的博客 5330

Ffmpeg移植S3C2440

FFMPEG交叉编译、移植2440

Zechin的专栏 5682

高效转换视频格式:在GT2440上实现FFmpeg移植成功

通过合理利用嵌入式平台的计算能力和外设接口,我们能够在资源受限的环境中实现多媒体处理的功能。我们将利用GT2440的优势,使其能够在嵌入式环境下运行FFmpeg,并实现视频格式转换的功能。在本文中,我们将详细介绍如何成功移植FFmpeg到GT2440嵌入式系统,并演示如何使用它来高效转换视频格式。编译并运行上述程序后,FFmpeg将读取输入文件,并将其转换为AVI格式的输出文件。将工具链配置到系统环境变量中。下载FFmpeg源代码:在GT2440上下载FFmpeg源代码,并将其解压到合适的目录中。

SVIPCODE的博客 232

ELFboard学习(七):FFmpeg移植

ELFboard移植ffmpeg,板载imx6null芯片。移植ffmpeg交叉编译ffmpeg并在ELFboard开发板上运行。 公众号:MrFeng的学习笔记

zxfeng的博客 1416

C++面向对象程序设计大作业:魔兽世界(三):开战

C++面向对象程序设计大作业:魔兽世界(三):开战问题描述问题分析代码 问题描述 问题来自于北京大学郭炜老师的C++慕课的大作业 魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部。两个司令部之间是依次排列的若干城市,城市从西向东依次编号为1,2,3 … N ( N <= 20)。红魔军的司令部算作编号为0的城市,蓝魔军的司令部算作编号为N+1的城市。司令部有生命元,用于制造武士。 两军的司令部都会制造武士。武士一共有dragon 、ninja、iceman、lion、wolf 五种。每种武士都有

RedRum_1965的博客 4036

如何移植FFmpeg

FFmpeg是一款专门用于处理数字音频和视频,支持录制、转换,并能将这些媒体内容转化为实时流数据的开源计算机程序。它遵循LGPL或GPL许可协议,为用户提供了涵盖音视频录制、格式转换及流媒体分发的全方位解决方案,深入掌握FFmpeg已成为每一位多媒体开发工程师的必修课。今天就跟各位小伙伴分享一篇共创社的学习笔记,探讨一下如何移植FFmpeg。

ElfBoard的博客 1269

SSTI模板注入及绕过姿势(基于Python-Jinja2)

http://xmctf.top:8962/?name={{%22%22[%22\x5f\x5fclass\x5f\x5f%22]["\x5F\x5Fbase\x5F\x5F"]["\x5F\x5Fsubclasses\x5F\x5F"]()[233]["\x5F\x5Finit\x5F\x5F"]["\x5F\x5Fglobals\x5F\x5F"]["\x5F\x5Fbuiltins\x5F\x5F"]['eval']("\x5F\x5Fimport\x5F\x5F('os'))")}}

Y4tacker的博客 1万+

从Transformer到蛋白质结构预测:手把手解读ESM系列模型的核心原理与实战价值

本文深入解析了ESM系列模型如何将Transformer架构创新应用于蛋白质结构预测,揭示了其从氨基酸序列到三维结构的高效预测机制。通过掩码语言模型预训练和注意力机制,ESM模型不仅捕捉蛋白质序列的远程相互作用,还在蛋白质工程改造、药物发现等领域展现出巨大实战价值,显著提升了结构预测速度和精度。

weixin_28744423的博客 318

Android FFmpeg移植

[TOC] FFmpegSameple介绍 编译FFmpeg 选择参考项目 参考FFmpeg CompilationGuide,上面有FFmpeg在各平台的编译指导。这里我们需要在Android上进行移植,选择Android。可以看到有以下5个参考项目: https://github.co...

chuanhet65546的博客 218

别再用UE5默认材质:用Substance Painter一招提升写实感

今天,我就把这套从模型准备到引擎最终呈现的全流程技巧毫无保留地分享出来,这套方法不仅能让你的作品细节炸裂,更能让你理解次世代PBR(Physically Based Rendering)材质的底层逻辑。

海外旅居设计师,15年设计经验。 1325

移植FFmpeg到android ics

想弄个小东西,自己练习一下,就想到把FFmpeg移植到android上面      网上有现成的2.2的移植,可以下载下来,链接https://github.com/havlenapetr,里面的ffmpeg和framework下面的libaudio和libviedo两个so,就是全部的东西。       看过一些东西,都说不开放某些代码,挺没劲的,人家都已经放出全部代码了,有什么藏匿的。

ph game studio 2992

jenkins安装、打包、部署

一个可以让小白部署发布项目的软件;git 配置 一定要配置git的命令路径jenkins启动命令,一定要加这一段 -Dhudson.util.ProcessTree.disable=true一定要配置jenkins的节点,BUILD_ID和DONTKILLME 否则会导致打包后,会将运行的java程序进程也杀死创建任务SSH中执行服务器B的命令的时候,cd /opt;一定要cd 打开那个目录,否则文件无法传输过去。

学海无涯,我用JAVA 5217

[数字电路]用与非门实现BCD译码器驱动数码管

Hello,大家好。这里是xdd_core,好久不见。今天来和大家聊聊大一数字电路课程的一个课设。# Key word:BCD Decoder,Proteus8.x,NAND Gate,Digital Circuit# 流程:Proteus8.x仿真电路并绘制PCB导出Gerber文件打样,最终实物验证。# 以下为我对这个课设的report(里面对整个设计做了详细介绍,并设计了完整的验证电路) 感谢观看,仅供参考,未经作者允许,禁止转载/抄袭,本文已上传至数据库,查重必挂QAQ BCD to 7-Segme

xddcore的博客 6012

FFmpeg移植教程(linux平台)

本文详细介绍了在 Linux/WSL 环境下从零开始编译并安装 FFmpeg 源码的完整流程,包括源码获取、三步编译法(configure、make、install)、可选组件配置、环境变量设置以及共享库加载路径修复。

weixin_56167571的博客 2647

TIP 2024 | 跨类与跨域语义增强用于域泛化

域泛化方法旨在通过多样化的源域帮助开发一个在未知目标域上表现良好的通用模型。数据增强已被证明是增强计算机视觉中域泛化的有效方法。最近,基于语义级别的数据增强取得了显著成果。然而,这些方法主要集中在从类内和域内采样语义方向,限制了源域的多样性。为了解决这个问题,作者提出了一种新的方法,称为跨类与跨域语义增强(CDSA)。首先,作者引入了一种基于采样的方法CrossSmooth,从跨类中获取语义方向。然后,CrossVariance通过采样语义方向获取不同域的样式。

小白学视觉 211

ffmpeg 移植

所有想学习ffmpeg的网友有福了,大名鼎鼎的ffmpeg,移植到Windows的VC6版本全部开源,编译环境为VC6+SP5+VCPP5。别忘记了顶贴哦。移植ffmpeg到windows,主要的修改是ffmpeg中VC6不支持C99语法,简单移植步骤如下:1:首先装好Linux、VMware和SDL,配置好smb,在Linux下编译通过,验证能正确的Run。2:把Linux下相

tianyue168的专栏 1196

飞牛fnNAS搭建个人小账本

本文介绍了如何在飞牛NAS上部署ezBookkeeping个人记账应用。该开源工具支持多平台使用,具备双因素认证、多级分类等功能。文章详细讲解了Docker激活、镜像下载、容器部署等步骤,并展示了账户管理、交易记录等基础操作。同时指导用户通过ZeroTier实现远程访问,方便随时随地使用个人记账系统。该方案既保障了数据隐私,又提供了专业记账功能,适合对财务隐私敏感的用户。

dgnankai的专栏 782

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

FFMPEG编译裁剪移植

ffmpeg嵌入式开发裁剪整个操作流程

时光总不留人,难得过去幸运 1401

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

FFmpeg的Android平台移植及使用

参考博客 http://blog.youkuaiyun.com/gobitan/article/details/22750719 源代码下载:http://download.youkuaiyun.com/detail/h291850336/9166229 环境准备: 本人使用win8下安装vmware workstation  Ubuntu kylin 14.04 android

H291850336的专栏 6763

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

移植ffmpeg库到Android后的简单使用

前言     这两天折腾ffmpeg库的移植,好不容易成功生成libffmpeg.so, 准备验证此库是否可正常使用。 so库在android下的使用一般要通过jni调用来实现,可是我们哪里知道libffmpeg.so的jni native接口是怎么样的。 显然直接调用libffmpeg.so看此来是比较麻烦的,所以就想能不能像在linux下面直接简单的一个hello.c文件里面有个main主函

oathevil的专栏 8140

海思ffmpeg的移植、安装

ffmpeg用于本次海思ss928芯片的 推流功能,需要将摄像头实时推送到外部的流媒体服务,流媒体服务解析可能有限制,所以需要安装x264库 进行编码后再推流。

qq_23416421的博客 966
上一篇: 05 printf函数可变参数的实现原理之汇编分析
下一篇: QT 实现mp3录音程序
jklinux
博客等级 码龄10年 1060粉丝 276原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值