CN102595241B - 一种机顶盒支持flv视频播放的方法 - Google Patents

一种机顶盒支持flv视频播放的方法 Download PDF

Info

Publication number
CN102595241B
CN102595241B CN201210018497.0A CN201210018497A CN102595241B CN 102595241 B CN102595241 B CN 102595241B CN 201210018497 A CN201210018497 A CN 201210018497A CN 102595241 B CN102595241 B CN 102595241B
Authority
CN
China
Prior art keywords
video
data
tag
top box
flv
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.)
Expired - Fee Related
Application number
CN201210018497.0A
Other languages
English (en)
Other versions
CN102595241A (zh
Inventor
方立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FUJIAN CHUANGPIN DIGITAL TECHNOLOGY Co Ltd
Original Assignee
FUJIAN CHUANGPIN DIGITAL TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by FUJIAN CHUANGPIN DIGITAL TECHNOLOGY Co Ltd filed Critical FUJIAN CHUANGPIN DIGITAL TECHNOLOGY Co Ltd
Priority to CN201210018497.0A priority Critical patent/CN102595241B/zh
Publication of CN102595241A publication Critical patent/CN102595241A/zh
Application granted granted Critical
Publication of CN102595241B publication Critical patent/CN102595241B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

一种机顶盒支持flv视频播放的方法,包括如下步骤:机顶盒集成tcp/ip协议栈,对网络数据进行请求;对得到的flv流媒体的数据进行分析;分析数据的帧类型:把获得的帧类型,以及视频数据送入机顶盒视频解码器中,进行相应的解码工作;根据视频类型选择机顶盒上相应的视频解码器,当把一个视频数据送入机顶盒的解码器后,接着读取下一个tag,不断的把视频数据送入视频解码器,这样得到最终需要显示的视频画面播放在电视屏幕上。本发明增加了对互联网中常用的flv视频流媒体的支持,达到在任何地方只要能够接入互联网就可实现视频点播的支持。

Description

一种机顶盒支持flv视频播放的方法
【技术领域】
本发明涉及机顶盒技术领域,具体是指一种机顶盒支持flv视频播放的方法。
【背景技术】
目前数字电视机顶盒特别是高清数字电视机顶盒功能越来越强大,处理器能力越来越高,同时还拥有h264,mpeg4,mpeg2等硬件解码器,而网络上拥有丰富的flv可供播放,如何使机顶盒播放flv成为了大家的一种需求。
FLV(Flash Video)流媒体格式是随着Flash MX的推出而发展而来的一种新兴的视频格式。FLV文件体积小巧,清晰的FLV视频1分钟在1MB左右,一部电影在100MB左右,是普通视频文件体积的1/3。再加上CPU占有率低、视频质量良好等特点使其在网络上盛行。
传统的机顶盒对视频点播的功能一般需要广播电视前端提供,由于目前国内标准的不统一,针对某一运营商提供的视频点播功能无法在其他地区使用,限制了机顶盒点播功能的普及。
有鉴于此,本发明人针对现有技术的缺陷深入研究,并有本案产生。
【发明内容】
本发明所要解决的技术问题在于提供一种机顶盒支持flv视频播放的方法,增加了对互联网中常用的flv视频流媒体的支持,达到在任何地方只要能够接入互联网就可实现视频点播的支持。
本发明采用以下技术方案解决上述技术问题:
一种机顶盒支持flv视频播放的方法,包括如下步骤:
步骤一:机顶盒集成tcp/ip协议栈,对网络数据进行请求;
步骤二:对得到的flv流媒体的数据进行分析,其中视频tags的组成:
tag类型为0x09,tag数据大小为3个字节的视频数据大小,tag时间戳为3个字节tag数据应用的时间,tag时间戳扩展为1个字节的时间戳扩展,让时间戳变成4字节,本字节作为时间戳的高位,streamID为3个字节的类id,总是0;
步骤三:分析数据的帧类型:根据3个字节的tag数据大小项读取视频的长度len字节,这个在视频头部数据后读出长度为len字节的视频数据,视频数据的定义如下:4bit的帧类型,值为1是关键帧,数据存储的是整个画面完整的数据,提取它来生成图片;值为2是中间帧,关键帧之间的状态,不完整的画面数据,需要依靠前面帧的数据生成;值为3是可任意使用的中间帧;
步骤四:把获得的帧类型,以及视频数据送入机顶盒视频解码器中,进行相应的解码工作:4bit的视频编码id,值为2为Sorenson H.263视频格式,值为3是Screen video视频格式,值为4是On2 VP6视频格式,值为5是On2VP6 with alpha channel视频格式,值为6是Screen video version 2视频格式;
步骤五:根据上述视频类型选择机顶盒上相应的视频解码器,根据视频tag中的tag时间戳和tag时间戳扩展,判断这个tag视频的播放长度,当把这个视频数据送入机顶盒的解码器后,接着读取下一个tag,不断的把视频数据送入视频解码器,这样得到最终需要显示的视频画面播放在电视屏幕上。
进一步地,还包括:在接收flv流媒体时,在内存上开辟一个视频的缓冲区,把网络上传递过来的flv流媒体数据进行缓存,当接收到足够的视频数据后,再把数据送入flv解码模块分析,以便最终送入视频解码器播放。
本发明的优点在于:增加了对互联网中常用的flv视频流媒体的支持,达到在任何地方只要能够接入互联网就可实现视频点播的支持。克服传统的机顶盒对视频点播的功能一般需要广播电视前端提供,由于目前国内标准的不统一,针对某一运营商提供的视频点播功能无法在其他地区使用,限制了机顶盒点播功能的普及的问题。
【附图说明】
下面参照附图结合实施例对本发明作进一步的描述。
图1是本发明工作流程示意图。
【具体实施方式】
如图1所示,一种机顶盒支持flv视频播放的方法,包括如下步骤:
机顶盒集成tcp/ip协议栈,能够对网络数据进行请求。对得到的flv流媒体的数据进行分析,其中视频tags的组成:
tag类型为0x09,tag数据大小为3个字节的视频数据大小,tag时间戳为3个字节tag数据应用的时间(毫秒),tag时间戳扩展为1个字节的时间戳扩展,让时间戳变成4字节,本字节作为时间戳的高位,streamID为3个字节的类id,总是0。
对flv流媒体的tags头部数据进行解析后,得到flv的tags的数据部,及视音频数据部分,由于flv流媒体中的视音频数据和swf文件中的videoframe是相似的,所以按照对swf文件的videoframe的解析来完成对flv流媒体文件的解析。
首先分析数据的帧类型,其中flv流媒体的帧类型为4bit,包括了以下几种形式:
关键帧keyframe(视频中的关键帧,数据存储的是整个画面完整的数据,可以提取它来生成图片);中间帧interframe(关键帧之间的状态,不完整的画面数据,需要依靠前面帧的数据生成);可任意使用的中间帧disposable interframe(H.263only)。
然后分析flv流媒体的视频编码格式,视频编码格式为4bit,包括了Sorenson H.263(mencoder转换所使用的视频编码),Screen video,On2 VP6,On2 VP6 with alpha channel,Screen video version 2。
本发明具体的视频判断方式可以支持swf v7版本以下(包括v7版本)生成的flv。Flv文件由n个的tag段组成,每个tag都是由tag类型,tag长度,tag的其他部分构成。每个tag段都是紧随上一个tag段后面,读取的方法为读取flv文件中的tag,如果tag类型为0x09的就是视频tag,这个tag前11个字节就是的视频头部数据,其定义为
Figure BDA0000132528150000041
根据3个字节的tag数据大小项读取视频的长度len字节,这个在视频头部数据后读出长度为len字节的视频数据。视频数据的定义如下:
首先是4bit的帧类型。值为1是关键帧keyframe(视频中的关键帧,数据存储的是整个画面完整的数据,可以提取它来生成图片),值为2是中间帧interframe(关键帧之间的状态,不完整的画面数据,需要依靠前面帧的数据生成)关键帧之间的状态,不完整的画面数据,需要依靠前面帧的数据生成),值为3是可任意使用的中间帧disposable inter frame(H.263 only)。
接着是4bit的视频编码id,值为2为Sorenson H.263(mencoder转换所使用的视频编码),值为3是Screen video视频格式,值为4是On2 VP6视频格式,值为5是On2 VP6 with alpha channel视频格式,值为6是Screen videoversion 2视频格式。
根据这个视频类型选择机顶盒上相应的视频解码器,来解码紧接着的视频数据,长度为len-1字节。
把帧类型,以及视频数据送入机顶盒视频解码器中,进行相应的解码工作,根据这个视频tag中的tag时间戳和tag时间戳扩展,判断这个tag视频的播放长度,当把这个视频数据送入机顶盒的解码器后,接着读取下一个tag按照本方法的分析方式不断的把视频数据送入视频解码器。这样得到最终需要显示的视频画面播放在电视屏幕上。。
还包括:在接收flv流媒体时,在内存上开辟一个视频的缓冲区,把网络上传递过来的flv流媒体数据进行缓存,当接收到足够的视频数据后,再把数据送入flv解码模块分析,以便最终送入视频解码器播放。
本发明增加了对互联网中常用的flv视频流媒体的支持,达到在任何地方只要能够接入互联网就可实现视频点播的支持。克服传统的机顶盒对视频点播的功能一般需要广播电视前端提供,由于目前国内标准的不统一,针对某一运营商提供的视频点播功能无法在其他地区使用,限制了机顶盒点播功能的普及的问题。

