发明内容
本发明所要解决的技术问题在于,提供一种实时采集流媒体的直播方法及装置,能够在主播到了新环境或者更换了新设备时,不需要重新进行主播客户端软件的下载和安装,从而提高网络直播的便利性。
为了解决上述技术问题,本发明第一方面公开了一种实时采集流媒体的直播方法,所述方法包括:
在浏览器直播端获取目标媒体数据,所述目标媒体数据包括在所述浏览器直播端实时采集的桌面数据和/或摄像头数据和/或麦克风数据;
基于WebAssembly技术对所述目标媒体数据进行编码操作,得到编码媒体数据,其中,所述编码操作包括对所述目标媒体数据进行压缩操作;
基于WebSocket技术将所述编码媒体数据推送到媒体服务器;
通过所述媒体服务器对所述编码媒体数据进行分发直播。
作为一种可选的实施方式,在本发明第一方面中,所述基于WebAssembly技术对所述目标媒体数据进行编码操作,得到编码媒体数据,包括:
检测第一目标信息,所述第一目标信息包括采集所述目标媒体数据的时刻对应的直播网络质量信息和/或流量信息;
根据所述第一目标信息,确定所述目标媒体数据的编码参数,所述编码参数包括编码值信息;
根据所述编码参数,基于WebAssembly技术对所述目标媒体数据进行编码操作,得到编码媒体数据。
作为一种可选的实施方式,在本发明第一方面中,所述基于WebAssembly技术对所述目标媒体数据进行编码操作,得到编码媒体数据,其中,所述编码操作包括对所述目标媒体数据进行压缩操作之前,所述方法还包括:
对所述目标媒体数据进行数据预设处理,得到处理媒体数据,其中,所述数据预设处理包括图像增强处理和/或图像去噪处理和/或语音去噪处理和/或声源定位处理和/或语音增益处理和/或波束成形处理;
其中,所述基于WebAssembly技术对所述目标媒体数据进行编码操作,得到编码媒体数据,包括:
基于WebAssembly对目标编码库进行编译,得到在所述浏览器直播端中可以直接运行的字节码程序,其中,所述目标编码库包括libx264和/或libfaac;
使用所述字节码程序对所述处理媒体数据进行编码操作,得到编码媒体数据。
作为一种可选的实施方式,在本发明第一方面中,所述基于WebSocket技术将所述编码媒体数据推送到媒体服务器,包括:
根据RFC4571中的RTP封装标准,对所述编码媒体数据进行封装,得到封装数据;
基于WebSocket将所述封装数据推送到媒体服务器。
作为一种可选的实施方式,在本发明第一方面中,所述基于WebAssembly技术对所述目标媒体数据进行编码操作,得到编码媒体数据,其中,所述编码操作包括对所述目标媒体数据进行压缩操作之前,所述方法还包括:
基于确定出的图像特征检测模型对所述目标媒体数据进行检测,得到目标检测结果;
当所述目标检测结果表示所述目标媒体数据中包括确定出的图像特征时,对所述目标媒体数据进行轮廓信息的提取,得到目标轮廓图像;
对所述目标轮廓图像进行图像预设处理,得到更新目标媒体数据,其中,所述图像预设处理包括放大处理和/或特写处理和/或添加特效处理;
其中,所述基于WebAssembly技术对所述目标媒体数据进行编码操作,得到编码媒体数据,包括:
基于WebAssembly技术对所述更新目标媒体数据进行编码操作,得到编码媒体数据。
作为一种可选的实施方式,在本发明第一方面中,所述对所述目标媒体数据进行轮廓信息的提取,得到目标轮廓图像,包括:
基于确定出的图像轮廓提取模型对所述目标媒体数据进行分离卷积,得到分离卷积结果,其中,所述图像轮廓提取模型已完成预先训练;
根据所述分离卷积结果,确定所述目标媒体数据的轮廓特征信息;
提取所述目标媒体数据的所述轮廓特征信息,得到目标轮廓图像。
作为一种可选的实施方式,在本发明第一方面中,所述对所述目标轮廓图像进行图像预设处理,得到更新目标媒体数据,其中,所述图像预设处理包括放大处理和/或特写处理和/或添加特效处理之前,所述方法还包括:
将所述目标轮廓图像与确定出的待检测轮廓图像进行比对,得到比对结果,其中,所述比对结果包括所述目标轮廓图像与所述待检测轮廓图像的相似度信息;
判断所述目标轮廓图像与所述待检测轮廓图像的所述相似度信息是否大于等于相似度阈值;
当判断结果为是时,触发执行所述的对所述目标轮廓图像进行图像预设处理,得到更新目标媒体数据,其中,所述图像预设处理包括放大处理和/或特写处理和/或添加特效处理的操作。
本发明第二方面公开了一种实时采集流媒体的直播装置,所述装置包括:
获取模块,用于在浏览器直播端获取目标媒体数据,所述目标媒体数据包括在所述浏览器直播端实时采集的桌面数据和/或摄像头数据和/或麦克风数据;
编码模块,用于基于WebAssembly技术对所述目标媒体数据进行编码操作,得到编码媒体数据,其中,所述编码操作包括对所述目标媒体数据进行压缩操作;
推送模块,用于基于WebSocket技术将所述编码媒体数据推送到媒体服务器;
分发模块,用于通过所述媒体服务器对所述编码媒体数据进行分发直播。
作为一种可选的实施方式,在本发明第二方面中,所述编码模块基于WebAssembly技术对所述目标媒体数据进行编码操作,得到编码媒体数据的具体方式为:
检测第一目标信息,所述第一目标信息包括采集所述目标媒体数据的时刻对应的直播网络质量信息和/或流量信息;
根据所述第一目标信息,确定所述目标媒体数据的编码参数,所述编码参数包括编码值信息;
根据所述编码参数,基于WebAssembly技术对所述目标媒体数据进行编码操作,得到编码媒体数据。
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
数据处理模块,用于在所述编码模块基于WebAssembly技术对所述目标媒体数据进行编码操作,得到编码媒体数据,其中,所述编码操作包括对所述目标媒体数据进行压缩操作之前,对所述目标媒体数据进行数据预设处理,得到处理媒体数据,其中,所述数据预设处理包括图像增强处理和/或图像去噪处理和/或语音去噪处理和/或声源定位处理和/或语音增益处理和/或波束成形处理;
其中,所述编码模块基于WebAssembly技术对所述目标媒体数据进行编码操作,得到编码媒体数据的具体方式为:
基于WebAssembly对目标编码库进行编译,得到在所述浏览器直播端中可以直接运行的字节码程序,其中,所述目标编码库包括libx264和/或libfaac;
使用所述字节码程序对所述处理媒体数据进行编码操作,得到编码媒体数据。
作为一种可选的实施方式,在本发明第二方面中,所述推送模块基于WebSocket技术将所述编码媒体数据推送到媒体服务器的具体方式为:
根据RFC4571中的RTP封装标准,对所述编码媒体数据进行封装,得到封装数据;
基于WebSocket将所述封装数据推送到媒体服务器。
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
检测模块,用于在所述编码模块基于WebAssembly技术对所述目标媒体数据进行编码操作,得到编码媒体数据,其中,所述编码操作包括对所述目标媒体数据进行压缩操作之前,基于确定出的图像特征检测模型对所述目标媒体数据进行检测,得到目标检测结果;
提取模块,用于当所述检测模块的目标检测结果表示所述目标媒体数据中包括确定出的图像特征时,对所述目标媒体数据进行轮廓信息的提取,得到目标轮廓图像;
所述数据处理模块,还用于对所述目标轮廓图像进行图像预设处理,得到更新目标媒体数据,其中,所述图像预设处理包括放大处理和/或特写处理和/或添加特效处理;
其中,所述编码模块基于WebAssembly技术对所述目标媒体数据进行编码操作,得到编码媒体数据的具体方式为:
基于WebAssembly技术对所述更新目标媒体数据进行编码操作,得到编码媒体数据。
作为一种可选的实施方式,在本发明第二方面中,所述提取模块对所述目标媒体数据进行轮廓信息的提取,得到目标轮廓图像的具体方式为:
基于确定出的图像轮廓提取模型对所述目标媒体数据进行分离卷积,得到分离卷积结果,其中,所述图像轮廓提取模型已完成预先训练;
根据所述分离卷积结果,确定所述目标媒体数据的轮廓特征信息;
提取所述目标媒体数据的所述轮廓特征信息,得到目标轮廓图像。
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
比对模块,用于在所述数据处理模块对所述目标轮廓图像进行图像预设处理,得到更新目标媒体数据,其中,所述图像预设处理包括放大处理和/或特写处理和/或添加特效处理之前,将所述目标轮廓图像与确定出的待检测轮廓图像进行比对,得到比对结果,其中,所述比对结果包括所述目标轮廓图像与所述待检测轮廓图像的相似度信息;
判断模块,用于判断所述目标轮廓图像与所述待检测轮廓图像的所述相似度信息是否大于等于相似度阈值;当判断结果为是时,触发所述数据处理模块执行所述的对所述目标轮廓图像进行图像预设处理,得到更新目标媒体数据,其中,所述图像预设处理包括放大处理和/或特写处理和/或添加特效处理的操作。
本发明第三方面公开了一种实时采集流媒体的直播装置,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的实时采集流媒体的直播方法中的部分或全部步骤。
本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的实时采集流媒体的直播方法中的部分或全部步骤。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中,在浏览器直播端获取目标媒体数据,所述目标媒体数据包括在所述浏览器直播端实时采集的桌面数据和/或摄像头数据和/或麦克风数据;基于WebAssembly技术对所述目标媒体数据进行编码操作,得到编码媒体数据,其中,所述编码操作包括对所述目标媒体数据进行压缩操作;基于WebSocket技术将所述编码媒体数据推送到媒体服务器;通过所述媒体服务器对所述编码媒体数据进行分发直播。可见,本发明能够直接在浏览器直播端获取主播的实时直播数据,基于WebAssembly技术对实时采集的目标媒体数据进行编码压缩等操作以得到编码媒体数据,随后基于WebSocket技术将编码媒体数据推送到媒体服务器,最后对这些数据进行分发直播,通过上述操作能够在主播到了新环境或者更换了新设备时,不需要重新进行主播客户端软件的下载和安装,从而提高网络直播的便利性。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明实施例公开了一种实时采集流媒体的直播方法及装置,能够直接在浏览器直播端获取主播的实时直播数据,基于WebAssembly技术对实时采集的目标媒体数据进行编码压缩等操作以得到编码媒体数据,随后基于WebSocket技术将编码媒体数据推送到媒体服务器,最后对这些数据进行分发直播,通过上述操作能够在主播到了新环境或者更换了新设备时,不需要重新进行主播客户端软件的下载和安装,从而提高网络直播的便利性。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种实时采集流媒体的直播方法的流程示意图。如图1所示,该实时采集流媒体的直播方法可以包括以下操作:
101、在浏览器直播端获取目标媒体数据,目标媒体数据包括在浏览器直播端实时采集的桌面数据和/或摄像头数据和/或麦克风数据。
本发明实施例中,该浏览器直播端可通过浏览器直接打开,在打开浏览器直播端后,主播就可以通过浏览器直播端直接进行直播。该浏览器直播端可以在任一连接网络的台式电脑上访问,该浏览器直播端也可以在任一连接网络的智能移动终端(如平板电脑、智能手机)上访问,该浏览器直播端还可以在其他连接网络的设备上进行访问,本发明实施例不做限定。
本发明实施例中,该目标媒体数据包括在该浏览器直播端实时采集的桌面数据和/或摄像头数据和/或麦克风数据,也可以包括在该浏览器直播端与对应主播相关的其他媒体数据,本发明实施例不做限定,其中,在该浏览器直播端实时采集的桌面数据包括该浏览器直播端的直播桌面内容(如游戏桌面内容);在该浏览器直播端实时采集的摄像头数据包括该浏览器直播端配置的摄像头采集的数据,举例来说,当该主播为舞蹈主播时,该摄像头采集的数据包括该舞蹈主播的实时舞蹈视频数据;当该主播为户外旅行主播时,该摄像头采集的数据包括该户外旅行主播的实时户外风景数据;在该浏览器直播端实时采集的麦克风数据包括该浏览器直播端相关的直播语音信息,举例来说,当该主播为唱歌主播时,该麦克风采集的数据包括该唱歌主播的语音数据。
在一个可选的实施例中,该方法还可以包括:
对该目标媒体数据进行数据预设处理,得到处理媒体数据,其中,该数据预设处理包括图像增强处理和/或图像去噪处理和/或语音去噪处理和/或声源定位处理和/或语音增益处理和/或波束成形处理;
其中,该基于WebAssembly技术对该目标媒体数据进行编码操作,得到编码媒体数据,包括:
基于WebAssembly对目标编码库进行编译,得到在该浏览器直播端中可以直接运行的字节码程序,其中,该目标编码库包括libx264和/或libfaac;
使用该字节码程序对该处理媒体数据进行编码操作,得到编码媒体数据。
可见,该可选的实施例能够对采集的目标媒体数据进行数据预设处理,通过数据预设处理后的处理媒体数据的质量更高,可进一步提高后续的数据编码质量,从而进一步提高直播数据的质量。
在另一个可选的实施例中,该基于WebAssembly技术对该目标媒体数据进行编码操作,得到编码媒体数据,其中,该编码操作包括对该目标媒体数据进行压缩操作之前,该方法还可以包括:
基于确定出的图像特征检测模型对该目标媒体数据进行检测,得到目标检测结果;
当该目标检测结果表示该目标媒体数据中包括确定出的图像特征时,对该目标媒体数据进行轮廓信息的提取,得到目标轮廓图像;
对该目标轮廓图像进行图像预设处理,得到更新目标媒体数据,其中,该图像预设处理包括放大处理和/或特写处理和/或添加特效处理;
其中,该基于WebAssembly技术对该目标媒体数据进行编码操作,得到编码媒体数据,包括:
基于WebAssembly技术对该更新目标媒体数据进行编码操作,得到编码媒体数据。
在该可选的实施例中,该确定出的目标图像特征可以为任意预设的图像特征,该图像特征可以为人脸、填写内容的表单、特定的电力设备等,也可以为预设的其他图像特征,本发明实施例不做限定。
举例来说,当该图像特征为人脸时,基于该人脸图像特征检测模型对采集的目标媒体数据进行检测,当从目标媒体数据中检测到人脸图像时,则对检测的人脸图像进行人脸轮廓信息的提取,得到目标人脸,随后对目标媒体数据中的目标人脸进行添加财神装扮的特效处理,得到完成对目标人脸进行添加财神装扮的特效处理的目标媒体数据。
举例来说,当该图像特征为填写内容的表单时,基于该表单图像特征检测模型对采集的目标媒体数据进行检测,当从目标媒体数据中检测到填写内容的表单时,则对检测的表单图像进行表单轮廓信息的提取,得到目标表单,随后对目标媒体数据中的目标表单进行放大处理,得到完成对目标人脸放大处理的目标媒体数据,从而在直播中可更清晰的看到表单内容。
可见,该可选的实施例能够通过图像特征检测模型检测图像特征,对数据进行轮廓提取得到目标轮廓图像,并对目标轮廓图像进行图像预设处理,可在直播中突出显示目标轮廓图像,不仅可提高直播的效果,还能提高直播的娱乐性。
在又一个可选的实施例中,该对该目标媒体数据进行轮廓信息的提取,得到目标轮廓图像,可以包括:
基于确定出的图像轮廓提取模型对该目标媒体数据进行分离卷积,得到分离卷积结果,其中,该图像轮廓提取模型已完成预先训练;
根据该分离卷积结果,确定该目标媒体数据的轮廓特征信息;
提取该目标媒体数据的该轮廓特征信息,得到目标轮廓图像。
可见,该可选的实施例能够通过图像轮廓提取模型对目标媒体数据进行分离卷积,以确定目标媒体数据的轮廓特征信息,可提高确定目标轮廓图像的准确性。
在又一个可选的实施例中,该对该目标轮廓图像进行图像预设处理,得到更新目标媒体数据,其中,该图像预设处理包括放大处理和/或特写处理和/或添加特效处理之前,该方法还可以包括:
将该目标轮廓图像与确定出的待检测轮廓图像进行比对,得到比对结果,其中,该比对结果包括该目标轮廓图像与该待检测轮廓图像的相似度信息;
判断该目标轮廓图像与该待检测轮廓图像的该相似度信息是否大于等于相似度阈值;
当判断结果为是时,触发执行该的对该目标轮廓图像进行图像预设处理,得到更新目标媒体数据,其中,该图像预设处理包括放大处理和/或特写处理和/或添加特效处理的操作。
在该可选的实施例中,该待检测轮廓图像为标准样品图像,该目标轮廓图像与该待检测轮廓图像的相似度信息的确定过程为将目标轮廓图像与待检测轮廓图像为标准样品图像进行特征比对,以得到相似度信息。
在该可选的实施例中,该相似度阈值可根据实际情况进行灵活调整,例如,当需要非常精确的检测出目标轮廓图像时,该相似度阈值可设置为高水平(如95%的相似度);当需要一般精确的检测出目标轮廓图像时,该相似度阈值可设置为中水平(如85%的相似度)。
可见,该可选的实施例能够根据目标轮廓图像与该待检测轮廓图像的该相似度信息的比对结果,来进行后续的图像预处理操作,通过上述操作可进一步提高确定目标轮廓图像的准确性。
102、基于WebAssembly技术对目标媒体数据进行编码操作,得到编码媒体数据,其中,编码操作包括对目标媒体数据进行压缩操作。
在又一个可选的实施例中,该基于WebAssembly技术对目标媒体数据进行编码操作,得到编码媒体数据,包括:
基于WebAssembly对目标编码库进行编译,得到在该浏览器直播端中可以直接运行的字节码程序,其中,该目标编码库包括libx264和/或libfaac;
使用该字节码程序对该目标媒体数据进行编码操作,得到编码媒体数据。
可见,该可选的实施例能够通过WebAssembly技术先生成在浏览器直播端可直接运行的字节码程序,然后通过字节码程序对实时获取的目标媒体数据进行编码,可提高对直播媒体数据的编码质量。
103、基于WebSocket技术将编码媒体数据推送到媒体服务器。
在又一个可选的实施例中,该基于WebSocket技术将该编码媒体数据推送到媒体服务器,包括:
根据RFC4571中的RTP封装标准,对该编码媒体数据进行封装,得到封装数据;
基于WebSocket将该封装数据推送到媒体服务器。
可见,该可选的实施例能够通过封装标准对该编码媒体数据进行封装,随后基于WebSocket将该封装数据推送到媒体服务器,通过上述操作可提高编码媒体数据的推送效率。
104、通过媒体服务器对编码媒体数据进行分发直播。
本发明实施例中,通过媒体服务器对编码媒体数据进行分发直播后,相关的编码媒体数据被发送到不同的客户端,该客户端可以为客户端的浏览器,也可以为在智能终端里已经完成下载和安装的客户端软件。
可见,实施本发明实施例所描述的实时采集流媒体的直播方法能够直接在浏览器直播端获取主播的实时直播数据,基于WebAssembly技术对实时采集的目标媒体数据进行编码压缩等操作以得到编码媒体数据,随后基于WebSocket技术将编码媒体数据推送到媒体服务器,最后对这些数据进行分发直播,通过上述操作能够在主播到了新环境或者更换了新设备时,不需要重新进行主播客户端软件的下载和安装,从而提高网络直播的便利性。
实施例二
请参阅图2,图2是本发明实施例公开的另一种实时采集流媒体的直播方法的流程示意图。如图2所示,该实时采集流媒体的直播方法可以包括以下操作:
201、在浏览器直播端获取目标媒体数据,目标媒体数据包括在浏览器直播端实时采集的桌面数据和/或摄像头数据和/或麦克风数据。
202、检测第一目标信息,第一目标信息包括采集目标媒体数据的时刻对应的直播网络质量信息和/或流量信息。
本发明实施例中,该检测的第一目标信息包括采集目标媒体数据的时刻对应的直播网络质量信息和/或流量信息,也包括该浏览器直播端中与该主播相关的其他信息(如采集主播视频的比特率信息),本发明实施例不做限定。
本发明实施例中,该采集目标媒体数据的时刻对应的直播网络质量信息具体为主播在直播过程中的网络质量,可对直播过程中的网络质量划分等级,该网络质量等级包括多个等级,例如,该网络质量的等级具体可以为网络质量良好、网络质量一般和网络质量较差。
本发明实施例中,该采集目标媒体数据的时刻对应的流量信息包括直播间的游客人员数量,可对主播在直播过程中的流量信息进行等级划分,例如,当主播在直播过程中的直播间人员数量为0-100人,则将此时的直播状态确定为一般流量状态;当主播在直播过程中的直播间人员数量为101-1000人,则将此时的直播状态确定为良好流量状态;当主播在直播过程中的直播间人员数量为1000人以上时,则将此时的直播状态确定为优秀流量状态。
203、根据第一目标信息,确定目标媒体数据的编码参数,编码参数包括编码值信息。
本发明实施例中,根据采集目标媒体数据的时刻对应的直播网络质量信息和/或流量信息等信息,确定目标媒体数据的编码参数,该编码参数包括编码值信息,还包括码率和/或混合码率和/或固定码率和/或可变码率和/或平均码率和/或帧率和/或采样率和/或画面比例和/或分辨率等信息。
204、根据编码参数,基于WebAssembly技术对目标媒体数据进行编码操作,得到编码媒体数据。
205、基于WebSocket技术将编码媒体数据推送到媒体服务器。
206、通过媒体服务器对编码媒体数据进行分发直播。
本发明实施例中,针对步骤201-步骤206的其它描述,请参照实施例一中针对步骤101-步骤104的详细描述,本发明实施例不再赘述。
可见,实施本发明实施例所描述的实时采集流媒体的直播方法能够直接在浏览器直播端获取主播的实时直播数据,根据采集的直播数据检测直播网络质量信息和流量等信息来确定编码参数,根据确定好的编码参数,通过WebAssembly技术来对实时采集的目标媒体数据进行编码压缩等操作以得到编码媒体数据,可提高对直播数据的编码质量,从而提高直播数据的质量;随后基于WebSocket技术将编码媒体数据推送到媒体服务器并进行分发直播,能够避免需要重新进行主播客户端软件的下载和安装的操作,从而提高网络直播的便利性。
实施例三
请参阅图3,图3是本发明实施例公开的一种实时采集流媒体的直播装置的结构示意图。如图3所示,该装置可以包括:
获取模块301,用于在浏览器直播端获取目标媒体数据,该目标媒体数据包括在该浏览器直播端实时采集的桌面数据和/或摄像头数据和/或麦克风数据;
编码模块302,用于基于WebAssembly技术对该目标媒体数据进行编码操作,得到编码媒体数据,其中,该编码操作包括对该目标媒体数据进行压缩操作;
推送模块303,用于基于WebSocket技术将该编码媒体数据推送到媒体服务器;
分发模块304,用于通过该媒体服务器对该编码媒体数据进行分发直播。
可见,实施本发明实施例所描述的实时采集流媒体的直播方法能够直接在浏览器直播端获取主播的实时直播数据,基于WebAssembly技术对实时采集的目标媒体数据进行编码压缩等操作以得到编码媒体数据,随后基于WebSocket技术将编码媒体数据推送到媒体服务器,最后对这些数据进行分发直播,通过上述操作能够在主播到了新环境或者更换了新设备时,不需要重新进行主播客户端软件的下载和安装,从而提高网络直播的便利性。
在一个可选的实施例中,该编码模块302基于WebAssembly技术对该目标媒体数据进行编码操作,得到编码媒体数据的具体方式为:
检测第一目标信息,该第一目标信息包括采集该目标媒体数据的时刻对应的直播网络质量信息和/或流量信息;
根据该第一目标信息,确定该目标媒体数据的编码参数,该编码参数包括编码值信息;
根据该编码参数,基于WebAssembly技术对该目标媒体数据进行编码操作,得到编码媒体数据。
可见,实施本发明实施例所描述的实时采集流媒体的直播方法能够直接在浏览器直播端获取主播的实时直播数据,根据采集的直播数据检测直播网络质量信息和流量等信息来确定编码参数,根据确定好的编码参数,通过WebAssembly技术来对实时采集的目标媒体数据进行编码压缩等操作以得到编码媒体数据,可提高对直播数据的编码质量,从而提高直播数据的质量;随后基于WebSocket技术将编码媒体数据推送到媒体服务器并进行分发直播,能够避免需要重新进行主播客户端软件的下载和安装的操作,从而提高网络直播的便利性。
在另一个可选的实施例中,如图4所示,该装置还可以包括:
数据处理模块305,用于在该编码模块302基于WebAssembly技术对该目标媒体数据进行编码操作,得到编码媒体数据,其中,该编码操作包括对该目标媒体数据进行压缩操作之前,对该目标媒体数据进行数据预设处理,得到处理媒体数据,其中,该数据预设处理包括图像增强处理和/或图像去噪处理和/或语音去噪处理和/或声源定位处理和/或语音增益处理和/或波束成形处理;
其中,该编码模块302基于WebAssembly技术对该目标媒体数据进行编码操作,得到编码媒体数据的具体方式为:
基于WebAssembly对目标编码库进行编译,得到在该浏览器直播端中可以直接运行的字节码程序,其中,该目标编码库包括libx264和/或libfaac;
使用该字节码程序对该处理媒体数据进行编码操作,得到编码媒体数据。
可见,该可选的实施例能够对采集的目标媒体数据进行数据预设处理,通过数据预设处理后的处理媒体数据的质量更高,可进一步提高后续的数据编码质量,从而进一步提高直播数据的质量。
在又一个可选的实施例中,该推送模块303基于WebSocket技术将该编码媒体数据推送到媒体服务器的具体方式为:
根据RFC4571中的RTP封装标准,对该编码媒体数据进行封装,得到封装数据;
基于WebSocket将该封装数据推送到媒体服务器。
可见,该可选的实施例能够通过封装标准对该编码媒体数据进行封装,随后基于WebSocket将该封装数据推送到媒体服务器,通过上述操作可提高编码媒体数据的推送效率。
在又一个可选的实施例中,如图4所示,该装置还可以包括:
检测模块306,用于在该编码模块302基于WebAssembly技术对该目标媒体数据进行编码操作,得到编码媒体数据,其中,该编码操作包括对该目标媒体数据进行压缩操作之前,基于确定出的图像特征检测模型对该目标媒体数据进行检测,得到目标检测结果;
提取模块307,用于当该检测模块306的目标检测结果表示该目标媒体数据中包括确定出的图像特征时,对该目标媒体数据进行轮廓信息的提取,得到目标轮廓图像;
该数据处理模块305,还用于对该目标轮廓图像进行图像预设处理,得到更新目标媒体数据,其中,该图像预设处理包括放大处理和/或特写处理和/或添加特效处理;
其中,该编码模块302基于WebAssembly技术对该目标媒体数据进行编码操作,得到编码媒体数据的具体方式为:
基于WebAssembly技术对该更新目标媒体数据进行编码操作,得到编码媒体数据。
可见,该可选的实施例能够通过图像特征检测模型检测图像特征,对数据进行轮廓提取得到目标轮廓图像,并对目标轮廓图像进行图像预设处理,可在直播中突出显示目标轮廓图像,不仅可提高直播的效果,还能提高直播的娱乐性。
在又一个可选的实施例中,该提取模块307对该目标媒体数据进行轮廓信息的提取,得到目标轮廓图像的具体方式为:
基于确定出的图像轮廓提取模型对该目标媒体数据进行分离卷积,得到分离卷积结果,其中,该图像轮廓提取模型已完成预先训练;
根据该分离卷积结果,确定该目标媒体数据的轮廓特征信息;
提取该目标媒体数据的该轮廓特征信息,得到目标轮廓图像。
可见,该可选的实施例能够通过图像轮廓提取模型对目标媒体数据进行分离卷积,以确定目标媒体数据的轮廓特征信息,可提高确定目标轮廓图像的准确性。
在又一个可选的实施例中,如图4所示,该装置还可以包括:
比对模块308,用于在该数据处理模块305对该目标轮廓图像进行图像预设处理,得到更新目标媒体数据,其中,该图像预设处理包括放大处理和/或特写处理和/或添加特效处理之前,将该目标轮廓图像与确定出的待检测轮廓图像进行比对,得到比对结果,其中,该比对结果包括该目标轮廓图像与该待检测轮廓图像的相似度信息;
判断模块309,用于判断该目标轮廓图像与该待检测轮廓图像的该相似度信息是否大于等于相似度阈值;当判断结果为是时,触发该数据处理模块305执行该的对该目标轮廓图像进行图像预设处理,得到更新目标媒体数据,其中,该图像预设处理包括放大处理和/或特写处理和/或添加特效处理的操作。
可见,该可选的实施例能够根据目标轮廓图像与该待检测轮廓图像的该相似度信息的比对结果,来进行后续的图像预处理操作,通过上述操作可进一步提高确定目标轮廓图像的准确性。
实施例四
请参阅图5,图5是本发明实施例公开的又一种实时采集流媒体的直播装置的结构示意图。如图5所示,该装置可以包括:
存储有可执行程序代码的存储器401;
与存储器401耦合的处理器402;
处理器402调用存储器401中存储的可执行程序代码,用于执行实施例一或实施例二所描述的实时采集流媒体的直播方法中的步骤。
实施例五
本发明实施例公开了一种计算机读存储介质,其存储用于电子数据交换的计算机程序,其中,该计算机程序使得计算机执行实施例一或实施例二所描述的实时采集流媒体的直播方法中的步骤。
实施例六
本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一或实施例二所描述的实时采集流媒体的直播方法中的步骤。
以上所描述的装置实施例仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种实时采集流媒体的直播方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。