怎样做月嫂网站软件商店oppo官方下载
news/
2025/9/24 2:01:30/
文章来源:
怎样做月嫂网站,软件商店oppo官方下载,织梦网站地图自动更新,中国建设监理协会继续教育网站最近想实现一个Android直播#xff0c;但是对于这方面的资料都比较零碎#xff0c;一开始是打算用ffmpeg来实现编码推流#xff0c;在搜集资料期间#xff0c;找到了几个强大的开源库#xff0c;直接避免了jni的代码#xff0c;集成后只用少量的java代码就可实现编码、推…最近想实现一个Android直播但是对于这方面的资料都比较零碎一开始是打算用ffmpeg来实现编码推流在搜集资料期间找到了几个强大的开源库直接避免了jni的代码集成后只用少量的java代码就可实现编码、推流和取流播放整理了一下做了一个demo在这里记录一下效果图编码和推流有两个方案选择一使用javacv来实现最终也是用过ffmpeg来进行编码和推流javacv实现到可以直接接收摄像头的帧数据需要自己实现的代码只是打开摄像头写一个SurfaceView进行预览然后实现PreviewCallback将摄像头每一帧的数据交给javacv即可javacv地址https://github.com/bytedeco/javacvdemo地址https://github.com/beautifulSoup/RtmpRecoder/tree/master二使用Android自带的编码工具可实现硬编码这里有一个国内大神开源的封装很完善的的库yasea第一种方法需要实现的Camera采集部分也一起封装好了进行一些简单配置就可以实现编码推流并且yasea目前已经直接支持摄像头的热切换和各种滤镜效果yasea地址(内置demo)https://github.com/begeekmyfriend/yasea服务器流媒体服务器我用的是srs项目地址https://github.com/ossrs/srs关于srs的编译、配置、部署、在官方wiki中已经写的很详细了并且srs同样是国内开发人员开源的项目有全中文的文档看起来很方便这里有最基本的简单编译部署过程 Android直播实现(二)srs流媒体服务器部署播放器android端的播放使用vitamio还是国内的开源播放器是不是感觉国内的前辈们越来越屌了^~^!vitamio支持几乎所有常见的的视频格式和流媒体协议vitamio地址(内置demo)https://github.com/yixia/VitamioBundle这里使用的是yaesa库先介绍一下直播实现的流程一使用yaesa进行摄像头采集、编码然后向srs服务器rtmp推流二部署srs流媒体服务器三使用vitamio取流播放编码和推流已经整合在一起demo地址https://github.com/SiKang123/LiveTestyaesa推流首先 clone yesa源码导入library库//布局文件中实现.ossrs.yasea.SrsCameraViewandroid:idid/glsurfaceview_cameraandroid:layout_widthmatch_parent android:layout_heightmatch_parent///java代码 需要实现接口 implements SrsEncodeHandler.SrsEncodeListener, RtmpHandler.RtmpListener, SrsRecordHandler.SrsRecordListenerSrsCameraView cameraView (SrsCameraView) findViewById(R.id.glsurfaceview_camera)mPublisher new SrsPublisher(cameraView);//编码状态回调mPublisher.setEncodeHandler(new SrsEncodeHandler(this)); mPublisher.setRecordHandler(new SrsRecordHandler(this)); //rtmp推流状态回调 mPublisher.setRtmpHandler(new RtmpHandler(this)); //预览分辨率 mPublisher.setPreviewResolution(1280, 720); //推流分辨率 mPublisher.setOutputResolution(720, 1280); //传输率 mPublisher.setVideoHDMode(); //开启美颜(其他滤镜效果在MagicFilterType中查看) mPublisher.switchCameraFilter(MagicFilterType.BEAUTY); //打开摄像头开始预览(未推流) mPublisher.startCamera(); //mPublisher.switchToSoftEncoder();//选择软编码 mPublisher.switchToHardEncoder();//选择硬编码 //开始推流 rtmpUrl(ip换成服务器的部署ip)rtmp://192.168.31.126/android/teststream mPublisher.startPublish(rtmpUrl);关键代码就这么几句(状态回调有很多这里就不贴了可以看demo)剩下的交给yasea编码推流就搞定了是不是简单到怀疑人生vitamio取流播放首先还是clone vitamio的源码导入vitamio库/*首先不要忘了在Manifest里注册InitActivity*/io.vov.vitamio.activity.InitActivityandroid:configChangesorientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigationandroid:launchModesingleTopandroid:themeandroid:style/Theme.NoTitleBar android:windowSoftInputModestateAlwaysHidden / /*布局文件*/ .vov.vitamio.widget.VideoView android:idid/surface_view android:layout_widthwrap_content android:layout_heightwrap_content //*java代码*//*onCreate中,用于检查vitamioLibs库是否准备完成*如果Manifest中没有初始化InitActivity这里会返回false并自动初始化InitActivity*/if (!LibsChecker.checkVitamioLibs(this))return;VideoView mVideoView(VideoView) findViewById(R.id.surface_view); /*会有几秒延时*/ mVideoView.setVideoPath(rtmpUrl);然后就可以开始愉快的播放rtmp流了是不是简单到令人发指关键代码就这么多具体代码可以看看demohttps://github.com/SiKang123/LiveTest移动端的编码、推流、和播放就到这后面会介绍一下srs的部署srs流媒体服务器部署前面介绍了Android端的编码、推流和播放Android直播实现(一)Android端推流、播放但是作为android程序员写好了推流器和播放器没有服务器来测试还是很头疼的这里就介绍一下srs服务器的最简单的部署如果有兴趣深入研究的可以去看看官方的wiki因为是国内开发人员开源的提供中文文档讲解的很详细 https://github.com/ossrs/srs/wiki/v3_CN_Home编译官方推荐在CentOs 6.x 和 Ubuntu12.x下编译为了避免不必要的麻烦我直接在Ububtu 12.04.5上进行编译和部署的首先clone srs源码git clone https://github.com/ossrs/srscd srs/trunk然后进行编译./configure --rtmp-hls --with-http-api --with-ffmpeg make //--rtmp-hls开启ssl/hls其他功能都处于关闭状态。 //--with-http-api开启http api接口。 //--with-ffmpeg开启FFMPEG这里只编译了基础功能更详细的配置可以看https://github.com/ossrs/srs/wiki/v1_CN_Build编译完之后启动就可以了//启动时也可以自定义去配置制定一个conf文件就可以了这里用现成的rtmp.conf来启动./objs/srs -c conf/rtmp.conf如果没报错这个时候服务器就已经启动了把Android推流和播放端的ip地址改成srs部署的ip就可以实现直播了(注意如果是用虚拟机要把网络模式换位桥接模式让虚拟机拥有独立的ip否则主系统可以访问到srs但局域网内的手机是访问不到的)为了测试srs是否已经成功启动可以先用ffmpeg 对一个本地视频文件进行推流srs的/doc/下有测试的flv文件直接用ffmpeg进行推流//ip地址换成自己部署的ipsudo ./objs/ffmpeg/bin/ffmpeg -re -i ./doc/source.200kbps.768x320.flv \-vcodec copy \-f flv -y rtmp://192.168.31.126/srstest/teststream不出意外的话在终端中就应该开始一帧一帧的推流了这样就推流成功了然后用srs的在线播放器试一下能否观看http://winlinvip.github.io/srs.release/trunk/research/players/srs_player.html服务器启动以后把Android推流和播放端的ip改为服务器的部署ip就可以开始直播了如果没有成功可以利用srs在线播放器来帮助测试1.测试推流可以在Android上向服务器推流用srs在线播放播放成功推流就没问题了2.测试播放可以像上边一样先用ffmpeg推流一个视频文件在Android端播放
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914546.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!