通州免费网站建设,wordpress模块化建站,网站建设期末作业,广告网站建设设计文章目录1.ubuntu安装ffmpeg1.1 源码安装1.1 克隆ffmpeg源码1.2 配置编译条件#xff0c;编译#xff0c;安装1.2 直接安装依赖包2.下载lvgl源码2.1 测试原始代码2.2 运行lv_example_ffmpeg_2()例程2.2.1 配置 LV_USE_FFMPEG 为 12.2.2 lv_example_ffmpeg_2()替换lv_demo_wid…
文章目录1.ubuntu安装ffmpeg1.1 源码安装1.1 克隆ffmpeg源码1.2 配置编译条件编译安装1.2 直接安装依赖包2.下载lvgl源码2.1 测试原始代码2.2 运行lv_example_ffmpeg_2()例程2.2.1 配置 LV_USE_FFMPEG 为 12.2.2 lv_example_ffmpeg_2()替换lv_demo_widgets()2.2.3 链接库增加ffmpeg的库目录和库名2.2.4 《lv_ffmpeg.c》增加一行代码 av_register_all()2.2.5 视频文件传入路径3.源码链接参考文章1.百问网
3rd party libraries第 3 方库 » FFmpeg support1.ubuntu安装ffmpeg
1.1 源码安装
1.1 克隆ffmpeg源码
git clone https://github.com/FFmpeg/FFmpeg.git1.2 配置编译条件编译安装
#1.配置
./configure --disable-all --disable-autodetect --disable-podpages --disable-asm --enable-avcodec --enable-avformat --enable-decoders --enable-encoders --enable-demuxers --enable-parsers --enable-protocolfile --enable-swscale --enable-zlib
#2.编译
make
#3.安装
sudo make install 1.2 直接安装依赖包
我由于先安装了源码再安装依赖包现在都不知道是不是直接安装依赖包就可以了。
sudo apt install libsdl2-dev libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libswresample-dev2.下载lvgl源码
2.1 测试原始代码
使用这个版本https://github.com/lvgl/lv_port_pc_eclipse的源码。
#1.下载源码
git clone https://github.com/lvgl/lv_port_pc_eclipse.git
#2.进入目录
cd lv_port_pc_eclipse
#3.下载子模块
git submodule update --init --recursive此时默认显示配置使用SDL可以直接编译运行默认运行《lv_demo_widgets()》
2.2 运行lv_example_ffmpeg_2()例程
2.2.1 配置 LV_USE_FFMPEG 为 1
在顶层目录下的 《lv_conf.h》 配置 LV_USE_FFMPEG 为 1
2.2.2 lv_example_ffmpeg_2()替换lv_demo_widgets()
// lv_demo_widgets();lv_example_ffmpeg_2();2.2.3 链接库增加ffmpeg的库目录和库名
LDLIBS : -lSDL2 -lm -L/uar/local/ffmpeg/lib -lavutil -lavformat -lavcodec -lswscale -lswresample 2.2.4 《lv_ffmpeg.c》增加一行代码 av_register_all()
《lvgl\src\extra\libs\ffmpeg\lv_ffmpeg.c》 需要增加一行代码才能正常工作 在上面的函数中没有av_register_all()就会导致avformat_open_input()出错或许av_register_all()应该放置在更合理的地方比如ffmpeg初始化时放置这里只是临时解决方案。 从上面图片中689行的代码 if(avformat_open_input((ffmpeg_ctx-fmt_ctx), path, NULL, NULL) 0) {可以推断视频文件的路径path是linux系统路径不用理会lvgl自身的路径。
2.2.5 视频文件传入路径
本例程中使用的文件系统驱动是STDIO lvgl自身的文件目录的命名都没有起作用直接使用ubuntu的文件目录。 比如我播放的视频是 bird.mp4 ,在ubuntu中的路径是 /mnt/hgfs/linux-D1/app/birds.mp4直接传入例程
void lv_example_ffmpeg_2(void)
{/*birds.mp4 is downloaded from http://www.videezy.com (Free Stock Footage by Videezy!)*https://www.videezy.com/abstract/44864-silhouettes-of-birds-over-the-sunset*/lv_obj_t * player lv_ffmpeg_player_create(lv_scr_act());lv_ffmpeg_player_set_src(player, /mnt/hgfs/linux-D1/app/birds.mp4);lv_ffmpeg_player_set_auto_restart(player, true);lv_ffmpeg_player_set_cmd(player, LV_FFMPEG_PLAYER_CMD_START);lv_obj_center(player);
}3.源码链接
https://gitee.com/huangweide001/lvgl-ffmpeg