FFmpeg是一個開源的多媒體框架,它可以處理各種音頻和視頻格式的轉換、解碼、編碼和流處理。它提供了一套豐富的庫和工具,廣泛應用於視頻點播、直播、多媒體處理、游戲開發等領域。 FFmpeg的主要組件包括: libavformat - 用於音頻和視頻的多媒體容器的多路復用和解復用。支持多種格式,如MP ...
FFmpeg是一個開源的多媒體框架,它可以處理各種音頻和視頻格式的轉換、解碼、編碼和流處理。它提供了一套豐富的庫和工具,廣泛應用於視頻點播、直播、多媒體處理、游戲開發等領域。
FFmpeg的主要組件包括:
- libavformat - 用於音頻和視頻的多媒體容器的多路復用和解復用。支持多種格式,如MP4、MKV、AVI等。
- libavcodec - 提供對許多流行編解碼器的訪問,包括H.264, H.265, VP9, MP3等。
- libavutil - 包含一些公共的工具函數,如隨機數生成器、數據結構等。
- libswscale - 用於顏色空間轉換和縮放的庫。
- libpostproc - 用於後期處理的庫,如去塊、去噪等。
- libavfilter - 用於創建和處理音頻和視頻過濾器的框架。
FFmpeg的主要工具包括:
- ffmpeg - 命令行工具,用於轉換、流處理和播放。
- ffplay - 一個簡單的播放器,使用SDL庫。
- ffprobe - 一個多媒體流分析工具。
LVGL官方文檔給出了FFmpeg的使用方法,按照其指導一步一步來就能正常使用了
- 安裝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)
- 使用
/**
* 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 發佈!
本文來自博客園,作者:xjxcxjx,轉載請註明原文鏈接:https://www.cnblogs.com/xjxcxjx/p/18380722,謝絕CSDN轉載!