- 博客(7)
- 收藏
- 关注
原创 EasyDarwin源码分析(四)—— RTPHandles
首先我是看到,在session处理RTP包,也就是RTPPack的时候,都是长这个样子,从RTPHandles里面遍历出h,然后用h处理pack。首先这里的pack是:就两个属性,RTPType就是一个int,用数字来表明类型。 一个*bytes.Buffer,bytes.buffer是一个缓冲byte类型的缓冲器。简单来说这个RTPPack的属性一个是类型,一个是数据。再来看这个RTPHandles,一个函数的切片(集合),每个函数的参数都是RTPPack。那我们现在就得找,在哪些地方会往RT.
2021-12-15 17:58:00
469
2
原创 EasyDarwin源码分析(三)——rtsp-client
rtsp-client.go这个模块主要实现了客户端的拉流功能。也就是在网页上点击“拉流分发”按钮后,easydarwin会向用户填写的源地址拉流,然后再转发出去,在向源地址拉流的时候,easydarwin相当于是一个rtsp客户端。所以这里使用rtsp-client.go。EasyDarwin中有两个模块分别是rtsp-server和rtsp-client,rtsp-server分析见:rtsp-server源码分析乍一看这两个模块,一个server一个cilent,好像正好是一对服务器和客户端,其
2021-12-11 14:57:49
2428
原创 EasyDarwin源码分析(二)——rtsp-server、rtsp-session
rtsp-server.go这个模块提供了rtsp服务,概括的说就是监听554端口(默认),有ffmpeg推流过来,或者是有播放器(vlc)来拉流时,做出响应并进行处理。GetServer() *ServerGetServer() 返回了Instance(①) , 他是一个 *Server , Instance 在 rtsp-server.go 中已经被简单的初始化了(②),Server类型是我们自己定义的,不是官方的包(③)。也就是说 main 函数里面的 rtspServer 已经有了一些初
2021-12-10 14:17:47
1149
原创 EasyDarwin源码分析(一)——main.go
main.go easydarwin源码的代码量不是很多,主要的代码也就集中在下面的几个文件夹中,核心业务的代码也就主要集中在rtsp包中。 而且用Go语言写的代码,不像springboot那样,你在读源码前至少要对Springboot框架有一定的学习,要知道不同的模块是干嘛用的, 想看哪部分的代码要提前知道去哪里找。 而Go就不一样了,Go语言规定程序的入口就是main.go中的main()函数,一切都从这里展开,所以我也是从main()函数看起,了解整个EDW工作的流程。 因为主要是为
2021-10-12 15:33:50
636
原创 关于EasyDarwin二次开发编译后无法以服务启动的问题
问题描述:在win7上二次开发EasyDarwin后,编译出的EasyDarwin.exe运行正常,或是使用ServiceInstall-EasyDarwin.exe在系统中注册服务,启动服务也正常。于是打包将其部署在win server 2008上,发现如果直接运行EasyDarwin.exe,一切正常。但是如果以服务启动,运行ServiceInstall-EasyDarwin.exe,命令行显示启动成功,但是在任务管理器中EasyDarwin-service启动失败,并且手动启动服务出现错误。
2021-09-27 10:57:59
355
原创 在启动EasyDarwin前端时遇到的几个问题
问题一:进入前端文件夹(web_src)后需要npm install ,这时出现 Error: not found: python提示缺少python,电脑上的确是没有装python。这里应该是可以直接安装python解决,但是我在网上搜索后发现可以通过执行下面两个命令来解决,就没有去装python了。解决:管理员方式运行(好像也可以不用)npm install --global --production windows-build-tools然后再:npm install --glob
2021-09-23 10:12:02
452
原创 二次开发EasyDarwin(Go+Vue)——如何调试(debug)运行
前言实习的时候公司分配给我任务要二次开发EasyDarwin,首先从github上拉下源码https://github.com/EasyDarwin/EasyDarwin,在这个页面的README中是有介绍如何二次开发EasyDarwin的,而且给出了开发完如何编译各个部分的命令,但还是太简略了。一个正常的开发工作,肯定是改完代码后调试运行,测试代码功能,如果没有达到预期效果,就打打断点,单步过过流程或者排查错误。我不能改完代码之后就把它编译成EasyDarwin.exe,然后运行,再看我的代码生效了没
2021-09-23 10:06:45
1226
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人