HiSilicon352 android9.0 开机视频调试分析

一,开机视频概念

开机广告是在系统开机后实现播放视频功能。

海思Android解决方案在原生Android基础上,增加了开机视频模块,可在开机过程中播放视频文件,使用户更好的体验系统开机过程。


二,模块结构

1. 海思自研开机视频代码路径;

bash 复制代码
vendor/hisilicon/modules/hibootvideo

2. Android原生bootanimation代码路径:

bash 复制代码
frameworks/base/cmds/bootanimation

模块层次结构如下所示,开机视频先从media.player服务中获取IMediaPlayer播放 器进行媒体文件的播放。播放开机广告视频期间的音量调节在hiBootvideoInput 中完成,并存储实时音量到service.bootvideo.volume中,在视频播放完毕后通过
AudioService统一刷新该音量至全局音量,播放开机广告视频期间的音量条显

示、静音显示、倒计时显示在HiBootvideoUI中完成,在视频播放完毕后释放。

3. 模块间依赖说明:

● 开机视频播放结束后可通过属性init.svc.bootvideo来判断,并销毁Window,释放用

于绘制图形的surface,在进入HiTvLancher时DTV/ATV端子源才能进行创建

Window并切源。

● 开机视频播放过程中设置的音量会存放在service.bootvideo.volume中,视频播放

完后,AudioService将service.bootvideo.volume刷新至全局音量。

● 开机视频播放过程中倒计时显示开关通过配置文件/product/etc/hi_boot_video_config.xml中的属性isEnableCountDown为true打开,中英文显示切换通过配置language="ch"表示中文显示,language="en"表示英文显示。倒计时显示背景图片可以推送到atv/bootvideo/countdown.png替换。


三, 功能

默认开机视频播放流程:Kernel启动后播放单板/data/local/bootvideo.mp4 视频文

件,可通过判断属性init.svc.bootvideo判断是否播放完成,播放完成后进入lancher

界面。


四,开发指引

开机视频相关配置文件如下:

1. 功能性配置文件

bash 复制代码
文件路径:/vendor/hisilicon/modules/hibootvideo/config.xml
配置项 配置项含义
path1和strpath1 媒体文件路径(因为权限问题,建议放在/data/local/目录)
videoLimit 视频播放最大长度

2. 视频文件路径

bash 复制代码
device/hisilicon/bigfish/prebuilts/bootvideo.mp4

3. 音量调节背景图片路径

bash 复制代码
device/hisilicon/bigfish/prebuilts/mute.png
device/hisilicon/bigfish/prebuilts/panel.png

4. 视频文件路径配置文件

bash 复制代码
device/hisilicon/bigfish/prebuilts/Android.mk

5. 相关property配置文件

bash 复制代码
device/hisilicon/Hi3751V350/device_property.mk
Property 含义
prop.service.bootop.type 开机业务类型(bootvideo表示开机视频、bootanim表示开机动画、quickplay表示端子播放)三者配置互斥,同时只能选择一个配置场景
service.bootvideo.volume 暂存音量值
init.svc.bootvideo 开机视频播放结束标志

6. 单板上存放视频文件路径

开机视频data/local/bootvideo.mp4

7. 单板上存放动画文件路径

bash 复制代码
product/media/bootanimation.zip

注:开机视频文件全称应为bootvideo.mp4,

并放置到如上的指定目录下,其中bootanimation.zip应使用存储方式压缩生成


五,调试指引

1. 开机视频未起播

1> 通过在init.xxxx.rc中添加开机启动log服务,开机后导出log,搜索关键字

bootvideo进行分析。

例如:service get_log /system/bin/logcat -f/data/local/tmp/log.txt

class main

oneshot

2> 检查配置文件prop.service.bootop.type=bootvideo是否满足,检查单板data/ local/bootvideo.mp4文件是否存在,视频文件是否受损。

2. 开机视频播放完黑屏

1> 检查开机视频文件最后一帧是否为黑帧。

2> 检查BootVideo进程是否退出,若退出后,而此时Lancher未启动会导致黑屏。

3> 检查开机视频时长LOCAL_BOOT_VIDEO_LIMIT配置是否合理。

4> 检查静帧配置LOCAL_SUPPORT_LAST_FRAME是否打开。

3. 开机视频音量跳变

1> 通过 logcat | grep HiMW@ 查看MW音量设置情况,找到设置音量的进程。

2> 通过 logcat | grep -i audio 抓取串口日志,检查AudioService和AudioPolicyManager设置音量的时机。

相关推荐
简鹿办公28 分钟前
如何提取某站 MV 视频中的音乐为 MP3 音频
音视频·简鹿视频格式转换器·视频提取mp3音频
yufengxinpian34 分钟前
集成了高性能ARM Cortex-M0+处理器的一款SimpleLink 2.4 GHz无线模块-RF-BM-2340B1
单片机·嵌入式硬件·音视频·智能硬件
Dnelic-2 小时前
【单元测试】【Android】JUnit 4 和 JUnit 5 的差异记录
android·junit·单元测试·android studio·自学笔记
runing_an_min2 小时前
ffmpeg视频滤镜:替换部分帧-freezeframes
ffmpeg·音视频·freezeframes
Eastsea.Chen4 小时前
MTK Android12 user版本MtkLogger
android·framework
runing_an_min4 小时前
ffmpeg视频滤镜:提取缩略图-framestep
ffmpeg·音视频·framestep
小曲曲5 小时前
接口上传视频和oss直传视频到阿里云组件
javascript·阿里云·音视频
安静读书8 小时前
Python解析视频FPS(帧率)、分辨率信息
python·opencv·音视频
佑华硬盘拷贝机8 小时前
音频档案批量拷贝:专业SD拷贝机解决方案
音视频
EasyNVR8 小时前
NVR管理平台EasyNVR多个NVR同时管理:全方位安防监控视频融合云平台方案
安全·音视频·监控·视频监控