若该文为原创文章,请注明原文出处

各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究

​​FFmpeg和SDL开发专栏(点击传送门)​​

上一篇:《​​FFmpeg开发笔记(九):ffmpeg解码rtsp流并使用SDL同步播放​​》

下一篇:敬请期待



前言

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



FFmpeg下载

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

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

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

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



交叉编译器环境

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



编译ffmpeg

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

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

步骤二:配置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

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

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

cat ffbuild/config.log

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

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

  这是打入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

  成功配置:

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

步骤三:编译make -j8

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

步骤四:安装make install

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

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

步骤五:检查文件

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



部署到板子上


  • 方法一:拷贝进入系统目录,对应bin、include、lib
  • 方法二:单独一个目录,运行前跑脚本进入路径(笔者是Qt,将ffmpeg打入qt的安装目录,使用qt的路径即可)。
    贴上开发本Qt的脚本(注意系统不同,平台的参数最后2个可能不同):
      FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台_交叉编译ffmpeg库_09


板子上ffmpeg播放器测试1

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



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

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





若该文为原创文章,请注明原文出处