33 | FLV:适合录制的多媒体格式
李超
该思维导图由 AI 生成,仅供参考
虽然苹果拒绝使用 RTMP 协议并推出了自己的 HLS 技术,但大多数用户仍然还是使用 RTMP 协议作为传统直播系统的传输协议。在 Adobe 宣布不再对 RTMP 技术进行支持的情况下,仍然还有这么多用户在使用它,说明 RTMP 协议具有其他协议不可比拟的优势。
这里我们做个对比,你就知道 RTMP 协议的优势在哪里了。
首先,与 HLS 技术相比,RTMP 协议在传输时延上要比 HLS 小得多。主要原因在于 HLS 是基于切片(几秒钟视频的小文件)、然后缓存的技术,这种技术从原理上就比直接进行数据传输慢很多,事实也证明了这一点。
其次,相对于 RTP 协议,RTMP 底层是基于 TCP 协议的,所以它不用考虑数据丢包、乱序、网络抖动等问题,极大地减少了开发人员的工作量;而使用 RTP 协议,网络质量的保障都需要自己来完成。
最后,与现在越来越火的 WebRTC 技术相比,RTMP 也有它自己的优势。虽然在实时传输方面 WebRTC 甩 RTMP 技术几条街,但对于实时性要求并没有那么高的传统直播来说,RTMP 协议在音视频的服务质量上普遍要好于 WebRTC 的音视频服务质量。
这下你知道 RTMP 协议为什么会存活这么久了吧。那说了这么多,RTMP 协议与 FLV 又有什么关系呢?实际上,FLV 文件与 RTMP 之间是“近亲”关系,甚至比“近亲”还要近,亲得就好像是“一个人”似的。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
FLV格式是一种适合录制的多媒体格式,尽管苹果推出了自己的HLS技术,但大多数用户仍然使用RTMP协议作为传统直播系统的传输协议。相比HLS技术,RTMP协议在传输时延上更小,而且相对于RTP协议,RTMP底层基于TCP协议,减少了开发人员的工作量。此外,FLV文件与RTMP之间有着密切的关系,FLV文件是由FLV头和RTMP数据构成的。FLV文件格式的流式存储结构使其特别适合在音视频录制中使用,可以随时将音视频数据写入到文件的末尾,而不会破坏文件的整体结构。相较于MP4等多媒体文件,FLV文件头是固定的,音视频数据可以随着时间的推移随时写入到文件的末尾,因此在录制和回放时更具优势。总的来说,FLV格式在服务端录制中具有诸多优势,而且在实现FLV格式分析时,已经有很多非常不错的开源库可供使用。 在留言区分享你知道的有名的能够播放FLV格式文件的开源播放器吧!
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《从 0 打造音视频直播系统》,新⼈⾸单¥59
《从 0 打造音视频直播系统》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(10)
- 最新
- 精选
- redbgbilibili 的 flv.js,可以用 h5 播放 flv
作者回复: 不错!非常好的播放器
2019-09-297 - 刘丹FLV Body里为什么把TagSize放在Tag后面呢?如果TagSize在Tag前面,解析时就知道需要读入多少字节了。
作者回复: 这是咱们正常的思维。但FLV标准的制定者不是这么考虑的。他们认为通过 Tag中的音频头或视频头就可以知道 Tag 的长度,然后后面再用 TagSize校验一下长度是否OK比较方便。
2019-09-2823 - 刘丹请问合并2个FLV文件的时候,是否要把第2个FLV文件的FLV头这几个字节删除掉?
作者回复: 是要去掉的
2019-09-282 - 一颗大白菜有两个疑问: (1)在尾部追加Tag时是否需要更新Metadata中filesize和duration吗? (2)在尾部追加Tag时是否会引起Metadata大小变化呢?如果大小变化,那么是不是需要将重新生成文件?
作者回复: 因为flv中的数据是流式的,在后面追加tag是没问题的,而且flv中的metadata也是可有可无的;
2020-08-062 - 神经旷野舞者既然flv和rtmp等于没有区别,为什么后来者还要自立门户呢?
作者回复: 里边的协议是一样的,但一个是多媒体文件,一个是音视频流。不知我表述清楚没。
2019-12-17 - 李新对于CDN厂商来说,观看端都是使用HTTP-FLV吧?
作者回复: RTPM, HTTP-FLV, HLS这些协议都支持!
2019-11-13 - Jasonpotplayer
作者回复: 这个以前还真没用过,回头试试!
2019-09-29 - Jason讲的很清楚,赞
作者回复: 谢谢!
2019-09-29 - 潇湘落木FLV封装格式详解,作为补充! https://mp.weixin.qq.com/s/cMM2wbh1-DGWEMUB02mK8g https://mp.weixin.qq.com/s/teQ7FoNj5FIE-3PICBIvlA2019-11-056
- EdwdChen请问一下像 flv 没有一个结构化的头,seek 的时候应该怎么样快速找到对应的位置呢?2022-06-28
收起评论