前言
本板资源特别适合多媒体终端等应用场景开发,本篇基于ffmpeg的ffplay实现视频播放器的Demo。我们基于WIN11+WSL2+UBUNTU的方式搭建开发环境,搭建过程可以网上搜索,这里不再赘述。需要安装必要的工具,比如sudo apt-get install gcc-aarch64-linux-gnu等。PC端
git clone https://github.com/FFmpeg/FFmpeg.git/
cd FFmpeg/
make clean
./configure --disable-x86asm --prefix=/home/lhj/opt/ffmpeg/win --enable-shared
make -j8
make install
lhj@lhj:~/FFmpeg$ ls /home/lhj/opt/ffmpeg/win
bin include lib share
lhj@lhj:~/FFmpeg$ ls /home/lhj/opt/ffmpeg/win/bin/
ffmpeg ffprobe
sudo apt-get install libsdl2-2.0
sudo apt-get install libsdl2-dev
lhj@lhj:~/FFmpeg$ ls /home/lhj/opt/ffmpeg/win/bin/
ffmpeg ffplay ffprobe
PATH=$PATH:/home/lhj/opt/ffmpeg/win/bin
PATH=$PATH:/home/lhj/opt/ffmpeg/win/lib
source /etc/profile
sudo cp ~/opt/ffmpeg/win/lib/* /usr/lib
开发板端
由于开发板运行了Ubuntu20系统,且已经联网支持apt-get安装各种包。且开发板性能足够,所以可以直接在开发板上构建。安装sdl
//git clone https://github.com/libsdl-org/SDL.git
wget https://www.libsdl.org/release/SDL2-2.0.14.tar.gz
tar -zxvf SDL2-2.0.14.tar.gz
cd SDL2-2.0.14/
./configure --prefix=/root/opt/sdl
make -j4
make install
cp /root/opt/sdl/lib/lib* /usr/lib
cp /root/opt/sdl/include/SDL2/* /usr/include/
安装xcb-shm
wget https://xorg.freedesktop.org/archive/individual/proto/xcb-proto-1.15.tar.gz
tar -zxvf xcb-proto-1.15.tar.gz
cd xcb-proto-1.15
./configure --prefix=/root/opt/proto
wget https://xorg.freedesktop.org/archive/individual/lib/libxcb-1.15.tar.gz
tar -zxvf libxcb-1.15.tar.gz
cd libxcb-1.15
sudo apt-get install pkg-config
sudo apt-get install xcb-proto
apt install python3-xcbgen
./configure --prefix=/root/opt/xcb
构建ffmpeg
sudo apt-get update
sudo apt-get upgrade
git clone https://github.com/FFmpeg/FFmpeg.git/
cd FFmpeg/
sudo apt-get install libsdl2-2.0
sudo apt-get install libsdl2-dev
./configure --prefix=/root/opt/ffmpeg
//vi ./ffbuild/config.mak
//!CONFIG_FFPLAY=yes
//改为
//CONFIG_FFPLAY=yes
make -j4
make install
root@ok3588:~/FFmpeg# ls /root/opt/ffmpeg/
bin include lib share
cp /root/opt/ffmpeg/bin/* /usr/bin/
cp /root/opt/ffmpeg/lib/lib* /usr//lib
cp -rf /root/opt/ffmpeg/include/* /usr/include/
使用编译好的二进制文件
从https://github.com/BtbN/FFmpeg-Builds/releases/tag/latest下载编译好的二进制文件
选择linuxARM64版本解压bin目录下即为可执行文件root@ok3588:~# ls ffmpeg-master-latest-linuxarm64-gpl-shared/bin/
ffmpeg ffplay ffprobe
root@ok3588:~#
使用ffplay播放视频
可以从https://sample-videos.com/index.php#sample-mp4-video下载测试视频播放视频ffplay SampleVideo_1280x720_20mb.mp4

见顶部视频,可以看到要基于本板实现视频播放终端是非常简单的,这得益于开发板完善的系统和强劲的资源性能。
总结
以上实现了ffmpeg ffplay视频播放开发环境的搭建,得益于开发板强劲的性能,运行了Ubuntu20系统,且支持apt安装包,所以可以直接在开发板上构建,避免了繁琐的交叉编译,构建速度也和PC上差不太多。和PC端对比性能测试看到基本是PC端性能的一半,可以看到是非常强悍的,基本可以作为开发PC来使用了。
我要赚赏金
