CN107147916A - 一种在传输层上传输h.265编码视频数据的方法 - Google Patents
一种在传输层上传输h.265编码视频数据的方法 Download PDFInfo
- Publication number
- CN107147916A CN107147916A CN201710431382.7A CN201710431382A CN107147916A CN 107147916 A CN107147916 A CN 107147916A CN 201710431382 A CN201710431382 A CN 201710431382A CN 107147916 A CN107147916 A CN 107147916A
- Authority
- CN
- China
- Prior art keywords
- agreements
- rtmp
- http
- video data
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
一种在传输层上传输H.265编码视频数据的方法,包括以下步骤,对直播视频进行H.265编码;修改RTMP或HTTP‑FLV协议头的codecID字段和metadata信息,对RTMP协议或HTTP‑FLV协议的数据结构进行修改;采用修改后的RTMP或HTTP‑FLV协议进行H.265编码视频数据的传输;选择H.265解码器进行解码和视频播放。本发明的在传输层上传输H.265编码视频数据的方法,使用H.265编码方式在保证画质不变的前提下,降低码率从而可以在不需要消耗很高带宽资源情况下传输高画质的视频数据。
Description
技术领域
本发明涉及视频数据传输技术领域,尤其涉及一种在传输层上传输H.265编码视频数据的方法。
背景技术
近年来,由于高码率、高画质视频的普及,特别是VR视频这种需要极致体验的视觉观看体验的视频,就需要更高的网络带宽来传输。一种方法是用户主动升级网络带宽大小,另一种是使用新的视频编码方式在保证画质不变的前提下,降低码率从而可以在不需要消耗很高带宽资源情况下传输高画质的视频数据。本发明就是使用第二种思路来解决在相对不是很高码率下传输超高画质视频数据的解决方案。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种在传输层上传输H.265编码视频数据的方法,在使用压缩率更高的H.265编码方式在视屏直播流传输层协议上分发传输更高画质的画面。
为实现上述目的,本发明提供的在传输层上传输H.265编码视频数据的方法,包括以下步骤:
1)对直播视频进行H.265编码;
2)修改RTMP或HTTP-FLV协议头的codecID字段和metadata信息,对RTMP协议或HTTP-FLV协议的数据结构进行修改;
3)采用修改后的RTMP或HTTP-FLV协议进行H.265编码视频数据的传输;
4)选择H.265解码器进行解码和视频播放。
进一步地,步骤2)所述修改RTMP或HTTP-FLV协议头的codecID字段和metadata信息,包括,
在RTMP协议或HTTP-FLV协议的协议头中增加codecID=10的数据用来标识流的编码类型为H.265;
在RTMP协议的metadata信息中增加codecID为10表示使用的是H.265编码。
进一步地,还包括以下步骤:
如果HevcPacketType字段为0时,增加VPS数据;
将265帧数据封装进RTMP或HTTP-FLV的视频包载荷。
更进一步地,所述步骤4)进一步包括,
判断RTMP协议或HTTP-FLV协议的协议头是否有codecID=10标识;
判断RTMP协议或HTTP-FLV协议metadata中标识codecID是否为10;
播放器选择H.265解码器进行视频数据解码。
本发明提供的在传输层上传输H.265编码视频数据的方法,使用H.265编码方式在保证画质不变的前提下,降低码率从而可以在不需要消耗很高带宽资源情况下传输高画质的视频数据。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为现有RTMP协议中消息的报文结构示意图;
图2为现有RTMP协议中消息块的报文结构示意图;
图3为现有RTMP协议中消息分块过程示意图;
图4为根据本发明在传输层上传输H.265编码视频数据的方法流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
RTMP(HTTP-FLV与RTMP协议相同,后面不再赘述)协议是一个互联网TCP/IP五层体系结构中应用层的协议。RTMP协议中基本的数据单元称为消息(Message)。当RTMP协议在互联网中传输数据的时候,消息会被拆分成更小的单元,称为消息块(Chunk)。
1消息
消息是RTMP协议中基本的数据单元。不同种类的消息包含不同的Message TypeID,代表不同的功能。RTMP协议中一共规定了十多种消息类型,分别发挥着不同的作用。图1为现有RTMP协议中消息的报文结构示意图,如图1所示,Message Type ID在1-7的消息用于协议控制,这些消息一般是RTMP协议自身管理要使用的消息,用户一般情况下无需操作其中的数据。Message Type ID为8,9的消息分别用于传输音频和视频数据。Message Type ID为15-20的消息用于发送AMF编码的命令,负责用户与服务器之间的交互,比如播放,暂停等等。消息首部(Message Header)有四部分组成:标志消息类型的Message Type ID,标志消息长度的Payload Length,标识时间戳的Timestamp,标识消息所属媒体流的Stream ID。
2消息块
在网络上传输数据时,消息需要被拆分成较小的数据块,才适合在相应的网络环境上传输。RTMP协议中规定,消息在网络上传输时被拆分成消息块(Chunk)。图2为现有RTMP协议中消息块的报文结构示意图,如图2所示,消息块首部(Chunk Header)有三部分组成:用于标识本块的Chunk Basic Header,用于标识本块负载所属消息的Chunk MessageHeader,以及当时间戳溢出时才出现的Extended Timestamp。
3消息分块
在消息被分割成几个消息块的过程中,消息负载部分(Message Body)被分割成大小固定的数据块(默认是128字节,最后一个数据块可以小于该固定长度),并在其首部加上消息块首部(Chunk Header),就组成了相应的消息块。图3为现有RTMP协议中消息分块过程示意图,如图3所示,一个大小为307字节的消息被分割成128字节的消息块(除了最后一个)。
RTMP传输媒体数据的过程中,发送端首先把媒体数据封装成消息,然后把消息分割成消息块,最后将分割后的消息块通过TCP协议发送出去。接收端在通过TCP协议收到数据后,首先把消息块重新组合成消息,然后通过对消息进行解封装处理就可以恢复出媒体数据。
图4为根据本发明在传输层上传输H.265编码视频数据的方法流程图,下面将参考图4,对本发明的在传输层上传输H.265编码视频数据的方法进行详细描述。
首先,在步骤401,采用H.265视频编码标准对直播视频进行编码;
H.265是ITU-T VCEG继H.264之后所制定的新的视频编码标准。H.265标准围绕着现有的视频编码标准H.264,保留原来的某些技术,同时对一些相关的技术加以改进,其使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。具体的研究内容包括:提高压缩效率、提高鲁棒性和错误恢复能力、减少实时的时延、减少信道获取时间和随机接入时延、降低复杂度等。H264由于算法优化,可以低于1Mbps的速度实现标清数字图像传送;H.265则可以实现利用1~2Mbps的传输速度传送720P(分辨率1280*720)普通高清音视频传送。
在步骤402,对RTMP协议的数据结构进行修改;
RTMP协议头的Frame type字段不变,在RTMP协议头(RTMP Header)的codecID字段新增codecID=10的数据用来标识流的编码类型为H.265(264使用的是7)。并且在RTMP协议的metadata信息中增加codecID为10(264编码的采用的是7)表示使用的是H.265编码,用来让播放器选择H.265解码器进行视频数据解码。
如果HevcPacketType字段为0时(表示的是HEVC的sequence header),即265视频流的一些配置信息,在原本264的sequence header基础上(sps+pps数据),增加了VPS数据[VPS:Video Parameter Set(视频参数集)],辅助解码。
在RTMP的视频包载荷将265帧数据封装进去。此机制跟264相同,只是载荷内容不同。
在步骤403,对HTTP-FLV协议的数据结构进行修改;
HTTP-FLV协议支持H.265和RTMP协议相同,启用新的codecID用来表示H.265编码方式。
在步骤404,采用修改后的RTMP、HTTP-FLV协议进行H.265编码视频数据的传输;
在步骤405,播放器选择H.265解码器进行视频数据解码、播放。
RTMP协议和HTTP-FLV协议新增codecID=10用来标识H.265编码器。需要在协议metadata中标识codecID为10表示使用的是H.265编码,用来让播放器选择H.265解码器进行视频数据解码。
RTMP视频包负载数据结构RTMP Header+RTMP Body(5字节header+4个字节NALU大小+真实是视频数据),其中body header结构如下:
byte[0]=[1-byte header]
byte[1]=[1-byte codec config indicator(1-video data,0-codec configpacket)]
byte[2..4]=[3-byte time difference between dts and pts inmilliseconds]byte[5..8]=[4-byte nalu size]
其中NALU字段大小由lengthSizeMinusOne决定。
HEVC字段定义如下表所示:
HEVC视频解码配置信息数据结构:
HTTP-FLV协议支持H.265和RTMP协议相同,启用新的codecID用来表示H.265编码方式。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作-的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种在传输层上传输H.265编码视频数据的方法,包括以下步骤:
1)对直播视频进行H.265编码;
2)修改RTMP或HTTP-FLV协议头的codecID字段和metadata信息,对RTMP协议或HTTP-FLV协议的数据结构进行修改;
3)采用修改后的RTMP或HTTP-FLV协议进行H.265编码视频数据的传输;
4)选择H.265解码器进行解码和视频播放。
2.根据权利要求1所述的在传输层上传输H.265编码视频数据的方法,其特征在于,步骤2)所述修改RTMP或HTTP-FLV协议头的codecID字段和metadata信息,包括,
在RTMP协议或HTTP-FLV协议的协议头中增加codecID=10的数据用来标识流的编码类型为H.265;
在RTMP协议的metadata信息中增加codecID为10表示使用的是H.265编码。
3.根据权利要求2所述的在传输层上传输H.265编码视频数据的方法,其特征在于,还包括以下步骤:
如果HevcPacketType字段为0时,增加VPS数据;
将265帧数据封装进RTMP或HTTP-FLV的视频包载荷。
4.根据权利要求1所述的在传输层上传输H.265编码视频数据的方法,其特征在于,所述步骤4)进一步包括,
判断RTMP协议或HTTP-FLV协议的协议头是否有codecID=10标识;
判断RTMP协议或HTTP-FLV协议metadata中标识codecID是否为10;
播放器选择H.265解码器进行视频数据解码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710431382.7A CN107147916B (zh) | 2017-06-09 | 2017-06-09 | 一种在传输层上传输h.265编码视频数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710431382.7A CN107147916B (zh) | 2017-06-09 | 2017-06-09 | 一种在传输层上传输h.265编码视频数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107147916A true CN107147916A (zh) | 2017-09-08 |
CN107147916B CN107147916B (zh) | 2021-01-29 |
Family
ID=59781060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710431382.7A Active CN107147916B (zh) | 2017-06-09 | 2017-06-09 | 一种在传输层上传输h.265编码视频数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107147916B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110087084A (zh) * | 2018-01-25 | 2019-08-02 | 联咏科技股份有限公司 | 视频处理装置及视频处理方法 |
CN111010593A (zh) * | 2019-11-08 | 2020-04-14 | 深圳市麦谷科技有限公司 | 基于flv格式封装h.265视频数据的方法和装置 |
CN111083510A (zh) * | 2019-12-18 | 2020-04-28 | 深圳市麦谷科技有限公司 | 推送hevc视频的方法和装置 |
CN111683293A (zh) * | 2020-05-31 | 2020-09-18 | 杭州视在数科信息技术有限公司 | 一种基于http-flv协议的跨浏览器播放h.265视频的方法 |
CN112004101A (zh) * | 2020-07-31 | 2020-11-27 | 北京琳云信息科技有限责任公司 | 虚拟直播数据的传输方法、装置及存储介质 |
CN114363662A (zh) * | 2022-01-07 | 2022-04-15 | 深圳看到科技有限公司 | 推流方法、装置、终端及存储介质 |
CN114513675A (zh) * | 2022-01-04 | 2022-05-17 | 桂林电子科技大学 | 一种全景视频直播***构建方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098513A (zh) * | 2010-12-20 | 2011-06-15 | 北京交通大学 | 无线视频实时传输方法 |
CN102577403A (zh) * | 2009-10-13 | 2012-07-11 | Lg电子株式会社 | 广播接收机及其3d视频数据处理方法 |
CN104584554A (zh) * | 2012-09-26 | 2015-04-29 | 松下电器(美国)知识产权公司 | 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编解码装置 |
CN104754349A (zh) * | 2013-12-25 | 2015-07-01 | 炫一下(北京)科技有限公司 | 硬解码音视频的方法及装置 |
CN104837022A (zh) * | 2015-04-29 | 2015-08-12 | 中南大学 | 一种基于hevc的神经影像数据压缩方法 |
CN106412621A (zh) * | 2016-09-28 | 2017-02-15 | 广州华多网络科技有限公司 | 网络直播间的视频显示方法及装置、控制方法与相关设备 |
US20170055041A1 (en) * | 2014-05-07 | 2017-02-23 | Daxin Zhu | Interactive acknowledge system and method based on internet communications and streaming media live broadcast |
-
2017
- 2017-06-09 CN CN201710431382.7A patent/CN107147916B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102577403A (zh) * | 2009-10-13 | 2012-07-11 | Lg电子株式会社 | 广播接收机及其3d视频数据处理方法 |
CN102098513A (zh) * | 2010-12-20 | 2011-06-15 | 北京交通大学 | 无线视频实时传输方法 |
CN104584554A (zh) * | 2012-09-26 | 2015-04-29 | 松下电器(美国)知识产权公司 | 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编解码装置 |
CN104754349A (zh) * | 2013-12-25 | 2015-07-01 | 炫一下(北京)科技有限公司 | 硬解码音视频的方法及装置 |
US20170055041A1 (en) * | 2014-05-07 | 2017-02-23 | Daxin Zhu | Interactive acknowledge system and method based on internet communications and streaming media live broadcast |
CN104837022A (zh) * | 2015-04-29 | 2015-08-12 | 中南大学 | 一种基于hevc的神经影像数据压缩方法 |
CN106412621A (zh) * | 2016-09-28 | 2017-02-15 | 广州华多网络科技有限公司 | 网络直播间的视频显示方法及装置、控制方法与相关设备 |
Non-Patent Citations (1)
Title |
---|
爱吃花栗鼠的猫: "srs流媒体服务器(simple rtmp server)如何支持h265", 《简书 HTTPS://WWW.JIANSHU.COM/P/53180774002D》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110087084A (zh) * | 2018-01-25 | 2019-08-02 | 联咏科技股份有限公司 | 视频处理装置及视频处理方法 |
CN110087084B (zh) * | 2018-01-25 | 2022-03-18 | 联咏科技股份有限公司 | 视频处理装置及视频处理方法 |
CN111010593A (zh) * | 2019-11-08 | 2020-04-14 | 深圳市麦谷科技有限公司 | 基于flv格式封装h.265视频数据的方法和装置 |
CN111083510A (zh) * | 2019-12-18 | 2020-04-28 | 深圳市麦谷科技有限公司 | 推送hevc视频的方法和装置 |
CN111683293A (zh) * | 2020-05-31 | 2020-09-18 | 杭州视在数科信息技术有限公司 | 一种基于http-flv协议的跨浏览器播放h.265视频的方法 |
CN112004101A (zh) * | 2020-07-31 | 2020-11-27 | 北京琳云信息科技有限责任公司 | 虚拟直播数据的传输方法、装置及存储介质 |
CN112004101B (zh) * | 2020-07-31 | 2022-08-26 | 北京心域科技有限责任公司 | 虚拟直播数据的传输方法、装置及存储介质 |
CN114513675A (zh) * | 2022-01-04 | 2022-05-17 | 桂林电子科技大学 | 一种全景视频直播***构建方法 |
CN114363662A (zh) * | 2022-01-07 | 2022-04-15 | 深圳看到科技有限公司 | 推流方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107147916B (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107147916A (zh) | 一种在传输层上传输h.265编码视频数据的方法 | |
US11665384B2 (en) | Method and apparatus for transmitting media data in multimedia transport system | |
US11805286B2 (en) | Apparatus and method for transmitting/receiving processes of a broadcast signal | |
US11178436B2 (en) | Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method | |
KR101972951B1 (ko) | 오버헤드를 최소화한 헤더를 가지는 패킷 기반의 미디어 데이터 전송 방법 | |
RU2657473C2 (ru) | Устройство передачи, способ передачи, устройство приема и способ приема | |
US9967582B2 (en) | Hybrid delivery method and reception method for MMT packaged SVC video contents | |
KR20190085899A (ko) | 미디어 데이터를 송수신하기 위한 인터페이스 장치 및 방법 | |
CN104038844B (zh) | 一种基于mpeg‑2标准的移动直播*** | |
CN108881927A (zh) | 一种视频数据合成方法和装置 | |
WO2007045140A1 (fr) | Methode en temps reel pour transferer des donnees multimedia | |
KR20130040090A (ko) | 복합 네트워크에서 멀티미디어 데이터를 전송하기 위한 장치 및 그 방법 | |
CN106657113B (zh) | 一种广播网络复用协议的转换方法及*** | |
CN105191248A (zh) | 用于分组头部压缩的方法和装置 | |
CN101146212B (zh) | 视频点播网络的流媒体封包解包方法及*** | |
EP1936908A1 (en) | Method, apparatus and data container for transferring high resolution audio/video data in a high speed IP network | |
WO2010049312A1 (en) | Data container for transferring high resolution audio/video data in a high speed ip network | |
KR100762718B1 (ko) | Mpeg-4 데이터 스트림들을 인터넷 네트워크에 적합시키는 전처리 방법 | |
WO2008043213A1 (fr) | Système de diffusion mobile multimédia destiné à augmenter l'efficacité de transmisstion au moyen d'une trame à longueur variable et procédé associé | |
CN104125479B (zh) | 视频截图***及方法 | |
TW202032998A (zh) | 用於經串流媒體資料之多個解碼器介面 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |