一、简介

Openharmony 系统参数为各系统服务提供了简单易用的键值对访问接口,从而使各个系统服务能够通过自身的系统参数来进行业务功能的配置。
媒体组件定义了一些系统参数,对这些系统参数进行配置,有助于在播放和录制过程中调试问题,本文将详细介绍媒体组件中常用的系统属性及其可能的使用场景。

二、版本

OpenHarmony-4.X-Release 标准系统,媒体引擎为gstreamer引擎

三、系统参数

1、日志

  • gstreamer框架日志等级
param set sys.media.log.level *:D

gstreamer引擎默认日志等级是WARNING。设置上面系统参数后会开启gstreamer框架及所有插件的DEBUG等级日志打印(含ERROR、WARNING、INFO等),可以看到更详细的调试日志信息。
还支持设置的参数值:*:E、*:W、*:D、*:L、*T

  • gstreamer单独类别日志等级
param set sys.media.log.level vdecbase:D

设置后只会开启gstreamer硬件解码插件的DEBUG等级日志打印。目前支持的TAG有vdecbase、vencbase、prosurallocator、curlhttpsrc。
vdecbase:硬解插件tag;vencbase:硬件编码插件tag; prosurallocator:producer surface allocator(管理视频播放时的显示buffer)tag;curlhttpsrc:curl http/https协议插件tag

  • 系统日志等级
hilog -b D;hilog -p off

系统可能默认不打印DEBUG等级日志,部分日志的private信息可能也不会打印。设置上面命令可以看到更详细的日志信息。

2、dump数据

(1)视频硬解数据

param set sys.media.dump.codec.vdec INPUT

dump视频硬件解码的输入数据,dump文件会生成在 /data/media/ 目录,文件名格式:vdecbase-in-xx.es

param set sys.media.dump.codec.vdec OUTPUT

dump视频硬件解码的输出数据,dump文件会生成在 /data/media/ 目录,文件名格式:vdecbase-out-xx.yuv

param set sys.media.dump.codec.vdec ALL

同时dump视频硬件解码的输入和输出数据

(2)视频录制输入数据

param set sys.media.dump.surfacesrc.enbale true

录制时dump视频输入数据,dump文件会生成在 /data/media/ 目录,文件名格式:surface-inxxx.es_yuv
如果数据dump失败可参考:OpenHarmony 录制时dump视频输入数据的方法

(3)音频输出数据

param set sys.media.dump.audiowrite.enable true

dump播放时同步后输出给音频框架层的PCM数据,dump文件会生成在 /data/media/ 目录,文件名格式:audio-write-xxx.pcm

(4)备注

设置以上属性dump数据前需要先创建/data/media/目录,并修改目录权限(chmod 777 /data/media/)

3、音频

param set sys.media.audiosink.disenable true

播放时音频PCM数据不会送给音频框架层,会直接丢弃。当AUDIO HDI未适配完成时,可配置该属性只播放视频

param set sys.media.set.mute TRUE

播放时设置音频输出音量为0

param set sys.media.audio.effect.disable TRUE 

播放时设置音频效果模式AudioEffectMode为none

4、播放同步

param set sys.media.kpi.avsync.log.enable true

设置后播放时视频每一帧送显时都会打印音视频同步的结果,日志中会有如下打印:“KPI-TRACE: audio_last_render_pts=xxx, video_last_render_pts=xxx, diff=xxx ms”

param set sys.media.drop.video.buffer.enable false

设置后播放场景下视频做同步时不会丢弃视频帧。该参数默认为true,同步时可能会丢弃视频帧

param set sys.media.close.avsync true

设置后视频帧不会根据音频pts调整送显时间,只会根据自身pts与管道运行时间同步

5、其他

param set sys.media.player.buffering.enable TRUE

设置后非http/https 网络播放也使能缓冲。默认只有http/https网络播放时会使能缓冲

param set sys.media.hls.set.autoSelectBitrate TRUE  

设置后hls网络播放时自动根据当前网速切换不同码率的节目播放,默认为FALSE

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