当前位置:网站首页>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 |
边栏推荐
- dataframe. to_ Sql() inserts too many errors at one time
- Pyqt5 rapid development and practice 6.1 three dimensions of good software & 6.2 layout management in pyqt5 & 6.3 absolute location layout of pyqt5
- Qmainwindow details
- 查看端口占用情况
- Leetcode: interview question 08.14. Boolean operation
- 分布式Session共享的4类技术方案,与优劣势比较
- Retinal Vessel Segmentation via a Semantics and Multi-Scale Aggregation Network
- How to contribute to openharmony
- Floweable foundation Chapter 1
- Use cpolar to publish raspberry pie web pages (improvement of cpolar function)
猜你喜欢

The use and Simulation of string function, character function and memory function

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

Unity Xchart3.0基本用法快速上手

Unity 引导系统.点击目标物体后提示文字变色进入下一步

Use cpolar to publish raspberry pie web pages (improvement of cpolar tunnel)

Floweable advanced

怎样查询快递物流筛选出无信息单号删除或者复制

Flowable 高级篇

36. JS animation

Solve the problem of reading data garbled by redis visualization tool
随机推荐
C # use restsharp library to realize post request
The use and Simulation of string function, character function and memory function
dataframe. to_ Sql() inserts too many errors at one time
怎样查询快递物流筛选出无信息单号删除或者复制
文件重命名后,怎样将新旧文件名及所在位置导出到excel
File upload and expansion
Handwritten character recognition
Emmet syntax
先序遍历/后序遍历确定树的大致形态
常用的DOS命令[逐渐完善]
Trie树(字典树)讲解
Appendix 2 – some simple exercises
Network security (6)
使用cpolar发布树莓派网页(cpolar功能的完善)
I don't know how lucky the boy who randomly typed logs is. There must be a lot of overtime
使用cpolar发布树莓派网页(cpolar隧道的完善)
Using logistic regression and neural network to deal with complex binary classification problems
附录2-一些简单的练习
Discussion on the integration of storage and calculation and the calculation in storage
Flowable UI production flow chart