go语言实现直播 go语言项目实战教程

《Go语言实战》epub下载在线阅读,求百度网盘云资源《Go语言实战》(威廉·肯尼迪 (William Kennedy))电子书网盘下载免费在线阅读
链接:
提取码:1234
书名:Go语言实战
作者:威廉·肯尼迪 (William Kennedy)
译者:李兆海
豆瓣评分:7.7
出版社:人民邮电出版社
出版年份:2017-3-1
页数:224
内容简介:
Go语言结合了底层系统语言的能力以及现代语言的高级特性 , 旨在降低构建简单、可靠、高效软件的门槛 。本书向读者提供一个专注、全面且符合语言习惯的视角 。Go语言实战同时关注语言的规范和实现,涉及的内容包括语法、类型系统、并发、管道、测试,以及其他一些主题 。
作者简介:
William Kennedy,是一位熟练的软件开发者,也是博客GoingGo.Net的作者 。
Brian Ketelsen和Erik St. Martin是全球Go语言大会GopherCon的组织者,也是Go语言框架Skynet的联合作者 。
李兆海,多年专注于后端分布式网络服务开发 , 曾使用过多个流行后端技术和相关架构实践,是Go语言和Docker的早期使用者和推广者,《第1本Docker书》的译者 。作为项目技术负责人 , 成功开发了百万用户级直播系统 。
如何用Gopro做VR全景直播全景vr直播,这个不太知道,毕竟vr直播太耗费流量而且还需要观者有相应的设备不过gopro现在可以接入手机做直播了在直播app前几天更新的ios版本已经独家上线了这个功能试玩了一下爽歪歪?。?
rtsp流浏览器播放方案rtsp流在主流浏览器并不支持直接播放 。比如大华的视频流:rtsp://admin:123456@
192.168.10.129/cam/realmonitor?channel=1subtype=0 , 用vlc可以直接播放 。但在浏览器会报ERR_UNKNOWN_URL_SCHEME 。那如何在浏览器中播放呢 。
以下列出几种方案 。
1、安装插件(chrome最新版基本都不支持)
类如:kurento,vlc插件(谷歌浏览器版本41以下),vgx插件(不支持高版本,chrome72.0版本可用)等 。
2、安装软件(中间件,基本都付费)
类如:Appemit(调用vlc插件播放rtsp),可以免安装的,目前只能windows,免费版会有提示 。
猿大师中间件(底层调用VLC的ActiveX控件 , 实现在主流浏览器网页中内嵌播放多路RTSP的实时视频流),中间件收费的 。
PluginOK(牛插)中间件 。底层调用ActiveX控件VlcOcx.dll 。(商业用途需付费使用)
3、服务器拉流转发及协议转换
示意图如下所示:
推流--------------服务器转发--------------拉流
方法一览:
a,vlc软件串流到http协议 ,网页显示几个视频需启动几个vlc,只适合应急场景 。
b,html5 + websocket_rtsp_proxy 实现视频流直播,基于MSE(Media Source Extensions,W3C),扩展H5的功能 。
步骤:服务器安装streamedian服务器,客户端通过video标签播放 。
原型图:
价格:
c.基于nginx的rsmp转发
基于nginx实现rtmp转化,用flash实现播放 。由于flash目前大多浏览器默认禁用 , 不推荐此方式 。
步骤:安装ffmpeg工具,安装nginx 。
另外nginx-rtmp-module也支持HLS协议,可以搭建基于hls的直播服务器 。
d.rtsp转hls播放,通过ffmpeg转码
步骤:安装ffmpeg工具,ffmpeg转码 。
形如:
ffmpeg -i "rtsp://admin:123456@192.168.10.129/cam/realmonitor?channel=1subtype=0" -c copy -f hls -hls_time 2.0 -hls_list_size 0 -hls_wrap 15 "D:/hls/test.m3u8"
缺点是直播流延时很大 , 对实时要求比较高的不满足要求 。
案例:基于EasyDarwin拾建转码服务器 。参考地址:
通过存储的m3u8去读取 。

推荐阅读