rtmp支持h265推流

实现参考

  • 金山云:https://github.com/CDN-Union/Code/tree/master/flv265-Kingsoft
  • patch参考:https://github.com/CDN-Union/Code/blob/master/flv265-Kingsoft/flv265patch_from_kingsoft.7z

针对《video_file_format_spec_v10_1》 VIDEODATA部分扩展如下:

VIDEODATA

The VideoTagHeader contains video-specific metadata.

VideoTagHeader
FieldTypeComment
Frame TypeUB [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
CodecIDUB [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
HVCPacketTypeIF 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
CompositionTimeIF 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.
VideoTagBodyIF 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值