当前位置: 首页 > news >正文

广州学生做网站易瑞通网站建设

广州学生做网站,易瑞通网站建设,网页设计网站免登陆,网站域名申请费用深入理解rtmp(一)之开发环境搭建 手机直播在15年的时候突然火起来,随着花椒,映客等出现,直播一下就出现在了风口,各个公司针对直播的战斗迅速打响,战斗过程比较短暂,随着许多公司的退出和死去,手机直播行业趋于稳定,直播服务时长也被传统的CDN厂商牢牢占据,后面大家又把精力投…深入理解rtmp(一)之开发环境搭建 手机直播在15年的时候突然火起来,随着花椒,映客等出现,直播一下就出现在了风口,各个公司针对直播的战斗迅速打响,战斗过程比较短暂,随着许多公司的退出和死去,手机直播行业趋于稳定,直播服务时长也被传统的CDN厂商牢牢占据,后面大家又把精力投入到互动直播上面,当时一下对手机直播失去了信心.现在随着5G时代的到来,VR技术的兴起,就像15年前的短视频,在17年以后又开始发力一样,直播可能还会迎来它的第二春.趁着有点时间,准备再把直播领域的东西捡起来,从协议实现到编码到采集,逐渐深入并分享出来. 工欲善其事必先利其器,今天先搭建一套完整的服务系统,从采集推流到服务处理到播放端. 先来搭建服务端 RTMP服务器搭建 常用的rtmp服务器有:AMS(FMS),wowza,Red5,SRS,crtmpserver,nginx. RTMP是Real Time Message Protocol(实时信息传输协议)的缩写,是由Adobe公司提出的一种应用层协议,用来解决多媒体数据传输流的多路复用Multiplexing和分包packetizing的问题.Flash Media Server (简称FMS)后更名为Adobe Flash Media Server (简称AMS)。它是较早2002年做流媒体服务器产品的原公司是Macromedia后来被Adobe收购了它是流视频和实时通信领域业界领先的解决方案该产品可以快速搭建起一套流媒体直播、点播服务器。AMS可以说是rtmp的官方实现服务.官网Adobe Media Server family,但是它是收费的.可以使用,最开始使用AMS搭建过服务,可以参考FMS教程自己尝试搭建.wowza全名是Wowza Streaming Engine是一款非常优秀的流媒体服务器产品。也算是除了FMS产品之外的一个老版子产品产品发布于2007年他在HLS(m3u8)分发方面是非常不错的。从wowza2.0到现在的wowza4.5都曾关注和使用过他们的产品总体来说性价比还是蛮高的。同AMS一样,它也是需要付费的产品.官网Wowza Live Stream Software,同样参考RED5教程 尝试自己搭建Red5:免费开源的是它最大的优点也因此有很多用户在使用它们的产品然后不足在于占用服务器资源较高。官网Red5 Media Servercrtmpserver又称rtmpd是Evostream Media Serverwww.evostream.com的社区版本采用GPLV3授权由 C/C开发的一个高性能的RTMP流媒体服务器可以实现直播与点播功能多终端支持功能在特定情况下是FMS的良好替代品。支持RTMP的一堆协议 RTMP,RTMPE, RTMPS, RTMPT, RTMPTE如果你不想用RED5的话它也是一个很好的选择。github地址:https://github.com/j0sh/crtmpserver ,已经有八九年没有维护了Nginx-rtmp:是作为nginx的一个模块部署,官网地址nginx-rtmp,github地址nginx-rtmp-moduleSRS(Simple Rtmp Server)定位是运营级的互联网直播服务器集群追求更好的概念完整性和最简单实现的代码这是该产品自己官方的介绍。值得一说的是前面几个产品都是国外的而这个作者是国内的,目前作者在阿里. 综合上面描述,对于我们选型最好的是SRS与Nginx-rtmp-module,关于这两种开源实现,SRS作者成立2020/01/19刚做了fork对比: SRS有略微优势,关于性能对比可以参考srs之与nginx-rtmp性能对比,这里我们选择SRS作为RTMP服务.作者提供了docker环境,我们根据官网在mac上搭建我们的SRS服务: Step1:获取srs: git clone https://github.com/ossrs/srs cd srs/trunk下载太慢可以选择国内镜像:git clone https://gitee.com/winlinvip/srs.oschina.git Step 2: 配置docker环境 编译方式选择使用docker,作者提供了docker,可直接使用: docker pull ossrs/srs:dev在srs目录下启动docker: docker run -it -v pwd:/tmp/srs -w /tmp/srs/trunk -p 1935:1935 \-p 1985:1985 -p 8080:8080 -p 8085:8085 ossrs/srs:dev bashNote: Recommend to use AliyunCR registry.cn-hangzhou.aliyuncs.com/ossrs/srs:dev, because it’s much faster. 可以使用如下方式在新窗口进入该docker容器: dockerIDdocker ps --format {{.ID}} {{.Image}} |grep ossrs/srs:dev |awk {print $1} docker exec -it $dockerID bashStep 3: 编译srs 在docker中编译 ./configure makeStep 4: 运行srs ./objs/srs -c conf/srs.confStep 5: docker启用gdb调试 To run docker with --privileged for GDB, or it fail for error Cannot create process: Operation not permitted. 推流端 服务端搭建好了,我们接下来就是把音视频流推送到服务器.在PC上我们最常用的推流程序是ffmpeg与OBS: ffmpeg命令方式推流 在mac上我们可以通过brew install ffmpeg安装ffmpeg,安装好后准备一个待推流视频,执行下面命令: ffmpeg -re -i ./kobe.mp4 -vcodec copy -acodec copy -f flv -y rtmp://127.0.0.1:1935/live/livestream其中: -re 按照帧率发送如果不加手册里说的是发送as fast as possible-i ./kobe.mp4 推送的是当前目录下的kobe.mp4文件-vcodec copy 视频编码为保持原始kobe.mp4视频编码,我这个文件是h264-acodec copy 音频编码为保持原始kobe.mp4音频编码,我这个文件是aac-f flv 封装格式是flv-y rtmp://127.0.0.1:1935/live/livestream 直接写入到输出文件,这里面是rtmp的服务地址 执行效果: obs 直接安装obs后: 点击设置-串流,配置rtmp地址: 确定后点击开始串流就可以将我们的摄像头画面推送的rtmp服务器. 其它 在移动端有一些其它的实现的推流器,但是都没有PC上面的两款方面,后面我们自己实现一个Android/iOS的推流程序. 播放器 PC端最常用最好用的rtmp播放器莫过于ffplay与vlc,虽然他们有延迟高等缺点,但是不妨碍我们平时的开发调试: ffplay 安装ffmpeg后自带ffplay,直接ffplay rtmp://127.0.0.1:1935/live/livestream就可以正式看片了,直接上效果: vlc vlc更简单了,打开vlc, 按下cmd n,选择Network输入我们的直播地址就可以开始了: 其他 在移动端最流程的莫过于ijkplayer,github地址:https://github.com/bilibili/ijkplayer, ijkplayer基于ffmpeg,Features: Common remove rarely used ffmpeg components to reduce binary size config/module-lite.sh workaround for some buggy online video. Android platform: API 9~23 cpu: ARMv7a, ARM64v8a, x86 (ARMv5 is not tested on real devices) api: MediaPlayer-like video-output: NativeWindow, OpenGL ES 2.0 audio-output: AudioTrack, OpenSL ES hw-decoder: MediaCodec (API 16, Android 4.1) alternative-backend: android.media.MediaPlayer, ExoPlayer iOS platform: iOS 7.0~10.2.x cpu: armv7, arm64, i386, x86_64, (armv7s is obselete) api: MediaPlayer.framework-like video-output: OpenGL ES 2.0 audio-output: AudioQueue, AudioUnit hw-decoder: VideoToolbox (iOS 8) alternative-backend: AVFoundation.Framework.AVPlayer, MediaPlayer.Framework.MPMoviePlayerControlelr (obselete since iOS 8) 考虑到ffmpeg的复杂性和庞大的体积,我自己开发了oarplayer,github地址https://github.com/qingkouwei/oarplayer,没有使用ffmpeg,只使用手机系统的硬编码器,后续还在不断的优化和迭代,欢迎大家体验使用,一起参与维护.
http://www.hkea.cn/news/14342201/

