一种基于浏览器的音频/视频直播方法及其系统技术方案

技术编号:19266730 阅读:24 留言:0更新日期:2018-10-27 04:12
本发明专利技术公开了一种基于浏览器的音频/视频直播方法及其系统,其中,该方法包括以下步骤:建立与用户设备上的浏览器之间的本地socket通信,图像采集、处理、编码,音频采集、处理、编码,丢弃超时的音频帧,保证音频帧与图像帧同步,进而将同步后的音频帧与图像帧按RTMP协议进行打包和发送,监控设备运行与网络丢包情况进而动态调节图像质量,本地保存。本发明专利技术采用了基于浏览器的插件策略,安装后可以非常方便地在后台自启动并且会准备地相应来自浏览器的开始推流、停止推流、切换CDN、报告当前状态、断网重连指令,内部模块自动协同工作,真正做到一条命令实现直播的需要。

【技术实现步骤摘要】
一种基于浏览器的音频/视频直播方法及其系统
本专利技术涉及流媒体
,尤其涉及一种基于浏览器的音频/视频直播方法及其系统。
技术介绍
目前,网络直播是利用互联网及流媒体技术进行直播,主播用户客户端通过采集摄像头的数据,并将数据进行视频编码,将编码的视频推流送到直播平台的CDN服务器,其他观众则会从CDN服务器拉取视频流进行观看。对于每一位主播用户,使用时均需要使用特定的客户端系统进行登录,相应的也需要用户设备具备一定的运算能力。在实际中,往往存在多命令实现直播的繁琐过程,并且也需要主播用户进行诸多流程操作。
技术实现思路
本专利技术的目的,是解决主播用户在更换设备等操作之后需要重新多步骤添加客户端的困扰。提供一种基于浏览器的音频/视频直播方法及其系统,技术方案如下:一方面,提供了一种基于浏览器的音频/视频直播方法,其特征在于,包括以下步骤:建立与用户设备上的浏览器之间的本地socket通信;对用户设备所装载的实体摄像头和用户设备上所安装的虚拟摄像头按照浏览器传来的具体图像参数进行图像捕获,并将捕获到的图像根据图像帧加入到图像帧队列;将捕捉到的图像统一转换成YUV420P格式;按照浏览器传来的图像编码参数对YUV420P格式图像进行h264编码;按照浏览器传来的音频捕获参数调用WindowsCoreAPI对用户设备所装载的麦克风设备进行音频采集,对采集到的音频样本按预设要求进行重采样并转换为指定的采样率和通道数,进而加入到音频帧队列;对音频帧队列中的音频帧里的音频数据进行声音特征分析;按照浏览器传来的音频编码参数对音频进行aac编码或是mp3编码;丢弃超时的音频帧,保证音频帧与图像帧同步,进而将同步后的音频帧与图像帧按RTMP协议进行打包和发送。实时检测音频/视频直播方法过程中是否被意外终止;如果是,将其自动启动,并且添加开机自动启动功能。优选地,图像捕获和音频采集同时进行;并将同步的音频帧于图像帧按照标准mp4文件格式保存mp4文件至用户设备上。优选地,图像帧加入图像帧队列过程中,使用CLSID_NullRenderer类型图像渲染过滤器以避免用户设备内没有相应的转码过滤器而造成的连接捕获源过滤器和图像渲染过滤器时失败;优选地,利用DirectShow进行图像捕获时,ISamPleGrabber图像回调接口在调用SetMediaTyPe设置图像格式失败时,主动尝试更换为其他图像格式。优选地,声音特征分析用以区分当前声音是说话模式还是唱歌模式;根据音频数据的波形与预设阈值的关系进行判断。优选地,打包和发送过程中,当网络发生丢包,根据预设阈值划分网络环境状态,重新设定h264参数以适配不同网络环境。另一方面,一种基于浏览器的音频/视频直播系统,其特征在于,包括:通讯模块,用于建立与用户设备上的浏览器之间的本地socket通信;图像采集模块,用于对用户设备所装载的实体摄像头和用户设备上所安装的虚拟摄像头按照浏览器传来的具体图像参数进行图像捕获,并将捕获到的图像根据图像帧加入到图像帧队列;图像处理模块,用于将捕捉到的图像统一转换成YUV420P格式;图像编码模块,用于按照浏览器传来的图像编码参数对YUV420P格式图像进行h264编码;音频采集模块,用于按照浏览器传来的音频捕获参数调用WindowsCoreAPI对用户设备所装载的麦克风设备进行音频采集,对采集到的音频样本按预设要求进行重采样并转换为指定的采样率和通道数,进而加入到音频帧队列;音频处理模块,用于对音频帧队列中的音频帧里的音频数据进行声音特征分析;音视编码模块,用于按照浏览器传来的音频编码参数对音频进行aac编码或是mp3编码;音频/视频同步模块,用于丢弃超时的音频帧,保证音频帧与图像帧同步;推流模块,用于将同步后的音频/视频按RTMP协议进行打包和发送。监控模块,用于实时检测音频/视频直播系统工作过程中是否被意外终止;如果是,将其自动启动,并且添加开机自动启动功能。优选地,图像采集模块和音频采集模块同时工作;并将同步的音频帧于图像帧按照标准mp4文件格式保存mp4文件至用户设备上。优选地,图像帧加入图像帧队列过程中,使用CLSID_NullRenderer类型图像渲染过滤器以避免用户设备内没有相应的转码过滤器而造成的连接捕获源过滤器和图像渲染过滤器时失败。优选地,利用DirectShow进行图像捕获时,ISamPleGrabber图像回调接口在调用SetMediaTyPe设置图像格式失败时,主动尝试更换为其他图像格式。优选地,声音特征分析用以区分当前声音是说话模式还是唱歌模式;根据音频数据的波形与预设阈值的关系进行判断。优选地,打包和发送过程中,当网络发生丢包,根据预设阈值划分网络环境状态,重新设定h264参数以适配不同网络环境。本专利技术的有益效果在于:区别于目前常规的音频/视频直播方法及其系统,采用了基于浏览器的插件策略。一键安装之后可以非常方便地在后台自启动并且会准备地相应来自浏览器的开始推流、停止推流、切换CDN、报告当前状态、断网重连指令,内部模块自动协同工作,真正做到一条命令实现直播的需要。附图说明图1为本专利技术实施例提供的一种基于浏览器的音频/视频直播方法流程示意图。图2为本专利技术实施例提供的一种基于浏览器的音频/视频直播系统结构示意图。图3为本专利技术实施例提供的一种音频处理方法的流程示意图。具体实施方式下面通过实施例,对本专利技术的技术方案做进一步的详细描述。图1为基于浏览器的音频/视频直播方法流程图。如图1所示,该方法包括以下步骤:步骤110,安装于用户设备上的软件,利用TCP方式建立与浏览器之间的本地socket通信;步骤121,对用户设备所装载的实体摄像头和用户设备上所安装的虚拟摄像头按照浏览器传来的具体图像参数进行图像捕获,并将捕获到的图像根据图像帧加入到图像帧队列;图像帧加入图像帧队列过程中,使用图像渲染过滤器以避免用户设备内没有相应的转码过滤器而造成的连接捕获源过滤器和图像渲染过滤器时失败;图像帧加入图像帧队列过程中使用的图像渲染过滤器为CLSID_NullRenderer类型的图像渲染过滤器;利用DirectShow进行图像捕获时,ISamPleGrabber图像回调接口在调用SetMediaTyPe设置图像格式失败时,主动尝试更换为其他图像格式;将捕捉到的图像统一转换成YUV420P格式;按照浏览器传来的图像编码参数对YUV420P格式图像进行h264编码。图3为音频处理方法的流程图。如图3所示,该方法包括以下步骤:步骤310,用AdobeAudition软件打开音频文件,将时间粒度调节到预设时间范围,如5ms左右,观察波形特征。步骤320,监测声音的音频文件波形,计算预设时间范围内的声音平均分贝值;歌曲的音频文件波形是连续的,说话的音频文件波形是会出现波形隔断的,这意味着我们可以用20*log(ValOfInputAudioSample)计算一小段时间内(例如5ms)的声音平均分贝值去反映声音能量的大小,当声音能量小于预设声音平均分贝阈值(例如-50DB)时,获得一个声音间隔;当一段时间(例如5s)内统计的声音间隔次数超过一定次数(例如150次)时,确定声音为说话模式;或监测声音的音频文件波形,计算预设时间范围内的声音本文档来自技高网...

