Edit online

测试指南

30 Oct 2024
Read time: 2 minute(s)
测试用例 recorder_demo 主要功能是录制 MP4 文件。以 recorder_demo 为例,详细测试流程如下所示:
  1. 准备测试文件,确保测试文件满足播放器支持的文件格式要求。

    录像支持的 mp4 封装,支持 DVP 输入源 和 文件输入源。

  2. 准备一张 SD 卡,并格式化成 FAT32 格式,将测试视频复制到 SD 卡上。

    测试视频一般比较大,所以需要准备一张 SD 卡。

  3. 挂载 SD 卡。

    插入 SD 卡启动,若启动后系统没有自动挂载 SD 卡,执行下列步骤:
    1. 使用下面命令将 SD 卡挂在到根目录下:
      mount sd0/sd0p0  /  elm 
      • "sd0 或 sd0p0":SD 卡设备节点
      • "/" - 根目录
      • "elm"-fat32 文件系统
    2. 将 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
          }
      }
  4. 运行 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");
  5. 运行 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 编码后,录像正常。