前言
本章代码除了在《JavaCV音视频开发宝典:使用JavaCV和springBoot实现http-flv直播服务,无需流媒体服务,浏览器网页flv.js转封装方式播放rtsp,rtmp和桌面投屏实时画面》基础上增加转封装功能,同样也适用于websocket-flv实现《JavaCV音视频开发宝典:使用JavaCV和springBoot实现websocket-flv直播服务,无需流媒体服务,浏览器网页flv.js播放器直接播放rtsp,rtmp等实时视频》中。
关于flv是否需要兼容H.265(hevc)的问题
这是个老话重谈的问题了。
我们从使用场景和成本(专利授权费和开发)两方面来分析,是否有必要兼容h265。
我们使用http-flv和websocket-flv的场景基本上是web网页和移动端H5,小程序上,当然现在还有基于Electron客户端(本质上还是网页)上使用,基本不会在原生客户端去使用。因为浏览器(包括chrome,firefox,edge,IE)都不支持h265(hevc),也不支持pcma(g711)编码。能够支持h265(hevc)解码的只有在苹果公司的safari浏览器。至于为什么只有苹果的safari浏览器支持h265(hevc)呢?这就不得不提到h265视频编码专利费这块大蛋糕了。
不想了解 h265(hevc)专利授权情况的选择跳过下面的介绍,直接到代码实现即可
后面会详细写一张介绍视频编码专利授权的情况
h265(hevc)并不免费
windows上需要付费购买的h265(hevc)视频解码器
授权已过期或者已经侵权需要缴纳专利费已经上了黑名单被重点关注的公司(来源:https://accessadvance.com/hevc-advance-patent-pool-licensees/)
这个https://accessadvance.com/hevc-advance-patent-pool-licensees/里面也展示了哪些公司已经上交了“专利费”,不单独展示了。
为什么只有苹果的safari浏览器支持h265(hevc)?
因为苹果在h265(hevc)专利量挺多的,有交叉许可,不需要缴纳额外的专利费,库克可真是个大聪明。
(专利列表资料来源:https://www.mpegla.com/programs/hevc/licensors/)
但是浏览器领域的霸主是Google的Chrome以及基于chromium的一众“国产换皮浏览器”和Edge浏览器啊!
Google表示你选择收费,我也可以选择拒绝h265(hevc),并且连续推出了自己的开源的视频编码标准:vp8、vp9、av1,以及视频格式:webm。
既然webm那么强,又有Google背书,为什么不写webm的转封装?
本文转载自:https://eguid.blog.csdn.net/article/details/125077323
完整查看内容请到:https://eguid.blog.csdn.net/article/details/125077323
end