一种用于终端的高性能DVB节目分享方法技术

技术编号:22888621 阅读:27 留言:0更新日期:2019-12-21 09:01
本发明专利技术公开了一种用于终端的高性能DVB节目分享方法,该方法先是通过终端内的demux资源获取DVB节目,然后通过ffmpeg或ffmpeg类似软件以rtmp协议的方式推送给ngnix服务端或类似ngnix服务端,ngnix服务端再接受手机、智能电视等各种终端的rtmp请求实现DVB节目分享。本发明专利技术在现有带热点的机顶盒的基础上通过软件改造甚至或只安装一个APK便可进行DVB节目进行高效分享,无需再引入其它硬件,在增加几块钱成本的前提下提供广电家庭直播资源同时可以观看不同节目的共享需求。

A high performance DVB program sharing method for terminal

【技术实现步骤摘要】
一种用于终端的高性能DVB节目分享方法
本专利技术涉及一种用于终端的高性能DVB节目分享方法,属于机顶盒应用

技术介绍
对于观看广电直播电视节目,不同的人有着不同的需求,如老人喜欢看戏剧、小孩喜欢看动画片、年轻人喜欢看综艺、电影等各类节目,存在需求不一致的问题,针对这种情况,现有的解决方式一般有两种,其一为采用直播分享技术,但该技术在使用过程中存在性能低下或其功能影响现有业务的问题,故该技术均未在机顶盒上集成实现;其二是采用多机顶盒的互联,但增加的机顶盒目的只是单独作为一个高成本的网关,这样存在成本高的问题,不能被广大家庭用户所接受。
技术实现思路
本专利技术要解决的技术问题是提供一种低成本的用于终端的高性能DVB节目分享方法,可以克服现有技术的不足。本专利技术的技术方案是:一种用于终端的高性能DVB节目分享方法,它包括终端,所述终端为带热点的广电机顶盒,该方法先是通过终端内的demux资源获取DVB节目,然后通过ffmpeg或ffmpeg类似自实现软件把录制内容以rtmp协议的方式推送给ngnix服务端或类似ngnix自实现服务端,ngnix服务端再接受手机、智能电视等各种终端的rtmp请求实现DVB节目分享。前述的用于终端的高性能DVB节目分享方法是,所述的demux资源获取DVB节目是通过终端内的PVR模块录制,录制的内容直接通过内存Buffer存储。前述的用于终端的高性能DVB节目分享方法是,该方法是终端将录制的内容发布到rtmp服务端,该发布只是简单的把TS流中相应的节目内容以rtmp协议包的方式和服务端建立内部socket通信完成发布,而不需要ffmpeg或自实现软件任何编解码功能。。前述的用于终端的高性能DVB节目分享方法是,针对频点中携带小分辨率节目情况,该方法中终端从录制到发布是一次性将所有节目进行发布。前述的用于终端的高性能DVB节目分享方法是,该方法是终端对推流请求响应进行了多线程化处理。前述的用于终端的高性能DVB节目分享方法是,所述终端单双Tuner均可使用,在单Tuner时,本判断是否当前正在DVB直播,如果是则抢占Tuner资源并给出友好提示,如果不是则不影响当前直播。与现有技术比较,本专利技术提供的方法有如下有益效果:1.本专利技术在现有带热点的机顶盒的基础上通过软件改造甚至或只安装一个APK便可进行DVB节目进行高效分享,无需再引入其它硬件,在增加几块钱成本的前提下提供广电家庭直播资源同时可以观看不同节目的共享需求。2.录制与发布之间采用内存进行传递,传输协议优先选择rtmp进行发布,这样避免频繁操作flash,进而可以确保机顶盒稳定运行的寿命。3.该方法在局域网内进行广电视频资源进行观看不会产生移动终端的流量费用,同时享受到了高清、稳定的视觉体验。4.本专利技术是在机顶盒类似终端上实现了一种用于多终端的高性能DVB节目分享的方法,DVB节目可以是用于大屏的大分辨率节目也可以是用于小屏如手机的小分辨率节目,一个频点可包含几个大分辨率节目或可包含几十个小分辨率节目,具体策略由当地运营商具体策略决定,配合客户端相应的策略实现。附图说明图1为本专利技术的总体技术模块框架图。图2为本专利技术的硬件框图。具体实施方式实施例1,如图1所示,所述的终端为带热点的广电机顶盒,在带热点的广电机顶盒中controller模块在Android中可以是一个后台服务,它监听网络上的请求,如果有其它终端需要观看直播节目,则会判断一下当前终端是否正在使用DVB直播如果是向display模块发个指令,弹出一个提示框或切换到另一个提示性或广告性的页面,接下来进行下以下步骤:1.锁住约定或配置的频点,启动demux过滤,并调用PVR(硬件或软件实现)进行该频点的所有节目的录制;2.PVR模块录制的内容保存到Buffer中,通过实现ffmpegavio_alloc_context的读回调read_packet函数,不断读取PVR录制的内容。编程程序语言如下:staticintiFillIobuffer(void*opaque,uint8_t*buf,intbufsize){U8*pStreamBuf=NULL;S32s32buffersize=-1;U32valid=0;PVR_Read_parameter*pstRead=&_stRead;//pStreamBufu32buffersizewhile(!pstRead->bTerminate){pStreamBuf=PvrRingBuffer;valid=mRingBuffer->GetValidBufferSize();if(valid>bufsize){valid=bufsize;}s32buffersize=mRingBuffer->Read(pStreamBuf,valid);if(s32buffersize>0){memcpy(buf,pStreamBuf,s32buffersize);break;}else{//ALOGD("iFillIobuffernodata:s32buffersize=%d,valid=%d",s32buffersize,valid);}usleep(2000);}returns32buffersize;}3.ffmpeg配置输出以rtmp协议向nginx服务进行所有节目的发布。4.ngnix接受多种终端的直播播放请求。本方案已在带热点的机顶盒终端上进行了二次开发实现,也就是不改变原有硬件,只是升级一个APK便可让电视用户享受多终端观看直播节目的功能,其硬件框图如图2:其中CPU通常情况下为支持一路视频解码的芯片。本文档来自技高网...

【技术保护点】
1.一种用于终端的高性能DVB节目分享方法,它包括终端,所述终端为带热点的广电机顶盒,其特征在于:该方法先是通过终端内的demux资源获取DVB节目,然后通过ffmpeg或ffmpeg类似自实现软件把录制内容以rtmp协议的方式推送给ngnix服务端或类似ngnix自实现服务端,ngnix服务端再接受手机、智能电视等各种终端的rtmp请求实现DVB节目分享。/n

【技术特征摘要】
1.一种用于终端的高性能DVB节目分享方法,它包括终端,所述终端为带热点的广电机顶盒,其特征在于:该方法先是通过终端内的demux资源获取DVB节目,然后通过ffmpeg或ffmpeg类似自实现软件把录制内容以rtmp协议的方式推送给ngnix服务端或类似ngnix自实现服务端,ngnix服务端再接受手机、智能电视等各种终端的rtmp请求实现DVB节目分享。


2.根据权利要求1所述的用于终端的高性能DVB节目分享方法,其特征在于:所述的demux资源获取DVB节目是通过终端内的PVR模块录制,录制的内容直接通过内存Buffer存储。


3.根据权利要求2所述的用于终端的高性能DVB节目分享方法,其特征在于:该方法是终端将录制的内容发布到rtmp服务端,该发布只...

【专利技术属性】
技术研发人员:罗桥水付守伟
申请(专利权)人:贵州省广播电视信息网络股份有限公司
类型:发明
国别省市:贵州;52

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1