CN111447475A - 基于数字机顶盒的多路pvr控制***及录制、回放方法 - Google Patents
基于数字机顶盒的多路pvr控制***及录制、回放方法 Download PDFInfo
- Publication number
- CN111447475A CN111447475A CN202010230832.8A CN202010230832A CN111447475A CN 111447475 A CN111447475 A CN 111447475A CN 202010230832 A CN202010230832 A CN 202010230832A CN 111447475 A CN111447475 A CN 111447475A
- Authority
- CN
- China
- Prior art keywords
- recording
- pvr
- module
- playback
- channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4147—PVR [Personal Video Recorder]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47217—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种基于数字机顶盒的多路PVR控制***,包括指令解析模块,解析与封装cJson格式的指令、对接PVR功能接口调用;Route控制模块,为Route支路分配RouteId;录制文件管理模块,管理录制文件信息;录制通道管理模块,管理录制的通道;播放资源管理模块,对Player资源进行协调管理;PVR事件消息反馈模块,对PVR的录制、回放和时移功能注册回调函数,将信息封装为事件消息发送至Order APK。本发明在基于Android TIF架构的数字机顶盒中开发多路PVR功能,灵活配置多个Tuner,多路解复用器,录制通道,多路解码器等硬件资源实现多路录制,多屏回放以及时移等功能。
Description
技术领域
本发明涉及PVR控制技术领域,具体的说,是基于数字机顶盒的多路PVR控制***及录制、回放方法。
背景技术
PVR(Personal Video Recorder,个人视频录像机)是以硬盘这种非易失性的存储设备作为存储介质,建立本地海量的缓冲区以及解密存储库,并利用数字化的图像处理技术来达到对节目的管控操作。
Android TIF(Android TV input Framework)是Google向电视制造商提供的一套标准的API,用于创建Input模块来控制Android电视,以下简称TIF。基于TIF的数字机顶盒能够让数字机顶盒更容易的满足各地区的数字电视广播标准,而不用重新定义架构,从而减少各个市场应用个性化设计的开发时间和人力成本。TIF中包括TV app标识,TV inputManager,多个TV input,TV provider。TV provider是一个包含频道、节目和相关权限的数据库。TV Input是一个代表物理或者虚拟的电视接收器或者输入端口的应用。TV Provider数据库会存储来自TV Input的频道和节目并且发布和管理相关权限,以使TV Input只能查看自身的记录。TV app通过TV input manager与TV Input进行通信。TV Input Manager为整个Android TIF提供了一个中央***API。TV Input Manager允许应用访问安装的TVInput,以便应用可以列出TV Input并查看其状态;同时创建会话并管理***。但是,现有技术中,PVR功能尚不能实现多路录制、多屏回放以及时移等功能。
发明内容
本发明的目的在于提供基于数字机顶盒的多路PVR控制***及录制、回放方法,用于解决现有技术中PVR功能尚不能实现多路录制、多屏回放以及时移等功能的问题。
本发明通过下述技术方案解决上述问题:
一种基于数字机顶盒的多路PVR控制***,包括指令解析模块、Route控制模块、录制文件管理模块、录制通道管理模块、播放资源管理模块和PVR事件消息反馈模块,其中:
指令解析模块,用于解析与封装cJson格式的指令、接收由Order APK发送的PVR事件指令并解析指令信息对接PVR功能接口调用;
Route控制模块,用于为每一条Route支路分配RouteId,Router支路为单个功能点(如直播、录制、回放等),根据当前需求划分资源,并在关闭功能时释放关联到当前RouteId的所有资源;Route控制模块需要管理多Tuner配置,多个解复用通路配置为每个单功能点分配合适的资源,达到高效率利用有限资源的目的;
录制文件管理模块,用于管理所有已经存至硬盘的录制文件信息(如录制文件简介,录制文件大小,录制时间,录制盘符信息,录制文件的音视频PID信息,编解码格式信息,字幕信息等)、开启PVR功能时创建文件夹。
开启PVR功能后会在硬盘根目录下创建名为PVR的文件夹;每开启一次录制操作就会创建一个子文件夹存放录制的文件,子文件夹的名字需要按照预设规则编号;开启一次时移录制后创建时移录制子文件。每个子文件夹的编号对应录制文件链路管理的SourceID,该SourceID在同一个硬盘在同一次进程运行时间内唯一,而子文件夹编号以及对应的SourceID信息会记录在PVR文件夹下名为CHpvr.idx的文件中,同时对应每条录制记录的录制文件相关信息都会逐条记录在该文件内,CHpvr.idx文件会在Realize进程启动后更新;
录制通道管理模块,芯片底层提供N路(N指最大录制通道数)录制的通道,指令解析模块发起录制接口调用后该模块查询当前录制管理列表,分配可用的录制通道n并以RecId标记。后续录制相关的控制均以RecId关联处理。该模块还需要管理录制资源的记录标记,为每一个录制资源分配一个唯一的资源RecFileID,录制正常开启后以字符串的方式返回该标志给Order APK,并经TV Provider记录至数据库,用户即刻在用户界面查看该条录制记录信息。
播放资源管理模块,用于对芯片底层提供的Player资源进行协调管理;芯片底层会提供M个(M指Player的最大数)Player资源应对多屏播放等需求,该模块对M个Player进行管理。Player资源包括音视频解码器,音视频数据缓存Buffer等。该模块需要根据对Player资源灵活配置以满足多种如单屏回放,PIP回放,多屏回放等应用场景需求。
PVR事件消息反馈模块,用于对PVR的录制、回放和时移功能模块注册回调函数,在回调函数中将信息封装为事件消息发送至Order APK。
基于数字机顶盒的多路PVR录制方法,包括:
步骤A1:用户发起录制请求,Order APK获取录制事件后查询对应的硬件存储资源获取操作盘符信息,并从TV provider获取录制节目索引号,节目频率和符号率并按编写url,并获取节目概要描述信息写入ProgramInfo;
步骤A2:Order APK通过Route控制模块获取当前可用的Tuner通路TunerId和DemuxID,连同url以及ProgramInfo封装为录制指令传送至DvbService进程;
步骤A3:DvbService进程收到录制指令后,解析录制指令,根据得到的节目频率,符号率和TunerId搜索指定节目以及将解析得到ProgramInfo存入录制信息块并写入CHpvr.idx对应位置;
步骤A4:DvbService进程通过录制通道管理模块分配录制RecId,根据Route控制模块创建RecRoute通路调用适配层录制接口开启录制,录制节目开始后录制通道管理模块为本次录制文件分配唯一的录制文件RecFileID并以字符串的方式返回给Order APK;
步骤S500:Order APK获取到RecFileID后直接反馈给TV Provider。
基于数字机顶盒的多路PVR回放方法,包括:
步骤B1:DvbService进程接收到由Order APK发起的硬盘回放资源查询指令后,通过录制文件管理模块将接入机顶盒的硬盘中的回放文件信息以及回放文件信息格式反馈到Order APK,由Order APK交付TV Provider呈现给用户;
步骤B2:用户发起回放请求,Order APK收到标识为RecFileID的回放文件请求后,通过Route控制模块分配标识为DemuxId的解复用器,通过播放资源管理模块分配标识为PlayerId的Player,并以回放指令格式对DvbService进程发起回放请求;
步骤B3:DvbService进程解析得到RecFileID标识,通过该RecFileID标识路径查找录制文件的本地SourceId,通过录制文件管理模块中的文件管理机制找到对应的录制文件开启回放。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明在基于Android TIF架构的数字机顶盒中开发多路PVR功能,通过灵活配置多个Tuner,多路解复用器,录制通道,多路解码器等硬件资源实现多路录制,多屏回放以及时移等功能。
(2)多路PVR功能实现模块可方便在Android***与Linux***的机顶盒中使用。该功能模块接收cJson格式的指令输入,配合PostMain调试可快速定位***内问题,缩短功能开发时间。通过本发明中的方法可以方便在基于Android***的芯片上集成开发多路PVR功能。
附图说明
图1基于Android TIF实现PVR功能框图;
图2PVR功能实现中JAVA层与C层进程及模块分布图;
图3多路PVR实现中硬件资源配置分布图;
图4为PVR录制指令格式;
图5为PVR回放指令格式。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
本发明基于Android架构的数字机顶盒中实现多路PVR功能开发,复用Linux***下DVB部分功能模块,配合APK成为一个TV Input进入到TIF***。PVR功能实现模块封装在进程DvbService,PVR事件请求接收以及相关节目信息转发等功能在Order APK(APK:Android应用程序包)中实现。DvbService进程由C/C++语言结合JSON语言编写实现指令解析以及具体功能实现。Order APK与TV input manager和TV Provider进行交付。一方面接收PVR相关事件请求,一方面整理节目源信息。与DvbService进程交付进行PVR事件指令封装转发以及DvbService进程状态报告,以下为具体实施例。
实施例:
一种基于数字机顶盒的多路PVR控制***,包括指令解析模块、Route控制模块、录制文件管理模块、录制通道管理模块、播放资源管理模块和PVR事件消息反馈模块,其中:
指令解析模块,用于解析与封装cJson格式的指令、接收由Order APK发送的PVR事件指令并解析指令信息对接PVR功能接口调用;
Route控制模块,用于为每一条Route支路分配RouteId,Router支路为单个功能点(如直播、录制、回放等),根据当前需求划分资源,并在关闭功能时释放关联到当前RouteId的所有资源;Route控制模块需要管理多Tuner配置,多个解复用通路配置为每个单功能点分配合适的资源,达到高效率利用有限资源的目的;
录制文件管理模块,用于管理所有已经存至硬盘的录制文件信息(如录制文件简介,录制文件大小,录制时间,录制盘符信息,录制文件的音视频PID信息,编解码格式信息,字幕信息等)、开启PVR功能时创建文件夹。
开启PVR功能后会在硬盘根目录下创建名为PVR的文件夹;每开启一次录制操作就会创建一个子文件夹存放录制的文件,子文件夹的名字需要按照预设规则编号;开启一次时移录制后创建时移录制子文件。每个子文件夹的编号对应录制文件链路管理的SourceID,该SourceID在同一个硬盘在同一次进程运行时间内唯一,而子文件夹编号以及对应的SourceID信息会记录在PVR文件夹下名为CHpvr.idx的文件中,同时对应每条录制记录的录制文件相关信息都会逐条记录在该文件内,CHpvr.idx文件会在Realize进程启动后更新;
录制通道管理模块,芯片底层提供N路(N指最大录制通道数)录制的通道,指令解析模块发起录制接口调用后该模块查询当前录制管理列表,分配可用的录制通道n并以RecId标记。后续录制相关的控制均以RecId关联处理。该模块还需要管理录制资源的记录标记,为每一个录制资源分配一个唯一的资源RecFileID,录制正常开启后以字符串的方式返回该标志给Order APK,并经TV Provider记录至数据库,用户即刻在用户界面查看该条录制记录信息。
播放资源管理模块,用于对芯片底层提供的Player资源进行协调管理;芯片底层会提供M个(M指Player的最大数)Player资源应对多屏播放等需求,该模块对M个Player进行管理。Player资源包括音视频解码器,音视频数据缓存Buffer等。该模块需要根据对Player资源灵活配置以满足多种如单屏回放,PIP回放,多屏回放等应用场景需求。
PVR事件消息反馈模块,用于对PVR的录制、回放和时移功能模块注册回调函数,在回调函数中将信息封装为事件消息发送至Order APK。
在另外一个实施例中,Route控制模块中Tuner资源配置器根据当前可用的Tuner进行分配适合的Tuner。其分配规则可以为:
在***初始化阶段,为M个Tuner分别设置顺序编号为0,1,…M-1。每一个Tuner设置已使用标记为0(使用状态设置为1),当前使用类型为无效类型,已使用时分为直播使用和录制使用两种类型。设置计划使用类型表示选择Tuner待使用的类型包括直播使用类型与录制使用类型。在实际使用时需要根据判定规则确定选择编号为ii的Tuner。将编号为0至M-1的Tuner号顺序输入到下列判定规则,连同计划用途类型(直播使用,录制使用)以及待使用的频点信息等选择出当前可用编号对应的tuner。判定规则如下:
A.判定输入的编号ii是否大于M,如果是则转至步骤H;否则转至B;
B.判定编号为ii的tuner的已使用标志,如果已使用标志为0表示未使用则跳转至步骤I;否则跳转至C;
C.判定编号为ii的tuner的当前使用类型,如果当前的使用类型是直播类型则跳转至D;如果是录制类型跳转至F;否则转至H;
D.判定编号为ii的tuner的计划用途,如果是计划用途是直播类型则跳转至I;如果计划用途是录制类型则跳转E;
E.判定是否是同频点录制,同频点录制是指直播与录制的频点一致;如果是同频点录制跳转至I;否则转至H;
F.判定编号为ii的Tuner的计划用途,如果是直播类型则跳转至E;如果是录制类型则跳转至G;
G.判定待录制与当前录制的节目是否是同频点节目;如果是同频点节目则跳转至I;否则跳转至H;
H.不能选择编号为ii的Tuner,退出判定;
I.选择编号为ii的Tuner,退出判定;
根据上述判定规则确定可使用编号为ii的Tuner,当上层需要进行录制或者进行换台前需要将待使用的Tuner用途以及频率信息设置下来,底层会根据这些信息通过上述判定规则列出可用的Tuner的编号ii待上层创建Route时使用。
在另外一个实施例中,为满足多路需求,芯片底层会提供多个解复用器,并在软件层抽象为demux通路,或者是Channel通路在此通称为Tsdemux通路管理。通常情况下Tsdemux的个数大于Tuner的个数即(N>M)。Tsdemux通道直接对接Ts解复用输出,与直播、PVR录制以及回放皆有关联。非同频点直播换台等操作将会直接重新设置当前使用的Tsdemux,重新设置后原本关联到该Tsdemux将不会有数据输入从而造成录制异常等问题。为减少直播与PVR功能的关联程度,在多Tuner以及多PVR的情境下Route控制模块分离Tsdemux通道。将录制与直播在不同频点操作时分别关联到独立的Tsdemux通路;回放单独分离数据通道处理,可排除直播与PVR功能因交付而造成的问题。Tsdemux有N个通路可选择,每个通路是相对平行独立无优先顺序。每次在创建Route之前,需要列出可选择的Tsdemux列表。具体选择哪一条通路可根据Tsdemux资源配置。Tsdemux资源配置依据判定规则以及输入条件给出可供上层应用选择的demux通路。在***初始化为N个通道顺序编号0至N-1,每个编号对应一个通道;设置已使用标志,0表示未使用状态,1表示已经使用;设置已使用类型:录制类型,直播类型,回放类型,无效类型,在***初始化设置所有的已使用特性为无效类型。单个Tsdemux通道编号为nn,其中(0<nn<N-1)。判定规则如下:
A.判定已使用状态,如果是已使用状态转至B,否则转至E;
B.判定当前使用类型,如果是直播则跳转至B1,否则跳转至C;
B1.判定待使用类型,如果是直播则跳转至E,否则跳转至B2;
B2.判定待使用类型,如果是录制则跳转至B3,否则跳转至F;
B3.判定是否与直播是同频点录制,如果是则跳转至E,否则跳转F;
C.判定当前使用类型,如果是录制则跳转至C1,否则跳转至D;
C1.判定直播节目是否与当前是同频点节目,如果是同频点节目则跳转至E,否则跳转至F;
D.判定当前使用类型,如果是回放则跳转至F,否则跳转至E
E.将对应编号放入可选用列表;
F.该编号对应的demux无法使用,不进入可选用列表;
实施例
本发明Order APK从TV Input Manager获取Java层的录制事件请求后,Order Apk首先调用DvbService进程端的Route资源控制模块接口通过多Tuner资源配置规则,多解析器配置规则获取可用的TunerId、DemuxId;其次将待录制节目的频率,符号率以及节目简介信息连同前一步获取的信息按照录制指令格式封装发送至DvbService进程。DvbService进程解析录制事件指令后通过录制通道管理模块获取可用的录制通路并标记RecId,开启指定文件的录制,录制成功开启后分配唯一的录制文件标志号RecFileId反馈给Order APK。同时通过录制文件管理***将文件相关特性信息记入Chpvr.idx方便回放调用。DvbService进程开启后,Order APK调用录制文件管理***将盘符内所有的录制文件信息提取遍历以回放文件列表格式封装返回至Order APK。DvbService进程获取回放请求后,通过解析指令获得RecFileId,利用RecFileId找到对应的回放文件;通过回放资源控制单元分配得到标志为PlayerId的Player开启回放。
如图1所示,TV Input需经过TV Input Manager与TV APP进行交付。用户通过TVAPP发起PVR事件请求后,TV Input Manager会将PVR事件以及事件相关的节目信息传送至PVR功能的TV Input。PVR功能基于Linux***有很多成熟的开发经验,可以将部分功能模块复用到基于Android.***的机顶盒开发中。为了在TV Input Manager与包含有PVR功能模块的DvbService进程间搭建交付桥梁,需要一个APK将两者联系起来。以CView方式将Apk与DvbService进程联系起来,实现多路PVR功能。
如图2所示,Order APK接收TV Input Manage功能要求后,调用DvbService进程的资源管理接口获取资源配置后,封装功能指令发送至DvbService进程。DvbService接收到功能指令后解析信息,并调用对应功能接口实现。DvbService进程包括消息指令解析模块,Route资源管理模块,录制资源管理模块,录制文件管理模块,回放资源管理模块,异常事件处理模块。
如上所述,APK与DvbService进程是以Cview的方式联系起来。DvbService的对外API是一个Dvb的类;由此基类衍生Player类,Record类,Timeshift类分别对应播放消息指令解析,录制消息指令解析,时移消息指令解析;这些类控制组成消息指令解析模块。消息指令解析模块是两个进程交付的主要接口控制。
如上所述,定义PVR_Event类管理PVR事件消息反馈。DvbService进程在***初始化阶段通过MID_PVR初始化接口安装录制事件回调函数,回放事件回调函数,时移回调函数。回调函数返回事件类型,在回调函数中根据“pvrcall:pvrevent=%d,pathid=%d,calltype=%d”格式封装为消息指令发送至Order APK。其中pvrevent分为录制,回放,时移类型,当pvrevent为录制类型,pathid对应录制通道ID,calltype对应录制事件;当pvrevent为回放类型,pathid对应回放通道ID,calltype对应回放事件;当pvrevent为时移类型时,pathid对应时移通道ID,calltype对应时移事件。
基于上述方法,具体实现录制的方法步骤如下:
1、.Order APK收到录制请求后,从TV Input Manager主动获取节目的频率,符号率,调试方式,音视频编码格式,语言信息;字幕信息;录制盘符信息;
2、Order APK通过Route资源查询接口向DvbService进程查询Tuner,解析器的配置情况。如图3所示,多路Tuner,多路解析器有多种组合方式实现录制功能。DvbService进程通过Route资源管理模块根据Tuner配置规则选择合适的tunerid,根据Demux的配置规则选择合适的demuxid待用。
3、DvbService进程调用tunerid对应的Tuner根据频率符号率等信息进行调谐锁定,搜索到节目待录制使用。
4、Order APK通过如图4所示录制指令格式将录制相关信息封装为recStart指令,并通过指令通道发送至DvbService进程。图4中,多路音频,多路字幕等皆以cJson数组格式封装;其中语言”.isoLangL”项是按照ISO 639标准三字符代表语言,并将字符的ASCAII码换算成整型表示。
5、DvbService进程在API层得到recStart指令后,会调用Record类的录制开始接口,并选择当前可用的录制通道RecId。制通道一旦占用会设置相应标志标记,录制完成会将占用标志取消,释放相应资源。另外定义RecordImp类对应单路录制管理,在RecordImp类中定义录制相关的所有接口。每开启录制就创建一个RecordImp类对象并为该对象关联分配的RecId。创建RecordImp类对象后压入队列,需要获取该对象时通过RecId查找从而实现RecId关联管理单路录制功能。
6、通过RecordImp类对象调用录制开启接口recImpStart,该接口会进一步解析接口参数,获取接口中”.serviceName”.并连同***的年月日时分秒等信息生成录制文件的子文件夹名,即.serviceName_年月日_时分秒,年月日时分秒信息均占两个字节。子文件夹名联通PVR文件夹名即“/PVR/.serviceName_年月日_时分秒”构成录制文件标志RecFileID。在接口recImpStart会调用MID_PVR层开启录制的接口,在MID_PVR层中开启录制接口中会分配SourceID。在每个盘符内以0x2000为第一个录制文件标记,之后每增加一个以0x2000递增,该SourceID与RecFileID对应。在MID_PVR层会调用DRV_PVR(PVR控制的适配层)录制开启接口。
7、DRV_PVR是基于芯片接口封装的适配层。在Android 8.0以上版本的***中DRV层接口需要调用底层基于HIDL协议封装的录制控制接口。
8、在MID_PVR层待DRV_PVR中录制开启成功返回后,将该条录制相关的信息如programInfo信息等根据SourceID索引位置存入文件Chpvr.idx。
9、recImpStart待MID_PVR层开启录制接口成功返回后,将子文件夹名字返回至Order APK。
基于上述方法,具体实现回放的方法步骤如下:
1、Order APK收到回放请求的同时会获取回放文件的地址,该地址是由当前硬盘映射的盘符与回放文件的子文件夹地址组合而成。向DvbService进程发起Player资源查询。
2、DvbService进程利用回放资源管理模块,获取当前可用的PlayerId。令芯片底层提供L个Player,在播放资源管理模块会映射出L路管理分组,每路资源分配为0~L-1的标记,为以使用的Player设置占用标志。查询组的占用标志即可获取可用的PlayerId。将此PlayerId发回Order APK。
3、Order APK获取到PlayerId后,以如图5所示的回放指令格式封装MpStart指令发送至DvbService进程。
4、DvbService进程内定义PlayerImp类管理单路播放,PlayerImp类定义播放相关的控制接口。在Player类收到MpStart指令后解析出回放文件地址以及对应的PlayerId;创建PlayerImp类对象,通过对象调用MID_PVR层回放开启接口。
5、MID_PVR回放开启接口获取回放文件地址后,通过录制文件管理模块利用子文件夹地址查询到对应的SourceId。通过SourceId查找到对应的录制文件调用DRV_PVR的回放接口开启回放。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
Claims (3)
1.一种基于数字机顶盒的多路PVR控制***,其特征在于,包括指令解析模块、Route控制模块、录制文件管理模块、录制通道管理模块、播放资源管理模块和PVR事件消息反馈模块,其中:
指令解析模块,用于解析与封装cJson格式的指令、接收由Order APK发送的PVR事件指令并解析指令信息对接PVR功能接口调用;
Route控制模块,用于为每一条Route支路分配RouteId,Router支路为单个功能点,根据当前需求划分资源,并在关闭功能时释放关联到当前RouteId的所有资源;
录制文件管理模块,用于管理所有已经存至硬盘的录制文件信息、开启PVR功能时创建文件夹;
录制通道管理模块,用于查询当前录制管理列表、分配可用的录制通道n并以RecId标记、为每一个录制资源分配一个唯一的资源RecFileID、录制正常开启后以字符串的方式返回RecId标记给Order APK,并经TV Provider记录至数据库;
播放资源管理模块,用于对芯片底层提供的Player资源进行协调管理;
PVR事件消息反馈模块,用于对PVR的录制、回放和时移功能模块注册回调函数,在回调函数中将信息封装为事件消息发送至Order APK。
2.利用如权利要求1所述的基于数字机顶盒的多路PVR控制***实现多路PVR录制方法,其特征在于,包括:
步骤A1:用户发起录制请求,Order APK获取录制事件后查询对应的硬件存储资源获取操作盘符信息,并从TV provider获取录制节目索引号,节目频率和符号率并按编写url,并获取节目概要描述信息写入ProgramInfo;
步骤A2:Order APK通过Route控制模块获取当前可用的Tuner通路TunerId和DemuxID,连同url以及ProgramInfo封装为录制指令传送至DvbService进程;
步骤A3:DvbService进程收到录制指令后,解析录制指令,根据得到的节目频率,符号率和TunerId搜索指定节目以及将解析得到ProgramInfo存入录制信息块;
步骤A4:DvbService进程通过录制通道管理模块分配录制RecId,根据Route控制模块创建RecRoute通路调用适配层录制接口开启录制,录制节目开始后录制通道管理模块为本次录制文件分配唯一的录制文件RecFileID并以字符串的方式返回给Order APK;
步骤S500:Order APK获取到RecFileID后直接反馈给TV Provider。
3.利用如权利要求1所述的基于数字机顶盒的多路PVR控制***实现多路PVR回放方法,其特征在于,包括:
步骤B1:DvbService进程接收到由Order APK发起的硬盘回放资源查询指令后,通过录制文件管理模块将接入机顶盒的硬盘中的回放文件信息以及回放文件信息格式反馈到Order APK,由Order APK交付TV Provider呈现给用户;
步骤B2:用户发起回放请求,Order APK收到标识为RecFileID的回放文件请求后,标识通过Route控制模块分配标识为DemuxId的解复用器,通过播放资源管理模块分配标识为PlayerId的Player,并以回放指令格式对DvbService进程发起回放请求;
步骤B3:DvbService进程解析得到RecFileID标识,通过该RecFileID标识路径查找录制文件的本地SourceId,通过录制文件管理模块中的文件管理机制找到对应的录制文件开启回放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010230832.8A CN111447475A (zh) | 2020-03-27 | 2020-03-27 | 基于数字机顶盒的多路pvr控制***及录制、回放方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010230832.8A CN111447475A (zh) | 2020-03-27 | 2020-03-27 | 基于数字机顶盒的多路pvr控制***及录制、回放方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111447475A true CN111447475A (zh) | 2020-07-24 |
Family
ID=71649136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010230832.8A Pending CN111447475A (zh) | 2020-03-27 | 2020-03-27 | 基于数字机顶盒的多路pvr控制***及录制、回放方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111447475A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112423097A (zh) * | 2020-11-20 | 2021-02-26 | 杭州国芯科技股份有限公司 | 基于pvr协议实现嵌入式设备的节目录制和播放方法 |
CN113225510A (zh) * | 2021-04-30 | 2021-08-06 | 深圳创维-Rgb电子有限公司 | 电视节目刻录方法、装置、设备及存储介质 |
CN113225508A (zh) * | 2021-04-29 | 2021-08-06 | 中山亿联智能科技有限公司 | 基于录制方式实现的获取Section方法 |
CN114466231A (zh) * | 2021-12-15 | 2022-05-10 | 瑞芯微电子股份有限公司 | 接收和播放硬件来源的方法、电子设备和显示装置 |
WO2024131094A1 (zh) * | 2022-12-19 | 2024-06-27 | 海信视像科技股份有限公司 | 一种显示设备及直播节目的显示方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101193198A (zh) * | 2006-11-30 | 2008-06-04 | 深圳市同洲电子股份有限公司 | 个人视频录像机机顶盒的设备分配方法 |
US8552832B2 (en) * | 2007-12-31 | 2013-10-08 | Universal Electronics Inc. | System and method for interactive appliance control |
US20170171588A1 (en) * | 2015-12-09 | 2017-06-15 | Ericsson Ab | Recording multicast adaptive bitrate (mabr) streaming content based on schedule |
CN107087226A (zh) * | 2017-05-12 | 2017-08-22 | 青岛海信电器股份有限公司 | 一种电视节目录制方法和pvr录制设备 |
CN108377413A (zh) * | 2018-04-18 | 2018-08-07 | 深圳佳力拓科技有限公司 | 一种支持同时三路节目录制的机顶盒***和方法 |
CN108600803A (zh) * | 2018-04-10 | 2018-09-28 | 普联技术有限公司 | 多路视频码流的回放方法、装置、终端设备和存储介质 |
-
2020
- 2020-03-27 CN CN202010230832.8A patent/CN111447475A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101193198A (zh) * | 2006-11-30 | 2008-06-04 | 深圳市同洲电子股份有限公司 | 个人视频录像机机顶盒的设备分配方法 |
US8552832B2 (en) * | 2007-12-31 | 2013-10-08 | Universal Electronics Inc. | System and method for interactive appliance control |
US20170171588A1 (en) * | 2015-12-09 | 2017-06-15 | Ericsson Ab | Recording multicast adaptive bitrate (mabr) streaming content based on schedule |
CN107087226A (zh) * | 2017-05-12 | 2017-08-22 | 青岛海信电器股份有限公司 | 一种电视节目录制方法和pvr录制设备 |
CN108600803A (zh) * | 2018-04-10 | 2018-09-28 | 普联技术有限公司 | 多路视频码流的回放方法、装置、终端设备和存储介质 |
CN108377413A (zh) * | 2018-04-18 | 2018-08-07 | 深圳佳力拓科技有限公司 | 一种支持同时三路节目录制的机顶盒***和方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112423097A (zh) * | 2020-11-20 | 2021-02-26 | 杭州国芯科技股份有限公司 | 基于pvr协议实现嵌入式设备的节目录制和播放方法 |
CN112423097B (zh) * | 2020-11-20 | 2023-02-28 | 杭州国芯科技股份有限公司 | 基于pvr协议实现嵌入式设备的节目录制和播放方法 |
CN113225508A (zh) * | 2021-04-29 | 2021-08-06 | 中山亿联智能科技有限公司 | 基于录制方式实现的获取Section方法 |
CN113225510A (zh) * | 2021-04-30 | 2021-08-06 | 深圳创维-Rgb电子有限公司 | 电视节目刻录方法、装置、设备及存储介质 |
CN114466231A (zh) * | 2021-12-15 | 2022-05-10 | 瑞芯微电子股份有限公司 | 接收和播放硬件来源的方法、电子设备和显示装置 |
CN114466231B (zh) * | 2021-12-15 | 2024-01-23 | 瑞芯微电子股份有限公司 | 接收和播放硬件来源的方法、电子设备和显示装置 |
WO2024131094A1 (zh) * | 2022-12-19 | 2024-06-27 | 海信视像科技股份有限公司 | 一种显示设备及直播节目的显示方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111447475A (zh) | 基于数字机顶盒的多路pvr控制***及录制、回放方法 | |
US6601237B1 (en) | Apparatus and method for rescheduling program conflicts in a virtual channel scheduling gap | |
KR100278759B1 (ko) | 방송프로그램으로 컴퓨터 소프트웨어를 다운로딩하는 시스템 | |
US8826111B2 (en) | Receiving apparatus and method for display of separately controllable command objects,to create superimposed final scenes | |
US7894710B2 (en) | Recording and reproduction apparatus and recording and reproduction method | |
US20090106801A1 (en) | Content processing device and content processing method | |
KR20080078836A (ko) | 잔여 용량 검출 유닛을 갖는 기록 장치 | |
US20090300231A1 (en) | Data output device, equipment control device, and multimedia delivery system | |
KR20130115389A (ko) | 진보된 텔레비전 서비스의 이용을 보고하기 위한 수신기와 방법 | |
JP6153298B2 (ja) | 配信装置、再生装置、データ構造、配信方法、制御プログラム、および記録媒体 | |
EP1703733B1 (en) | System for processing of television data streams and method for processing of television data streams | |
JP2005516491A (ja) | Tv−anytimecridの改良された通信 | |
CN111416988B (zh) | 基于iptv网络在机顶盒上实现多屏播放的控制方法 | |
JP4378780B2 (ja) | 受信装置及び受信方法 | |
KR20050050130A (ko) | 대화형 오디오/비디오 구성요소를 사용자가 선택하여실행하고 레코딩하는 방법 및 장치 | |
WO2017198185A1 (zh) | 接收电子节目指南信息的方法及装置 | |
CN1656793B (zh) | 一种传输***和该***的接收机 | |
KR20050031699A (ko) | 수동적 하이라이트 기능 구현을 위한 방송 서비스 및 이를위한 개인용 비디오 녹화기 | |
CN101257569B (zh) | 服务执行装置及方法 | |
JP6450804B2 (ja) | 再生装置および再生方法 | |
EP1222818B1 (en) | Tuning of multiple application enabled digital communication terminals to access services | |
KR101328942B1 (ko) | 방송 프로그램에 대한 방송 정보를 처리하는 방법 및 장치 | |
MX2007013716A (es) | Aparato de grabacion y reproduccion y metodo de grabacion y reproduccion. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200724 |
|
RJ01 | Rejection of invention patent application after publication |