实现一个流媒体服务器

一个从零开始没有使用任何第三方库的流媒体服务器

项目特点

  • 支持rtsp推流,http-flv,hls,rtsp拉流
  • 支持linux、macos、windows平台
  • 代码清晰,无任何依赖

使用 FFmpeg 推流

现在暂时只支持rtsp over tcp的推流

ffmpeg -re -i "test.mp4" -vcodec h264 -acodec aac -f rtsp -rtsp_transport tcp rtsp://127.0.0.1/live/test

播放直播流

flv 流格式
ffplay http://localhost/live/test.flv
hls 流格式
ffplay http://localhost/live/test/test.m3u8
rtsp 流格式
ffplay rtsp://127.0.0.1/live/test -rtsp_transport tcp

这个项目是我个人为了学习流媒体协议,和音视频知识所创建的项目,所以里面所有用到的封装和解封装都是自己编写, 现在还有很多协议和特性没支持,比如rtmp,比如接入https,rtsps,以后会慢慢添加。

并且由于我不是专门做后端的, 性能方面还有很多可以优化,比如我只是简单写了个线程池,来处理每个socket链接, 没有使用epoll,select等网络模型,这对于高并发肯定是不行的,并且代码还有很多可以优化的地方,如果有大佬,觉得我某段代码实现不够效率,不够优雅,也欢迎加入来一起开发这个项目

不过这个项目作为学习流媒体服务器,确实是一个不错的项目,没有什么奇技淫巧的优化,也完全没有使用任何第三方库, 代码够简单清晰。 如果你有什么疑问,可以加qq群814462428,我的qq号是2456346488

我也会不断完善这个项目,并能够让其真正商用。

github地址 点个star让我面试好吹牛逼

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值