LVGL之FFmpeg使用

FFmpeg是一个开源的多媒体框架,它可以处理各种音频和视频格式的转换、解码、编码和流处理。它提供了一套丰富的库和工具,广泛应用于视频点播、直播、多媒体处理、游戏开发等领域。

FFmpeg的主要组件包括:

  1. libavformat - 用于音频和视频的多媒体容器的多路复用和解复用。支持多种格式,如MP4、MKV、AVI等。
  2. libavcodec - 提供对许多流行编解码器的访问,包括H.264, H.265, VP9, MP3等。
  3. libavutil - 包含一些公共的工具函数,如随机数生成器、数据结构等。
  4. libswscale - 用于颜色空间转换和缩放的库。
  5. libpostproc - 用于后期处理的库,如去块、去噪等。
  6. libavfilter - 用于创建和处理音频和视频过滤器的框架。

FFmpeg的主要工具包括:

  • ffmpeg - 命令行工具,用于转换、流处理和播放。
  • ffplay - 一个简单的播放器,使用SDL库。
  • ffprobe - 一个多媒体流分析工具。

LVGL官方文档给出了FFmpeg的使用方法,按照其指导一步一步来就能正常使用了

  1. 安装FFmpeg

     #clone ffmpeg工程
     git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
     #进入工程目录
     cd ffmpeg
     #配置工程
     ./configure --disable-all --disable-autodetect --disable-podpages --disable-asm --enable-avcodec --enable-avformat --enable-decoders --enable-encoders --enable-demuxers --enable-parsers --enable-protocol='file' --enable-swscale --enable-zlib
    #执行make
    make
    #安装ffmpeg
    sudo make install
    
  2. 将其添加到项目中

在CMakeList.txt中添加下面这句

target_link_libraries(${PROJECT_NAME} -lavformat -lavcodec -lavutil -lswscale -lm -lz -lpthread)
  1. 使用

    /**

    • Open an image from a file
      */
      void lv_example_ffmpeg_1(void)
      {
      lv_obj_t * img = lv_image_create(lv_screen_active());
      lv_image_set_src(img, "./lvgl/examples/libs/ffmpeg/ffmpeg.png");
      lv_obj_center(img);
      }

注意: FFmpeg 扩展不使用 LVGL 的文件系统。您可以只需像往常一样在操作中传递图像或视频的路径即可系统或平台。 在使用PNG的时候,文件目录是这样写的:

#define PIC_BOOT_LODA_ADDR   "A:/home/.../picture/boot/%d.png"

而因为FFmpeg不使用LVGL的文件系统,因此地址就不能带盘符:

#define PIC_BOOT_LODA_ADDR   "/home/.../picture/boot/%d.png"

本文由博客一文多发平台 OpenWrite 发布!

相关推荐
柠檬叶子C5 天前
【F的领地】项目拆解:百家号批量搬运掘金 | 搬运类项目核心思路分享
随笔
柠檬叶子C7 天前
【平渊科技】项目拆解:小说推文项目 | 经验分享
副业·随笔
柠檬叶子C13 天前
【平渊网络】副业项目拆解:视频借鉴式搬运项目 | 搞笑视频跨平台 “借鉴式” 搬运项目思路 | 抖音防查重机制基础
随笔
躺柒18 天前
2024年8月总结及随笔之逝
总结·随笔
板栗妖怪20 天前
ssrf做题随记--任务计划的写入、csrf简单知识
学习·随笔·小记
韩曙亮1 个月前
【学习方法】高效学习因素 ② ( 学习动机 | 内在学习动机 | 外在学习动机 | 外在学习动机的调整方向 | 保护学习兴趣 | 高考竞争分析 )
学习·学习方法·随笔·高效学习·学习动机
韩曙亮1 个月前
【学习方法】高效学习因素 ① ( 开始学习 | 高效学习因素五大因素 | 高效学习公式 - 学习效果 = 时间 x 注意力 x 精力 x 目标 x 策略 )
学习方法·注意力·随笔·高效学习·学习策略·学习时长·学习目标
柠檬叶子C3 个月前
《大道平渊》· 拾肆 —— 不要为不属于你负责的事情负责
随笔
吃辣椒的年糕3 个月前
最小二乘法算法(个人总结版)
人工智能·深度学习·算法·fpga开发·信息与通信·最小二乘法·随笔