【技术保护点】
1.一种基于浏览器的音频/视频直播方法,其特征在于,包括以下步骤:建立与用户设备上的浏览器之间的本地socket通信;对所述用户设备所装载的实体摄像头和用户设备上所安装的虚拟摄像头按照所述浏览器传来的具体图像参数进行图像捕获,并将所述捕获到的图像根据图像帧加入到图像帧队列;将所述捕捉到的图像统一转换成YUV420P格式;按照所述浏览器传来的图像编码参数对所述YUV420P格式图像进行h264编码;按照所述浏览器传来的音频捕获参数调用Windows Core API对用户设备所装载的麦克风设备进行音频采集,对所述采集到的音频样本按预设要求进行重采样并转换为指定的采样率和通道数,进而加入到音频帧队列;对所述音频帧队列中的音频帧里的音频数据进行声音特征分析;按照所述浏览器传来的音频编码参数对所述音频进行aac编码或是mp3编码;丢弃超时的音频帧,保证音频帧与图像帧同步,进而将所述同步后的音频帧与图像帧按RTMP协议进行打包和发送。

【技术特征摘要】
1.一种基于浏览器的音频/视频直播方法,其特征在于,包括以下步骤:建立与用户设备上的浏览器之间的本地socket通信;对所述用户设备所装载的实体摄像头和用户设备上所安装的虚拟摄像头按照所述浏览器传来的具体图像参数进行图像捕获,并将所述捕获到的图像根据图像帧加入到图像帧队列;将所述捕捉到的图像统一转换成YUV420P格式;按照所述浏览器传来的图像编码参数对所述YUV420P格式图像进行h264编码;按照所述浏览器传来的音频捕获参数调用WindowsCoreAPI对用户设备所装载的麦克风设备进行音频采集,对所述采集到的音频样本按预设要求进行重采样并转换为指定的采样率和通道数,进而加入到音频帧队列;对所述音频帧队列中的音频帧里的音频数据进行声音特征分析;按照所述浏览器传来的音频编码参数对所述音频进行aac编码或是mp3编码;丢弃超时的音频帧,保证音频帧与图像帧同步,进而将所述同步后的音频帧与图像帧按RTMP协议进行打包和发送。2.根据权利要求1所述的方法,其特征在于,还包括以下步骤:实时检测所述音频/视频直播插件直播过程中是否被意外终止;如果是,将其自动启动,并且自动添加开机自动启动功能。3.根据权利要求1所述的方法,其特征在于,所述图像捕获和所述音频采集同时进行;并将所述同步的音频帧于图像帧按照标准mp4文件格式保存mp4文件至所述用户设备上。4.根据权利要求1所述的方法,其特征在于,所述图像帧加入图像帧队列过程中,使用CLSID_NullRenderer类型图像渲染过滤器以避免所述用户设备内没有相应的转码过滤器而造成的连接捕获源过滤器和图像渲染过滤器时失败。5.根据权利要求1所述的方法,其特征在于,进行所述图像捕获时,ISamPleGrabber图像回调接口在调用SetMediaTyPe设置图像格式失败时,主动尝试更换为其他图像格式。6.根据权利要求1所述的方法...

【专利技术属性】
技术研发人员:易正宏
申请(专利权)人:北京酷我科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1