go语言并发获取hls,测试流媒体服务的拉流压力
前两天,我们的开发的兄弟们终于将我们的流媒体整体方案实现并部署了,虽然都是用的开源的项目,但是我们内部还是要测试服务表现的,这个任务就被扔给我了。 先不看内部各个链路的性能损耗,先测试单源,多路点播取流的场景。 使用golang,写程序如下: package main import ( /*this application is used to get rtsp stream data for me*/ func main() { if Host == "" { func getHttpHls(h string) { //here we open a loop to read stream
?使用步骤:
1、使用命令:go build get_hls.go,编译
2、使用:./get_hls ?-ghttp://127.0.0.1:8082/live/20_unv01_1.flv -t1000,通过这样的方式来获取1000个流,并将流直接抛弃
?
? ? ? 说明: 1、我这边自己到网上下载了一个流媒体拉流的工具,使用的时候,流媒体拉流工具的性能消耗比我的srs消耗还要大,而且一段时间会自动kill掉,所以写以上程序来埋坑 2、因为公司局域网是百兆局域网,是没有办法测试出我们服务的压力的,所以这里都是使用还回的方式在用,单路码率为4Mbps左右,拉22路码流就上不去了 ? 上面这个程序很鄙陋,希望能够有高手予以指导,程序中,后面的buffer是读取到垃圾里面的,但是如果能够不读取,直接new处理一下,应该效果更好。 ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |