English | 简体中文
本工程提供了在 Linux 环境下使用 C/C++ 开发多媒体应用的一些例子,可以在 Milk-V Duo 系列
设备上运行。
- 使用本机 Ubuntu 系统,推荐
Ubuntu 22.04 LTS
(也可以使用虚拟机中的 Ubuntu 系统、Windows 中 WSL 安装的 Ubuntu、基于 Docker 的 Ubuntu 系统)
-
安装编译依赖的工具
sudo apt-get install wget git cmake
-
下载交叉编译工具
git clone https://github.com/milkv-duo/host-tools.git
-
获取 Examples
git clone https://github.com/milkv-duo/duo-media-examples.git
-
修改cmake/musl_riscv64.cmake文件里CROSS_CHAIN_PATH
# Fixme replace with your appropriate path. set(CROSS_CHAIN_PATH "XXX/host-tools/gcc/riscv64-linux-musl-x86_64")
-
编译测试 以
video_recorder
为例,进入该例子目录直接执行 ./build_riscv64.sh 即可:cd video_recorder ./build_riscv64.sh
编译成功后将out目录下生成的
videoRecorder
可执行程序通过网口或者 USB-NCM 网络等方式传送到 Duo 设备中。比如默认固件支持的 USB-NCM 方式,Duo 的 IP 为192.168.42.1
,用户名是root
,密码是milkv
。$ scp out/videoRecorder [email protected]:/root/
发送成功后,在 ssh 或者串口登陆的终端中运行
./videoRecorder -h
,会打印帮助信息。[root@milkv]~# ./videoRecorder -h usage: videoRecorder [-h] [-f flv] [-t 60] [-o out.flv] This is a simple video recording program based on milkV duo. --daemon Run application as a daemon. --umask=mask Set the daemon's umask (octal, e.g. 027). --pidfile=path Write the process ID of the application to given file. -h, --help Display help information. -f<format>, --format=<format> Specify output format: h264, flv. -t<seconds>, --time=<seconds> Specify recording duration seconds. -o<outpath>, --outpath=<outpath> Specify output path. For more information, visit the website https://milkv.io.
输入如下命令,即可从摄像头录制一段视频,时长60秒,flv格式,文件名out.flv
./videoRecorder -f flv -t 60 -o out.flv
- 根据需要,拷贝现有的例子,稍加修改即可。
-
video_recorder
从摄像头录制一段视频。
-
video_player_vo
采用 CVITEK 提供的Multimedia Framework 解码和播放视频。
注意:播放视频前要调试 MIPI DSI接口屏幕 -
video_player_fb
采用 ffmpeg 解码 和 Linux framebuffer 播放视频。
注意:播放视频前要加载fb内核[root@milkv-duo]~# insmod /mnt/system/ko/cvi_fb.ko