Claims (2)

1.一种机顶盒支持flv视频播放的方法,其特征在于:包括如下步骤:
步骤一:机顶盒集成tcp/ip协议栈,对网络数据进行请求;
步骤二:对得到的flv流媒体的数据进行分析,其中视频tags的组成:
tag类型为0x09,tag数据大小为3个字节的视频数据大小,tag时间戳为3个字节tag数据应用的时间,tag时间戳扩展为1个字节的时间戳扩展,让时间戳变成4字节,1个字节的tag时间戳扩展字节作为时间戳的高位,streamID为3个字节的类id,总是0;
步骤三:分析数据的帧类型:根据3个字节的tag数据大小项读取视频的长度len字节,这个在视频头部数据后读出长度为len字节的视频数据,视频数据的定义如下:4bit的帧类型,值为1是关键帧,数据存储的是整个画面完整的数据,提取它来生成图片;值为2是中间帧,关键帧之间的状态,不完整的画面数据,需要依靠前面帧的数据生成;值为3是可任意使用的中间帧;
步骤四:把获得的帧类型,以及视频数据送入机顶盒视频解码器中,进行相应的解码工作:4bit的视频编码id,值为2为Sorenson H.263视频格式,值为3是Screen video视频格式,值为4是On2VP6视频格式,值为5是On2VP6with alpha channel视频格式,值为6是Screen video version2视频格式;
步骤五:根据上述视频格式选择机顶盒上相应的视频解码器,根据视频tag中的tag时间戳和tag时间戳扩展,判断这个tag视频的播放长度,当把这个视频数据送入机顶盒的解码器后,接着读取下一个tag,不断的把视频数据送入视频解码器,这样得到最终需要显示的视频画面播放在电视屏幕上。
2.如权利要求1所述的一种机顶盒支持flv视频播放的方法,其特征在于:还包括:在接收flv流媒体时,在内存上开辟一个视频的缓冲区,把网络上传递过来的flv流媒体数据进行缓存,当接收到足够的视频数据后,再把数据送入flv解码模块分析,以便最终送入视频解码器播放。
CN201210018497.0A 2012-01-19 2012-01-19 一种机顶盒支持flv视频播放的方法 Expired - Fee Related CN102595241B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210018497.0A CN102595241B (zh) 2012-01-19 2012-01-19 一种机顶盒支持flv视频播放的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210018497.0A CN102595241B (zh) 2012-01-19 2012-01-19 一种机顶盒支持flv视频播放的方法

