实现参考

  • 金山云: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

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

rtmp支持h265推流相关推荐

  1. RTMP 直播 H265 推流适配总结

    1.在iOS11的系统之上,苹果逐渐放开H265硬编硬解的能力,硬解码的能力只要升级到iOS11之后,iPhone6+以上的机型就支持了(印象中): H265硬编码的能力对设备要求较高,不仅要求系统版 ...

  2. LAL v0.35.4发布,OBS支持RTMP H265推流,我跟了

    Go语言流媒体开源项目 LAL 今天发布了v0.35.4版本. LAL 项目地址:https://github.com/q191201771/lal 老规矩,简单介绍一下: ▦ 一. OBS支持RTM ...

  3. 如何让ffplay或者ffmpeg支持H265编码的rtmp/http-flv 实时直播流

    很多初学者不知道ffplay或者ffmpeg是不支持flv封装的rtmp/http-flv流的,其原因是flv不支持H265编码payload的,因为当时制定flv封装协议的时候,H265还没出来,现 ...

  4. srs推flv流_srs流媒体服务器(simple rtmp server)如何支持h265

    2020.4.24更新: 最新的srs代码已经支持hevc了,请直接阅读srs代码进行对接. 我在srs(1.0) 地址 (https://github.com/ossrs/srs)基础上加了点扩展, ...

  5. 多路HDMI编码转RTMP多平台推流直播导播方案

    多路HDMI编码转RTMP多平台推流直播导播方案 今天我要给大家带来一个多路HDMI转RTMP多平台推流直播的方案,咱也不说这个方案是最优,但性能和稳定性却是响当当的好,该设备采用华为海思Hi3531 ...

  6. 软件_视频rtmp,rmvb,h265区别

    原创博客地址: 软件_视频rtmp,rmvb,h265区别 h265,h264 视频压缩算法,原始视频是图片流,意味着[[r,g,b],[r,g,b],,]等等,极其占用空间,所以这种数据只能出现内存 ...

  7. librtmp h265 推流

    h264和h265的区别: h264和H265总的来说格式是一样的,H265多了一个VPS. 在解码H264时,sps.pps是必须的.而在解码H265时,sps.vps.pps是必须的. //H26 ...

  8. 某学校监控教学RTMP多平台推流直播方案

    某学校监控教学RTMP多平台推流直播方案 今天接到一个客户的需求,要求做一个学校教学的直播试点,萌生了我写这个方案的想法,下面先来看看这个学校的需求吧,希望也给其他学校提供借鉴. 客户的描述:&quo ...

  9. nginx-rtmp-ffmpeg-flv支持h265数据

    关于flv支持H265数据的ffmpeg扩展 前言 最近做项目时遇到rtmp不支持发送H265数据的问题.查找了相关资料,做了如下整理.方便自己和他人学习. 关于rtmp为什么不支持H265数据,其原 ...

最新文章

  1. 窥见人工智能四十年 2019 CCF-GAIR全球人工智能与机器人峰会今日开幕
  2. 域socket(domain socket)和ipsocket(TCP/IP socket)区别
  3. c++ string 删除字符_算法笔记|(5)第二章C、C++的快速入门字符数组的存放方式string.h文件...
  4. 2014年职称计算机word2003,2014年职称计算机考试Word2003模拟题及答案5
  5. A. [2021.1.29多校省选模拟11]最大公约数(杜教筛/数论)
  6. YBTOJ:斐波拉契(矩阵快速幂)
  7. vue-resource
  8. java文件替换一行数据_用Golang替换文件中的一行
  9. 该放弃正在堕落的“RNN和LSTM”了
  10. 半年辞退30多个程序员,大厂“开猿节流”太狠了!
  11. Nginx 模块开发高级篇
  12. 不是纸上谈兵,VR原来真的可以缓解抑郁症
  13. PYTHON 笔记:函数的参数(关键字参数,默认参数,可变长参数,可变长的关键字参数)
  14. unity打包IOS填坑1
  15. ThoughtWorks 2018技术雷达峰会(6月2日@深圳)
  16. C语言动态规划——背包问题详解
  17. 如何让自己像打王者荣耀一样疯狂且不知疲倦地学习?
  18. 小米路由器R3G救砖TTL教程
  19. “应用程序配置不正确,应用程序未能启动” 错误的解决
  20. 物流行业中的常见术语(zt)

热门文章

  1. ai如何旋转画布_Illustrator让一个图形沿着某一点或顶点旋转复制教程
  2. 软件测试就业前景怎么样?
  3. Mybatis从零开始
  4. 学网页平面UI设计,我选择广州传智播客
  5. java后端扇形图实现
  6. 本地启动wss服务链接不成功原因
  7. SourceTree提交vue前端代码报错git -c diff.mnemonicprefix=false -c core.quotepath=false commit -q -F C:\Users\
  8. [global::]是什么形式?什么意思?
  9. 洛谷2448 无尽的生命[树状数组 离散化]
  10. 35岁以上高龄程序员,即将被裁员,该何去何从?