相关文章:

  • 网站建设简单模板wordpress备份网站
  • 网站有利于seo的细节网站应具有的功能模块
  • 网页制作素材中国文化苏州批量关键词优化
  • 网站建设 国家技术规范不懂网站建设.怎么销售
  • 沈阳开发网站企业网站开发流程简述
  • 广州大石附近做网站的公司扬州公司做网站
  • 网站建设成为肥城网站设计公司
  • wordpress游戏网站模板win7 iis 新建网站
  • 软件开发网站建设科技有限公司wordpress首页导航代码
  • 北京建设银行官网招聘网站南川网站制作
  • wordpress模板 家具seo外链在线提交工具
  • 网站网站做任务佣金违法高端制造
  • 网站批量创建程序商城网站互动性
  • 邢台做网站优化价格学校门户网站建设必要性
  • 科技类网站源码淘宝运营主要做些什么
  • 瑞金网站建设珠宝购物网站的建设
  • 湖北网站建设企业网站建设的目的
  • 上海网站建设找哪家公司广州网站备案拍照
  • 合肥市做外贸网站的公司企业网站文章
  • 网站建设建站在线建站兰州做网站公司有哪些
  • 建设管理网站网站如何做百度实名认证
  • 服务器2003怎么做网站网易企业邮箱彻底删除的邮件还能恢复吗
  • 做外贸网站推广什么比较好站长工具手机综合查询
  • 大学生兼职网网站建设计划书西安市市政建设网站
  • 瀑布流网站有哪些wordpress怎么加站点图标
  • 织梦怎么做网站地图成品网站和模板建站
  • 网站开发付款方式和比例自助建站网
  • 如何创建网站内容在线排名优化工具
  • 崇明网站建设如何做网站里的子网站
  • 用国外服务器做网站网站搜资源的搜索引擎