Publications (2)

Publication Number Publication Date
CN102595241A CN102595241A (zh) 2012-07-18
CN102595241B true CN102595241B (zh) 2014-03-05

Family

ID=46483372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210018497.0A Expired - Fee Related CN102595241B (zh) 2012-01-19 2012-01-19 一种机顶盒支持flv视频播放的方法

Country Status (1)

Country Link
CN (1) CN102595241B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103051953B (zh) * 2012-12-30 2016-01-20 乐视网信息技术(北京)股份有限公司 一种利用视频播放器对视频文件进行解码方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127780A (zh) * 2007-08-20 2008-02-20 阳术国 将在线视频进行下载、保存、再播放的方法及其在线视频网络的构造
CN101635635A (zh) * 2009-08-25 2010-01-27 北京原力创新科技有限公司 云模式流媒体服务平台
CN101668187A (zh) * 2009-09-29 2010-03-10 中兴通讯股份有限公司 视频监控编码器中间件通用***及信息传递方法
CN101800838A (zh) * 2009-12-25 2010-08-11 袁炜 一种互联网电视虚拟机
CN202121723U (zh) * 2011-07-05 2012-01-18 上海百事灵多媒体科技有限公司 流媒体多终端适配与发布***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127780A (zh) * 2007-08-20 2008-02-20 阳术国 将在线视频进行下载、保存、再播放的方法及其在线视频网络的构造
CN101635635A (zh) * 2009-08-25 2010-01-27 北京原力创新科技有限公司 云模式流媒体服务平台
CN101668187A (zh) * 2009-09-29 2010-03-10 中兴通讯股份有限公司 视频监控编码器中间件通用***及信息传递方法
CN101800838A (zh) * 2009-12-25 2010-08-11 袁炜 一种互联网电视虚拟机
CN202121723U (zh) * 2011-07-05 2012-01-18 上海百事灵多媒体科技有限公司 流媒体多终端适配与发布***

