FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台

简介: FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台

前言

  将ffmpeg移植到海思HI3559、Hi3516平台上,需要交叉编译。


FFmpeg下载

  开发使用当前3.4.8稳定版本:

  官方地址:http://ffmpeg.org/download.html#releases

  CSDN下载地址:https://download.csdn.net/download/qq21497936/12838391

  QQ群:1047134658(点击“文件”搜索“ffmpeg-3.4.8_源码以及编译后的库”,群内与博文同步更新)

  


交叉编译器环境

  


编译ffmpeg

步骤一:下载,放置到编译文件夹,解压

  

步骤二:配置configure

  (2021年12月26日补充:注意:hi3516DV300是–arch=arm,hi3559AV100是-arch-arm64)


  安装的路径以及编译器是必须要配置的(此处3569是开发时写错了):

/configure --prefix=/home/yang/work/ffmpeg-hi3569av100 --arch=arm --target-os=linux  \
           --enable-cross-compile --cross-prefix=aarch64-himix100-linux- --enable-shared

  

  出现错误,具体查看ffbuild/config.log,查看如下:

cat ffbuild/config.log

  是没有指定芯片内核,此时,直接修改配置文件平台为arm64,如下图:

不依赖libx264原始版本

./configure --prefix=/home/yang/work/ffmpeg-hi3569av100 --arch=arm64 --target-os=linux  --enable-cross-compile --cross-prefix=aarch64-himix100-linux- --enable-shared
• 1

  这是打入Qt路径的配置方法:

./configure --prefix=/home/yang/work/qt-5.8.0_rootfs --arch=arm64 --target-os=linux  --enable-cross-compile --cross-prefix=aarch64-himix100-linux- --enable-shared

依赖libx264静态库(2022年03月17日补充)

 ./configure --prefix=/home/yang/work/ffmpeg_rootfs --arch=arm64 --target-os=linux  --enable-cross-compile --cross-prefix=aarch64-himix100-linux- --enable-shared --enable-libx264 --enable-gpl --enable-pic --extra-cflags="-I/home/yang/work/x264_rootfs/include" --extra-ldflags="-L/home/yang/work/x264_rootfs/lib"

  

===================依赖libx264静态库 添加至此结束

  成功配置:

  

步骤三:编译make -j8

  

步骤四:安装make install

  不是安装在系统,不用sudo权限,如下图:

  

步骤五:检查文件

  


部署到板子上

  • 方法一:拷贝进入系统目录,对应bin、include、lib
  • 方法二:单独一个目录,运行前跑脚本进入路径(笔者是Qt,将ffmpeg打入qt的安装目录,使用qt的路径即可)。
    贴上开发本Qt的脚本(注意系统不同,平台的参数最后2个可能不同):
      


板子上ffmpeg播放器测试1

  将ffmpeg部署到板子上,然后用板子ffmpeg命令行测试,已测试了。(图略)


板子上ffmpeg软解码播放器测试2

  自己造的ffmpeg播放器也通过测试,播放正常。(图略)



相关文章
|
3月前
|
编解码 数据安全/隐私保护 内存技术
ffmpeg笔记(三)ffmpeg指令总结
ffmpeg笔记(三)ffmpeg指令总结
|
4月前
|
Ubuntu
音视频ubuntu安装ffmpeg6.0简略笔记
音视频ubuntu安装ffmpeg6.0简略笔记
65 0
|
5月前
|
API 语音技术 开发工具
FastASR+FFmpeg(音视频开发+语音识别)(二)
FastASR+FFmpeg(音视频开发+语音识别)(二)
118 0
|
15天前
|
编解码 缓存 算法
FFmpeg开发笔记(四)FFmpeg的动态链接库介绍
FFmpeg是一个强大的多媒体处理框架,提供ffmpeg、ffplay和ffprobe工具及八个库:avcodec(编解码)、avdevice(设备输入输出)、avfilter(音视频滤镜)、avformat(格式处理)、avutil(通用工具和算法)、postproc(后期效果)、swresample(音频重采样)和swscale(视频图像转换)。这些库支持定制化开发,涵盖了从采集、编码、过滤到输出的全过程。了解详细FFmpeg开发信息,可参考《FFmpeg开发实战:从零基础到短视频上线》。
29 0
FFmpeg开发笔记(四)FFmpeg的动态链接库介绍
|
15天前
|
编解码 搜索推荐 开发者
FFmpeg开发笔记(三)FFmpeg的可执行程序介绍
FFmpeg提供ffmpeg、ffplay和ffprobe三个可执行程序。ffmpeg用于音视频转换和查询支持信息,如编解码器、文件格式和协议。ffplay是一个简单的播放器,支持播放音视频并显示相关信息。ffprobe用于分析多媒体文件参数和数据包详情。《FFmpeg开发实战:从零基础到短视频上线》一书提供更深入的开发知识。
24 4
FFmpeg开发笔记(三)FFmpeg的可执行程序介绍
|
16天前
|
Linux API C语言
FFmpeg开发笔记(一)搭建Linux系统的开发环境
本文指导初学者如何在Linux上搭建FFmpeg开发环境。首先,由于FFmpeg依赖第三方库,可以免去编译源码的复杂过程,直接安装预编译的FFmpeg动态库。推荐网站<https://github.com/BtbN/FFmpeg-Builds/releases>提供适用于不同系统的FFmpeg包。但在安装前,需确保系统有不低于2.22版本的glibc库。详细步骤包括下载glibc-2.23源码,配置、编译和安装。接着,下载Linux版FFmpeg安装包,解压至/usr/local/ffmpeg,并设置环境变量。最后编写和编译简单的C或C++测试程序验证FFmpeg环境是否正确配置。
35 8
FFmpeg开发笔记(一)搭建Linux系统的开发环境
|
3月前
|
存储 编解码 算法
ffmpeg笔记(一)音视频基础
ffmpeg笔记(一)音视频基础
|
3月前
|
存储 Ubuntu 开发工具
ffmpeg笔记(二)windows下和ubuntu-16.04下ffmpeg编译
ffmpeg笔记(二)windows下和ubuntu-16.04下ffmpeg编译
|
5月前
|
存储 Web App开发 编解码
FastASR+FFmpeg(音视频开发+语音识别)(一)
FastASR+FFmpeg(音视频开发+语音识别)(一)
62 0
|
6月前
|
Ubuntu
百度搜索:蓝易云【ubuntu 20.04 aarch64 平台交叉编译 glib教程!】
现在,你已经完成了在Ubuntu 20.04 aarch64平台上交叉编译glib的过程。你可以使用aarch64平台的交叉编译工具链来编译和构建适用于该平台的应用程序。记得参考glib的文档和相关资源,以获取更多关于配置和使用的详细信息。
117 1