用 go 写好了一个简单的流媒体服务器,优化的时候感觉有些无从下手

背景

转go快一年,然后在空闲时间仿照网易云音乐写了个流媒体服务器,现在支持音乐播放和视频播放,支持点播,和seek操作,

  • 功能
    支持点播和seek操作(不过只是通过http.ServeContent做到的,没有涉及底层的东西)
  • 性能方面
    局域网内点播还算流畅,但是视频播放,进度条拖动过长就会异常退出,内网穿透之后,视频根本就播放不了了

我的问题

  1. 技术选型方面
    该选用哪种方式优化性能,ffmpeg二次开发还是别的什么方式,
    如果不用ffmpeg,单纯用go能做到哪一步(github找了go的流媒体开源项目,star数过千的不到5个,太难了)
  2. 优化方向
    在服务端,大的方面我需要做些什么,是手动构建编解码器还是做别的事情,因为感觉现在写的demo很奇怪,并不具备专业的流媒体服务器的那样,从音视频的解析,解码,传输等严谨的流程,也能打印出dot图分析,我的肯定做不到,如果说让我写一个解码器,可能百度一下找找可能就找到了,但是我现在的情况,一是缺少分析手段 2是缺乏在架构层面的认识,
    感觉主要问题是在于道,而不是术,希望各位好汉指点迷津
讨论数量: 1

成型的流媒体服务好几个,优化得都不错,生态也有了。 所以,建议放弃。 知道怎么造轮子就行了,没必要造成下一个米其林。特别是看你的困惑没有造米其轮的条件。

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!