一种基于Android实现在线直播的方法技术

技术编号:23514775 阅读:17 留言:0更新日期:2020-03-18 01:21
本发明专利技术涉及Android技术领域,特别涉及一种带签名的基于Android在线直播的实现方法。本发明专利技术方法如下:一、使用屏幕或摄像头等工具采集视频;二、对采集到的数据进行签名处理;三、对处理过后的数据流协议进行编码与封装;四、将编码后的数据进行推流,把数据发送到视频服务器;五、服务器接收到数据后进行分发;六、用户打开APP,使用集成RTMP流协议的播放器播放。本发明专利技术解决了视频在线直播成本高以及无法提供认证的问题。

A method of online live broadcast based on Android

【技术实现步骤摘要】
一种基于Android实现在线直播的方法
本专利技术涉及Android
,特别涉及一种带签名的基于Android在线直播的实现方法。
技术介绍
自从智能手机普及以来,出现了很多很火的视频在线直播APP,他们的实现是在商家为其提供各种的商业解决方案,包括软硬件设备,摄像机,编码器,流媒体服务器等基础上,且他们的实现需要动不动几个亿至几十个亿,甚至是几百亿的融资,这些数字对于我们这些普通的视频发烧友来说,简直是天文数字了。本专利技术主要是提供一系列免费的工具,打造一套有签名的视频直播方法,解决普通发烧友实现基本免费在线直播视频的问题。
技术实现思路
本专利技术解决的技术问题在于提供一种带签名的基于Android在线直播的实现方法;本专利技术解决了视频在线直播成本高以及无法提供认证的问题。本专利技术解决上述技术问题的技术方案是:一、使用屏幕或摄像头等工具采集视频;二、对采集到的数据进行签名处理;三、对处理过后的数据流协议进行编码与封装;四、将编码后的数据进行推流,把数据发送到视频服务器;五、服务器接收到数据后进行分发;六、用户打开APP,使用集成RTMP流协议的播放器播放。所述的方法具体包括如下步骤:步骤一、使用屏幕或摄像头等工具采集视频,所述的具体过程:首先通过设备将音频采集成PCM编码的原始数据,然后编码压缩成MP3等格式;再将图像采集的图片结果组合成一组连续播放的动画;最后与音频一起合成视频;步骤二、对采集到的数据进行签名处理,比如打上公司的LOGO、用户的昵称等信息;步骤三、对处理过后的数据流协议进行编码与封装,编码主要目的是压缩视频的大小,生成符合传输的流文件,而封装的目的是生成符合播放协议的视频格式文件;步骤四、将编码后的数据采用基于RTSP协议进行推流,把数据发送到视频服务器,视频服务器主要采用了Nginx技术,即安全性又稳定,且免费;步骤五、服务器接收到数据后进行分发;步骤六、用户打开APP,使用集成RTMP流协议的播放器播放。本专利技术的有益效果:采用签名技术,实现对用户身份的认证;采用主流的视频协议,提供稳定快速的视频的传输;使用一系列免费的工具,达到了开发费用成本减少的目的。有效本专利技术解决了视频在线直播成本高以及无法提供认证的问题。附图说明下面结合附图对本专利技术进一步说明:图1为本专利技术的流程图。具体实施方式如图1所示,本专利技术采用如下步骤:步骤一、使用屏幕或摄像头等工具采集视频,所述的具体过程:首先通过设备将音频采集成PCM编码的原始数据,然后编码压缩成MP3等格式;再将图像采集的图片结果组合成一组连续播放的动画;最后与音频一起合成视频;如:publicvoidInitCamera(){Camera.Parametersp=mCamera.getParameters();SizeprevewSize=p.getPreviewSize();List<Size>previewSizeList=p.getSupportedPreviewSizes();List<Integer>previewFormats=p.getSupportedpreviewFormats();for(Camera.Sizesize:PreviewSizeList){......}Integerv21Flag=0;Integeri12Flag=0;for(IntegeryuvFormat:previewFormats){if(yuvFormat==android.graphics.ImageFormat.YV12){i12Flag=android.graphics.ImageFormat.YV12;}if(yuvFormat==android.graphics.ImageFormat.NV21){v21Flag=android.graphics.ImageFormat.NV21;}}if(v21Flag!=0){cameraCodecType=v21Flag;}elseif(i12Flag!=0){cameraCodecType=i12Flag;}p.setPreviewSize(HEIGHT_DEF,WIDTH_DEF);p.setPreviewFormat(cameraCodecType);p.setPreviewFrameRate(FRAMERATE_DEF);mCamera.setDisplayOrientation(_iDegrees);p.setRotation(_iDegrees);mCamera.setPreviewCallback(_previewCallback);mCamera.setParameters(p);try{mCamera.setPreviewDisplay(_mSurfaceView.getHolder());}catch(Exceptione){return;}mCamera.cancelAutoFocus();mCamera.startPreview();}步骤二、对采集到的数据进行签名处理,比如打上公司的LOGO、用户的昵称等信息;如:publicvoidinitVideoData(byte[]videoData){if(!bStartFlag){return;}videoDataQueueLock.lock();if(videoDataQueue.size()>50){videoDataQueue.clear();}videoDataQueue.offer(videoData);videoDataQueueLock.unlock();}privateThreadencoderThread=null;privateRunnablerunnable=newRunnable(){@Overridepublicvoidrun(){while(!encoderThread.interrupted()&&_bStartFlag){intiSize=yVQueue.size();if(iSize>0){queueLock.lock();byte[]data=yVQueue.poll();queueLock.unlock();if(data==null){continue;}if(isFront){yedit=encH264.YUV420pRotate2本文档来自技高网...

【技术保护点】
1.一种带签名的基于Android在线直播的实现方法,其特征在于:一、使用屏幕或摄像头等工具采集视频;二、对采集到的数据进行签名处理;三、对处理过后的数据流协议进行编码与封装;四、将编码后的数据进行推流,把数据发送到视频服务器;五、服务器接收到数据后进行分发;六、用户打开APP,使用集成RTMP流协议的播放器播放;从而本专利技术解决了视频在线直播成本高以及无法提供认证的问题。/n

【技术特征摘要】
1.一种带签名的基于Android在线直播的实现方法,其特征在于:一、使用屏幕或摄像头等工具采集视频;二、对采集到的数据进行签名处理;三、对处理过后的数据流协议进行编码与封装;四、将编码后的数据进行推流,把数据发送到视频服务器;五、服务器接收到数据后进行分发;六、用户打开APP,使用集成RTMP流协议的播放器播放;从而本发明解决了视频在线直播成本高以及无法提供认证的问题。


2.根据权利要求1所述的基于Android平台的实现一种带签名的在线直播的实现方法,其特征在于:使用签名技术实现身份认证,采用RTMP流协议实现安全稳定的传输数据;所述的方法具体包括如下步骤:
步骤一、使用屏幕或摄像头等工具采集视频,所述的具...

【专利技术属性】
技术研发人员:陈林张来卿庞严冬
申请(专利权)人:珠海横琴盛达兆业科技投资有限公司
类型:发明
国别省市:广东;44

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

1