Also Published As

Publication number Publication date
CN102595241A (zh) 2012-07-18

Similar Documents

Publication Publication Date Title
US11245940B2 (en) Method and apparatus for transmitting media data in multimedia transport system
JP5964972B2 (ja) 複数のソースからのマルチメディアデータのストリーミング
CN101917389B (zh) 一种网络电视直播***
US20160337424A1 (en) Transferring media data using a websocket subprotocol
CN102404624B (zh) 一种数字机顶盒用支持硬件解码的全格式媒体播放器
US8930442B2 (en) Apparatus and method for playing media content data
WO2018014523A1 (zh) 一种媒体数据的获取方法和装置
US20180176278A1 (en) Detecting and signaling new initialization segments during manifest-file-free media streaming
CN108494792A (zh) 一种flash播放器播放hls视频流的转换***及其工作方法
TW200849989A (en) System and method for reducing the zapping time
CN104333764B (zh) 一种多路视频播放方法及装置
CN108632679B (zh) 一种多媒体数据传输的方法和一种视联网终端
CN102355605B (zh) Iptv机顶盒的直播时移处理方法
CN110460898B (zh) 一种视频处理方法及***、装置、机器可读介质
US20110088069A1 (en) Network device, information processing apparatus, stream switching method, information processing method, program, and content distribution system
CN110300338A (zh) 一种快速切换播放组播视频的方法
CN102595241B (zh) 一种机顶盒支持flv视频播放的方法
JP4735666B2 (ja) コンテンツサーバ、情報処理装置、ネットワーク機器、コンテンツ配信方法、情報処理方法およびコンテンツ配信システム
CN101262600B (zh) 一种网络视频快进快退播放***和方法
WO2016090916A1 (zh) 码流传输方法和装置
CN104185028A (zh) 一种视频播放方法及终端
JP2023052611A (ja) 送信装置、送信方法、メディア処理装置、メディア処理方法および受信装置
CN109104635A (zh) 即时传送屏幕图像的方法及***
CN110139144A (zh) 一种基于智能家居中电视分享方法
TWI574558B (zh) 播放複合濃縮串流之方法以及播放器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140305

Termination date: 20210119

CF01 Termination of patent right due to non-payment of annual fee