测试指南
30 Oct 2024
Read time: 2 minute(s)
测试用例 recorder_demo 主要功能是录制 MP4 文件。以 recorder_demo 为例,详细测试流程如下所示:
-
准备测试文件,确保测试文件满足播放器支持的文件格式要求。
录像支持的 mp4 封装,支持 DVP 输入源 和 文件输入源。
-
准备一张 SD 卡,并格式化成 FAT32 格式,将测试视频复制到 SD 卡上。
测试视频一般比较大,所以需要准备一张 SD 卡。
-
挂载 SD 卡。
插入 SD 卡启动,若启动后系统没有自动挂载 SD 卡,执行下列步骤:- 使用下面命令将 SD
卡挂在到根目录下:
mount sd0/sd0p0 / elm
- "sd0 或 sd0p0":SD 卡设备节点
- "/" - 根目录
- "elm"-fat32 文件系统
-
将 recorder.config 放到 SD 卡中, 根据用户需要配置 recorder.config。
recorder.config 配置说明如下:{ "video_in_file":"/sdcard/19030915.yuv", //输入源为文件时读取该视频文件 "audio_in_file":"/sdcard/audio.pcm", //不支持 "output_file":"/sdcard/", //输出录像文件路径 "file_duration":40, "file_num":0, "file_muxer_type":0, //录像封装类型,目前仅支持 MP4 "qfactor":80, //录像 qp 值 "video": //视频配置参数 { "enable":1, //开关 "codec_type":4097, //录像编码格式,目前仅支持 MJPEG "out_width":640, //录像视频宽,输入源为文件时必须和 19030915.yuv 分辨率一致 "out_height":480, //录像视频高,输入源为文件时必须和 19030915.yuv 分辨率一致 "out_framerate":25, //录像视频帧率 "out_bitrate":1300, //录像视频码率,目前无效,码率大小仅受 qfator 影响 "in_width":320, //输入分辨率,目前无效 "in_height":240, //输入分辨率,目前无效 "in_pix_format":32 //输入图像格式,目前无效 }, "audio": //音频配置参数,目前无效 { "enable":0, "codec_type":1, "out_bitrate":128000, "out_samplerate":48000, "out_channels":2, "out_bits_per_sample":16, "in_samplerate":48000, "in_channels":2, "in_bits_per_sample":16 } }
- 使用下面命令将 SD
卡挂在到根目录下:
-
运行 recorder_demo。
recorder_demo 支持设置录像输入源、录像时间、录像配置等命令。
recorder_demo -h #查看使用说明 printf("Usage: recorder_demo [options]:\n" "\t-i video input source\n" "\t-t recorder time(s)\n" "\t-c recorder config file\n" "\t-h help\n\n" "Example1: recorder_demo -i dvp -t 60 -c /sdcard/recorder.config\n" "Example2: recorder_demo -i file -t 60 -c /sdcard/recorder.config\n");
-
运行 recorder_demo_cmd
recorder_demo 支持设置停止录像、抓拍、调试等命令。recoder_demo_cmd help #查看使用说明 printf("Usage: recoder_demo_cmd [options]:\n" "\tstop stop recorder\n" "\tsnap snap one frame\n" "\tdebug get debug info\n" "\t help\n\n");
测试结果预期
- 从 DVP 视频输入,实现 MJPEG 编码后,录像正常。
- 从文件读取 YUV 数据,实现 MJPEG 编码后,录像正常。