nginx-rtmp支持h265编码

转载请注明出处:https://blog.csdn.net/impingo
项目地址:https://github.com/im-pingo/pingos
项目官网:http://pingos.io

nginx-rtmp支持h265编码

  • 问题背景
  • 解决方案
  • QQ交流群:697773082

问题背景

rtmp协议和flv媒体格式都是adobe公司标准,但是由于近些年flash的表现越来越差,adobe公司对flash和rtmp、flv也已经逐渐放弃升级。导致rtmp、flv协议停留在h264编码时代,近些年h265编码火起来之后rtmp和flv协议是无法支持它的,为了支持rtmp和flv编码国内几个CDN厂商约定将flv中codecId为12(十六进制 0x0c)时代表h265编码。

解决方案

目前我已经在https://github.com/im-pingo/nginx-rtmp-module中对rtmp支持了h265的编码,并且也对HLS、HTTP-FLV、HTTP-TS都进行了h265的支持。关于部署和配置请参照我以前的博客。
目前在我的开源项目中,rtmp和flv默认使用12(十六进制 0x0c)代表h265编码。同时推流工具也要配合修改,使用12做为h265的。
以ffmpeg推流工具为例,如果你需要能够推送支持h265编码的rtmp流,你需要下载特殊的ffmpeg版本,ffmpeg源码连接:https://github.com/im-pingo/CDN-Union_H265
ffmpeg编译过程可参考ffmpeg官网文档:https://trac.ffmpeg.org/wiki/CompilationGuide/Centos

ffmpeg编译成功后使用ffmpeg推流:

ffmpeg -i input.mp4 -vcodec h265 -acodec aac -f flv rtmp://ip/app/name

QQ交流群:697773082

QQ交流群:697773082

你可能感兴趣的:(流媒体直播)