前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过摄像机视频设备或者流媒体服务器SDK获取到数据转换成RTMP流实现网页手机微信播放

通过摄像机视频设备或者流媒体服务器SDK获取到数据转换成RTMP流实现网页手机微信播放

原创
作者头像
Openskeye
发布2023-04-23 14:24:23
1.1K0
发布2023-04-23 14:24:23
举报

写这篇博客主要是为了给新入门的流媒体开发者解惑,现在看到各种开发者的需求:网页播放RTSP摄像机、微信播放RTSP摄像机、网页播放摄像机SDK输出的视频流、网页播放第三方流媒体平台输出的视频流、包括Github有一些所谓的H5RTSPPlayer,这些都有一个共同点,就是H.264+AAC进行RTMP推流,当然SkeyeWebPlayer除外,SkeyeWebPlayer开创性的支持在浏览器端采用H5直接播放器RTSP流,下载地址:

SkeyeWebPlayer: 永久免费H5直播点播播放器,支持FLV、HLS、RTSP、WS-FLV、WS-RTSP、WEBRTC、HEVC/H265

https://gitee.com/visual-opening/skeyewebplayer

将整个过程进行拆分为二:

一、通过RTSP或者SDK获取H.264视频流和AAC音频流,获取RTSP流我们可以用ffmpeg、SkeyeRTSPClient(https://gitee.com/visual-opening/SkeyeRTSPClient)等方案,获取SDK流我们就可以用各个摄像机厂家或者平台厂家提供的各种平台SDK(海康NetSDK、大华NetSDK、雄迈LocalSDK)等等,这些都能无一例外地有共同的流程:

初始化

登录

设置数据回调

开始实时流

处理实时返回的音视频数据

释放Handle

视频数据大多返回的是H.264数据流,音频就各种各样了,有返回G.711、G.726、AAC的,如果是返回的G.711或者G.726时,就需要调用AAC的编码器(如ffmpeg等)将安防的音频流转换成AAC的音频编码格式;

二、将编码好的H.264视频和AAC音频以RTMP/FLV的方式推流到通用的RTMP服务器(nginx-rtmp、srs、SkeyeDSS、CRTMPD等),进行RTMP/HLS的直播,这里就主要是RTMP推流功能的实现,我们可以采用ffmpeg、librtmp、SkeyeRTMPPusher等多种方案推流,如果采用ffmpeg为工具进行RTSP拉流的话,我们建议推流也用ffmpeg,这样直接将音频数据在ffmpeg内部进行一次filter转码,就可以实现rtmp的output了,如果采用librtmp的话,也是比较好的方案,毕竟市面上90%的RTMP推流都是Based On librtmp,包括SkeyeRTMPPusher,之所以推荐用SkeyeRTMPPusher一方面是因为是SkeyOpenSKEYE团队其他伙伴的产品,另一方面,确实好用,有非常完备的多平台调用示例(Gitee - OpenSKEYE/SkeyeRTMPPusher: SkeyeRTMPPusher是一套调用简单、功能完善、运行高效稳定的RTMP功能组件,经过多年实战和线上运行打造,支持RTMP推送断线重连、环形缓冲、智能丢帧、网络事件回调,支持Windows、Linux、arm(hisiv100/hisiv200/hisiv300/hisiv400/hisiv500/hisiv600/etc..)、Android、iOS平台,支持市面上绝大部分的RTMP流媒体服务器,包括Wowza、Red5、ngnix_rtmp、crtmpserver等主流RTMP服务器,能够完美应用于各种行业的直播需求,手机直播、桌面直播、摄像机直播、课堂直播等等方面! ):

SkeyeRTMP_File:读取MP4文件推RTMP直播流,实现虚拟直播;

SkeyeRTMP_RTSP:读取RTSP流并进行转换成RTMP推流到RTMP服务器;

SkeyeRTMP_SDK:调用SDK获取音视频流,再推流RTMP;

SkeyeRTMP Android:安卓推送摄像头/屏幕进行RTMP直播;

SkeyeRTMP iOS:iOS苹果推送摄像头进行RTMP直播;

完备的调用示例,加上全平台的支持(Windows、Linux、arm、Android、iOS),给了开发者非常好的选择和帮助;

按照以上的两个流程,我们就可以将RTSP/SDK获取到的数据进行RTMP/HLS发布,实现全终端、无插件化的播放了,这也是所谓的H5 RTSP播放器的实现方案,RTSP要H5播放,必须借助于服务器的转换;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
直播 SDK
腾讯云视立方·直播 SDK 是音视频终端 SDK(腾讯云视立方)针对移动直播场景专属打造的产品,集成了腾讯云直播的推 / 拉流、主播观众互动连麦、主播跨房 PK 等能力,为您提供高质量直播服务,快速满足移动直播的需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档