海思平台不依赖频道文件实现 DVB 直接播放
1. 频道文件与直接调谐的区别传统方案的流程是搜索频道 ↓ 导出频道文件 ↓ 系统预置频道文件 ↓ 开机导入 ↓ 根据文件中的 PID 播放频道文件通常包含频率符号率调制方式节目号视频 PID音频 PID。这种方案启动速度快但依赖具体地区和运营商。如果频点发生变化或者需要验证底层 Tuner、Demod 和 Demux 是否能够独立工作就需要采用直接调谐方式。直接调谐的基本流程是输入频率和制式参数 ↓ 配置 Tuner ↓ 配置 Demod 并等待锁定 ↓ 将 MPEG-TS 送入 Demux ↓ 过滤 PAT/PMT ↓ 解析音视频 PID ↓ 启动解码播放需要注意“不使用频道文件”并不代表完全不需要节目表。如果事先不知道音视频 PID仍然需要通过 PAT 和 PMT 动态发现节目。2.sample_dvbplay的作用项目中的测试程序位于device/hisilicon/bigfish/sdk/sample/dvbplay程序会根据命令行参数选择信号制式并完成前端初始化、锁频、节目搜索和播放。例如 DVB-Csample_dvbplay dvbc 474 6875 64参数含义通常为474 频率单位由平台约定 6875 符号率 64 QAM 调制方式DVB-T、DVB-S 等制式使用的参数不同具体格式可以查看device/hisilicon/bigfish/sdk/sample/dvbplay/readme_cn.txt程序初始化的大致顺序如下HI_UNF_DMX_Init(); HI_UNF_DMX_AttachTSPort(...); HI_UNF_TUNER_Init(); HI_UNF_TUNER_Open(...); HI_UNF_TUNER_SetAttr(...); HI_UNF_TUNER_Connect(...); HIADP_Search_GetAllPmt(...);也就是说程序不是直接“打开一个频道”而是先让前端产生有效 TS再从 TS 中搜索节目。3. Tuner、Demod 和 Demux 的职责TunerTuner 负责选择目标射频频段并完成调谐。典型配置包括Tuner 类型Tuner I2C 地址频率符号率输出模式。DemodDemod 负责对 Tuner 输出的信号进行解调恢复 MPEG-TS。典型配置包括Demod 类型Demod I2C 地址I2C 通道复位 GPIO调制方式TS 输出格式。DemuxDemux 接收 TS并根据 PID 和 Section Filter 提取节目表及音视频数据。常见表包括PAT节目关联表PMT节目映射表SDT业务描述表EIT节目事件信息。因此播放失败时必须区分问题发生在哪一层Tuner 未锁频 ≠ Demod 未解调 ≠ Demux 未收到 TS ≠ PAT/PMT 过滤失败 ≠ 音视频解码失败4. 前端参数必须与硬件匹配dvbplay.c中会读取前端配置并写入 Tuner 属性stTunerAttr.enTunerDevType stTunerCfg.u32TunerType; stTunerAttr.u32TunerAddr stTunerCfg.u32TunerI2cAddr; stTunerAttr.enDemodDevType stTunerCfg.u32DemodType; stTunerAttr.u32DemodAddr stTunerCfg.u32DemodI2cAddr; stTunerAttr.enI2cChannel stTunerCfg.u32I2cChNum;因此出现下面的日志时HI_UNF_TUNER_SetAttr failed应优先检查Tuner 类型是否正确Demod 类型是否正确I2C 地址是否正确I2C 通道是否正确复位 GPIO 是否正确TS 端口是否正确当前信号制式是否匹配。如果日志中的demod_type、demod_addr与硬件原理图或配置文件不一致程序可能还没有进入真正的节目搜索阶段。5. 如何分析 Demux 超时如果前端初始化成功但出现HIADP_Search_GetAllPmt failed DMX_DataRead timeout说明问题已经进入节目搜索阶段。unf_abs.c中的DMX_DataRead()会调用HI_UNF_DMX_AcquireBuf(...)从 Demux 通道获取 Section 数据。如果在指定时间内没有获得完整的 PAT 或 PMT就会返回失败。常见原因包括Demod 没有锁定Demod 没有输出 TSTS 端口、时钟或极性配置错误Demux 没有接收到有效数据PID 配置错误Section Filter 的 Match/Mask 设置错误实际调用了错误的 Demux 实现。推荐同时查看dmesg | grep -iE tuner|demod|lock|signal|ts logcat -b all | grep -iE dvb|demux|pat|pmt|timeout6. 一套实用排查顺序建议按照下面的顺序定位确认频率、符号率和调制方式 ↓ 确认 Tuner/Demod 参数 ↓ 确认锁频状态 ↓ 确认 TS 是否进入 Demux ↓ 确认 PAT 是否获取成功 ↓ 确认 PMT 是否获取成功 ↓ 确认音视频 PID ↓ 确认解码器和显示输出不要一看到timeout就直接增大超时时间。超时只是“在规定时间内没有拿到数据”真正原因可能是更早的硬件参数或数据通路错误。结语直接调谐播放的价值不只是省去频道文件还可以验证整条 DVB 底层链路Tuner → Demod → TS → Demux → PAT/PMT → Decoder当这条链路被逐层验证后后续无论采用频道文件播放、自动搜台还是实时调谐都能建立在可靠的底层基础上。

相关新闻

海思 DVB 播放超时与 C 语言同名函数冲突排查

海思 DVB 播放超时与 C 语言同名函数冲突排查

概要本文记录一次海思 DVB 直接播放失败的定位过程。程序最初出现 HI_UNF_TUNER_SetAttr failed,修正前端参数后又出现 HIADP_Search_GetAllPmt failed 和 DMX_DataRead timeout。进一步分析发现,unf_abs.c 与 hi_adp_demux.c 中存在同名函数&#xff0c…

2026/11/13 16:54:37 阅读更多 →
IoT OTA 灰度发布与回滚:从设备分组到故障收敛

IoT OTA 灰度发布与回滚:从设备分组到故障收敛

一次固件在实验室成功升级,只证明“这台设备在这次条件下写入并启动了新镜像”。它没有证明车队里不同硬件修订、运营商网络、剩余电量、存储磨损、现场外设和长时间离线设备都能安全升级。真正的 IoT OTA 系统不是文件分发器,而是一套限制故障半径、判断…

2026/11/13 22:10:28 阅读更多 →
【超详细】搞懂tar、tgz、zip、rar、7z归档压缩格式,理清跨平台踩坑根源

【超详细】搞懂tar、tgz、zip、rar、7z归档压缩格式,理清跨平台踩坑根源

文章目录1、先分清归档与压缩,很多初学者的概念误区1.1 归档与压缩二者完全是两件独立工作1.2 两套技术路线诞生的历史背景2、tar家族格式完整拆解:tar / tar.gz / tgz / tar.bz2 / tar.xz2.1 tar归档格式,只打包不压缩2.2 gzip介入之后&…

2026/11/5 17:33:09 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/13 5:13:25 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/13 5:13:25 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/13 5:13:25 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/13 22:08:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/12 18:22:25 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/13 5:13:25 阅读更多 →

日新闻

周新闻

月新闻