海思平台不依赖频道文件实现 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/8/26 18:52:29 阅读更多 →
IoT OTA 灰度发布与回滚:从设备分组到故障收敛

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

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

2026/8/26 18:52:29 阅读更多 →
【超详细】搞懂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/8/26 18:52:29 阅读更多 →

最新新闻

Ornith-1.5 自我改进范式深度剖析:任务生成、脚手架与 Rollout 联合强化学习如何炼出 397B 旗舰

Ornith-1.5 自我改进范式深度剖析:任务生成、脚手架与 Rollout 联合强化学习如何炼出 397B 旗舰

Ornith-1.5 自我改进范式深度剖析:任务生成、脚手架与 Rollout 联合强化学习如何炼出 397B 旗舰 【免费下载链接】Ornith-1.5-397B 项目地址: https://ai.gitcode.com/hf_mirrors/ornith-ai/Ornith-1.5-397B Ornith-1.5-397B 是 ornith-ai 团队推出的自我改…

2026/8/26 20:00:44 阅读更多 →
让AI写代码做数据分析:Superflows数据洞察与自动绘图功能揭秘

让AI写代码做数据分析:Superflows数据洞察与自动绘图功能揭秘

让AI写代码做数据分析:Superflows数据洞察与自动绘图功能揭秘 【免费下载链接】superflows Open-source toolkit to build an AI copilot for SaaS products 项目地址: https://gitcode.com/gh_mirrors/su/superflows Superflows 是一个开源的 AI 副驾驶&…

2026/8/26 20:00:44 阅读更多 →
数据库链路追踪深度实践:如何为SQL Server和Entity Framework Core启用opentelemetry-dotnet-contrib遥测

数据库链路追踪深度实践:如何为SQL Server和Entity Framework Core启用opentelemetry-dotnet-contrib遥测

数据库链路追踪深度实践:如何为SQL Server和Entity Framework Core启用opentelemetry-dotnet-contrib遥测 【免费下载链接】opentelemetry-dotnet-contrib This repository contains set of components extending functionality of the OpenTelemetry .NET SDK. Ins…

2026/8/26 20:00:44 阅读更多 →
item重排也要丝滑动画?三步开启SpannedGridLayoutManager的流畅过渡效果

item重排也要丝滑动画?三步开启SpannedGridLayoutManager的流畅过渡效果

item重排也要丝滑动画?三步开启SpannedGridLayoutManager的流畅过渡效果 【免费下载链接】SpannedGridLayoutManager Android RecyclerView.LayoutManager that resizes and reorders views based on SpanSize 项目地址: https://gitcode.com/gh_mirrors/sp/Spann…

2026/8/26 20:00:44 阅读更多 →
基于SpringBoot+Vue 2的高校失物招领系统的设计与实现

基于SpringBoot+Vue 2的高校失物招领系统的设计与实现

文章目录项目介绍技术栈功能介绍实现页面截图一、项目背景与需求分析二、系统架构与技术选型技术选型对比三、核心功能模块实现1)失物招领列表查询2)用户登录与注册3)真实问题排查:登录态导致普通用户可见范围不稳定4)…

2026/8/26 20:00:44 阅读更多 →
TransT开发者指南:ltr、pytracking、util三大模块目录结构与核心API完整速查

TransT开发者指南:ltr、pytracking、util三大模块目录结构与核心API完整速查

TransT开发者指南:ltr、pytracking、util三大模块目录结构与核心API完整速查 【免费下载链接】TransT Transformer Tracking (CVPR2021) 项目地址: https://gitcode.com/gh_mirrors/tr/TransT TransT(Transformer Tracking,CVPR 2021…

2026/8/26 19:59:43 阅读更多 →

日新闻

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/26 0:00:40 阅读更多 →
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》索引目录: 《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中,主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是: 关于FileGroup 如果你的系统是用Raid设备直接存…

2026/8/26 1:18:18 阅读更多 →
政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体已经从概念试点阶段,转入了政务服务的常态化落地应用;在实际使用过程中,它能自主理解办事需求、辅助完成填报申报、开展材料预审,并联动多个系统协同作业,真正嵌入到政务办理的全流程当中。但在落地推进过…

2026/8/26 1:18:18 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/26 14:45:33 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/26 17:46:43 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/26 17:46:39 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →