当前位置:网站首页>RTMP supports h265 streaming
RTMP supports h265 streaming
2022-07-29 09:28:00 【Ternence_ Hsu】
Implementation reference
- Jin Shan Yun :https://github.com/CDN-Union/Code/tree/master/flv265-Kingsoft
- patch Reference resources :https://github.com/CDN-Union/Code/blob/master/flv265-Kingsoft/flv265patch_from_kingsoft.7z
in the light of 《video_file_format_spec_v10_1》 VIDEODATA Some extensions are as follows :
VIDEODATA
The VideoTagHeader contains video-specific metadata.
VideoTagHeader
| Field | Type | Comment |
|---|---|---|
| Frame Type | UB [4] | Frame Type Type of video frame. The following values are defined: 1 = key frame (for AVC and HEVC, a seekable frame) 2 = inter frame (for AVC and HEVC, a non-seekable frame) 3 = disposable inter frame (H.263 only) 4 = generated key frame (reserved for server use only) 5 = video info/command frame |
| CodecID | UB [4] | Codec Identifier. The following values are defined: 2 = Sorenson H.263 3 = Screen video 4 = On2 VP6 5 = On2 VP6 with alpha channel 6 = Screen video version 2 7 = AVC 12=HEVC |
| HVCPacketType | IF CodecID == 12 UI8 | The following values are defined: 0 = HEVC sequence header 1 = HEVC NALU 2 = HEVC end of sequence (lower level NALU sequence ender is not required or supported |
| CompositionTime | IF CodecID==7 OR CodecID == 12 SI24 | IF AVCPacketType == 1 OR HVCPacketType == 1 Composition time offset ELSE 0 See ISO 14496-12, 8.15.3 for an explanation of composition times. The offset in an FLV file is always in milliseconds. |
| VideoTagBody | IF FrameType == 5 UI8 ELSE ( IF CodecID == 2 H263VIDEOPACKET IF CodecID == 3 SCREENVIDEOPACKET IF CodecID == 4 VP6FLVVIDEOPACKET IF CodecID == 5 VP6FLVALPHAVIDEOPACKET IF CodecID == 6 SCREENV2VIDEOPACKET IF CodecID == 7 AVCVIDEOPACKET IF CodecID == 12 HVCVIDEOPACKET ) | Video frame payload or frame info If FrameType == 5, instead of a video payload, the Video Data Body contains a UI8 with the following meaning: 0 = Start of client-side seeking video frame sequence 1 = End of client-side seeking video frame sequence For all but AVCVIDEOPACKET or HVCVIDEOPACKET, see the SWF File Format Specification for details |
边栏推荐
- Network knowledge summary
- 机器学习之分类模型评估指标及sklearn代码实现
- Jetpack Glance? The spring of widgets is coming
- C # use restsharp library to realize post request
- On contract testing
- Briefly describe the difference between heap and stack
- How to realize the isolation level between MySQL transactions and mvcc
- Summary of research on endogenous information security technology of industrial measurement and control equipment
- redis命令[逐渐完善]
- 云原生管理实践:业务引领的DevOps持续交付体系
猜你喜欢

On the charm of code language

No swagger, what do I use?

Flowable 基础篇2

MySQL converts some table names to uppercase

How to introduce your project experience?

如何介绍自己的项目经验?

Evaluation index of machine learning classification model and implementation of sklearn code

STM32 application development practice tutorial: design and implementation of controllable LED water lamp

查看端口占用情况

How does xjson implement four operations?
随机推荐
Leetcode: interview question 08.14. Boolean operation
How to contribute to openharmony
Flowable 基础篇1
如何为OpenHarmony做贡献
Study and exploration of Redux API implementation of Redux
OpenCV图像处理基础操作
VS2015采用loadlibrary方式调用dll库
【Unity入门计划】常用学习网址收藏
查看端口占用情况
Axurerp prototype design starts quickly
A structured random inactivation UNET for retinal vascular segmentation
如何介绍自己的项目经验?
Floweable advanced
Basic part 2 of flowable
乱打日志的男孩运气怎么样我不知道,加班肯定很多
PyQt5快速开发与实战 6.1 好软件的三个维度 && 6.2 PyQt5中的布局管理 && 6.3 PyQt5的绝对位置布局
Summary of research on endogenous information security technology of industrial measurement and control equipment
[performance optimization methodology series] III. core idea of performance optimization (2)
Appendix 2 – some simple exercises
redis命令[逐渐完善]