值得学习的音视频开源项目

2019年最新总结,从程序员到CTO,从专业走向卓越,大牛分享文档pdf与PPT整理

整理大牛分享文档如下,持续更新一线开发架构,技术文档

下载地址:https://github.com/0voice/from_coder_to_expert

博客

iOS WebRTC语音视频通话实现与demo

https://blog.csdn.net/qq_35316446/article/details/70160326

Dale工作学习笔记  linux服务器开发

Dale工作学习笔记

流媒体: FFmpeg专项

https://blog.csdn.net/fireroll/article/category/565707

Qt界面开发(各种控件以及图表)

https://blog.csdn.net/ZhangXiaoyu_sy/article/details/78925221

FFMPEG命令行处理视频进阶——高阶必读

https://blog.csdn.net/zhangamxqun/article/details/80295833

FFMpeg 滤镜中英文对照

http://www.it610.com/article/3656074.htm

多路解码

https://github.com/ithewei/hplayer/tree/master/src

基于socket.io即时通讯IM实现,webRTC实现视频通话

https://blog.csdn.net/foxPower/article/details/77990490

结合 AppRTC(IOS移动端) 源码分析 WebRTC 建立连接的过程

https://juejin.im/entry/5c7a86995188251a006ad790

前端开发

技术胖 专注于前端开发

webrtc

iOS基于Socket.io即时通讯IM实现,WebRTC实现视频通话

https://www.jianshu.com/p/686c4bf6df3f

多媒体相关

播放器

GSYVideoPlayer

Android播放器,功能非常强大

https://github.com/CarGuo/GSYVideoPlayer

视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS支持,支持弹幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频本身自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,直接添加控件为封面,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,列表切换详情页面无缝播放,其他一些小动画效果,rtsp、concat、mpeg

video

用ffmpeg封装demuxer,muxer,decoder,encoder

https://github.com/qflow/video

mp4-sip-rtsp-rtmp

支持的协议非常多,具体目录:mp4-sip-rtsp-rtmp/tree/master/app/src/main/cpp/libstreamProtocol-android

https://github.com/qingfuliao/mp4-sip-rtsp-rtmp

myRtspClient

myRTSPClient是一个轻量级的RTSP客户端C++函数库。

支持多平台,支持H264,H265,MPA等音视频传输。

https://github.com/Ansersion/myRtspClient

flvpusher

A tool for pushing flv/mp4/ts/rtmp/rtsp/hls source to rtmp/rtspserver.

https://github.com/dengxiayehu/flvpusher

流媒体服务器

pion各种go相关的流媒体开发,主要是WebRTC

The Open Source, Cross Platform Stack for Real-time Media and Data Communication

https://github.com/pion

v4l2rtspserver

RTSP Server for V4L2 device capture supporting HEVC/H264/JPEG/VP8/VP9

https://github.com/mpromonet/v4l2rtspserver

livego

Go写的rtmp、http、hls流媒体服务器

https://github.com/gwuhaolin/livego

ZLMediaKit

https://github.com/xiongziliang/ZLMediaKit

基于C++11开发,避免使用裸指针,代码稳定可靠;同时跨平台移植简单方  便,代码清晰简洁。

打包多种流媒体协议(RTSP/RTMP/HLS),支持协议间的互相转换,提供一站式的服务。

使用epoll+线程池+异步网络IO模式开发,并发性能优越。

已实现主流的的H264/H265+AAC流媒体方案,代码精简,脉络清晰,适合学习。

编码格式与框架代码解耦,方便自由简洁的添加支持其他编码格式

代码经过大量的稳定性、性能测试,可满足商用服务器项目。

支持linux、macos、ios、android、windows平台

支持画面秒开(GOP缓存)、极低延时(1秒内)

webrtc

AppRTC

WebRTC官方demo

https://github.com/webrtc/apprtc

WebRTC-Experiment

各种WebRTC相关的范例

https://github.com/muaz-khan/WebRTC-Experiment

webrtc编译

https://github.com/shiguredo/sora-webrtc-build

webrtc_android

sky p2p metting是基于webrtc开发的一套可以进行单路或者多路语音、视频的系统。高仿微信九宫格显示,最多可支持 9 路视频。

https://github.com/ddssingsong/webrtc_android

EasyRTC

A bundle of Open Source WebRTC joy!

https://github.com/priologic/easyrtc

media-server-go

功能强大,想使用go设计WebRTC SFU的同学可以深入研究下。

WebRTC media server for go

https://github.com/notedit/media-server-go

支持:

WebRTC-Broadcast: WebRTC publish and play

Raw-RTP-Input: Send raw rtp data into webrtc

WebRTC-Record: WebRTC record

RTMP-To-WebRTC: Rtmp to webrtc

Server-To-Server: WebRTC server relay

WebRTC-To-RTMP: WebRTC to rtmp

WebRTC-To-HLS: WebRTC to hls

MP4 multitrack recording support for all WebRTC codecs: H264,VP8,VP9, OPUS and PCMU/A.

VP9 SVClayer selection

Simulcast with temporal layer selection

RTP transport wide congestion control

Sender side BitRate estimation

Flex FEC draft 3

NACK and RTX support

[RTCP reduced size] (https://tools.ietf.org/html/rfc5506)

Bundle

ICE lite

WebRTC统计

Chrome支持良好,Edge、Firefox支持度一般

https://github.com/muaz-khan/getStats

laravel-video-chat

没实际使用,不清楚效果怎么样

Laravel Video Chat using Socket.IO and WebRTC

laravel-video-chat

RTCMultiConnection

多人通话范例

https://github.com/muaz-khan/RTCMultiConnection

IOS webrtc eVisit-cordova-meetRTC参考

https://github.com/spacewideweb/eVisit-cordova-meetRTC/tree/master/eVisit-master/MeetRTC

即时通讯

go

Terry-Mao/goim 是一个支持集群的im及实时推送服务。

https://github.com/Terry-Mao/goim

轻量级

高性能

纯Golang实现

支持单个、多个、单房间以及广播消息推送

支持单个Key多个订阅者(可限制订阅者最大人数)

心跳支持(应用心跳和tcp、keepalive)

支持安全验证(未授权用户不能订阅)

多协议支持(websocket,tcp)

可拓扑的架构(job、logic模块可动态无限扩展)

基于Kafka做异步消息推送

im_service

https://github.com/GoBelieveIO/im_service

官方QQ群:450359487,加群请附加说明信息。

支持点对点消息, 群组消息, 聊天室消息

支持集群部署

单机支持50w用户在线

单机处理消息5000条/s

支持超大群组(3000人)

im

较为适合入门的IM程序

https://github.com/Terry-Ye/im

goim

有框架设计图

https://github.com/alberliu/goim

goim是一个即时通讯服务器,代码全部使用golang完成,功能包含好友之间一对一聊天,群组聊天,支持单用户多设备同时在线,就像微信一样,当你同时使用两个设备登录账号时,两个设备可以都可以接收到消息,当你用一个设备发送消息时,另一个设备也能收到你发送的消息。目前已经更新到1.1.0版版本,1.1.0版本主要实现了logic层和connect层的服务拆分,虽然现在距离生产环境使用还有一定的差距,但是会不断完善,使其可以用于生产环境。

测试api:https://documenter.getpostman.com/view/4164957/RzZ4q2hJ?version=latest#eeba83e9-e67c-44e2-8164-5d824dddd53e

Go语言非官方开源telegram服务端

https://github.com/nebulaim/telegramd

FishChatServer2 聊天

https://github.com/oikomi/FishChatServer2

node.js

Vchat

体验账号:10001793 密码:123456

https://github.com/wuyawei/Vchat

【从头到脚】撸一个社交聊天系统(vue + node + mongodb)

c++

TeamTalk

TeamTalk是一款蘑菇街开源的企业内部即时通讯软件,目前支持pc、安卓、IOS、Mac和web多个终端,这是各个版本的代码和部署脚本。

https://github.com/balloonwj/TeamTalk

监控

开源监控利器grafana

https://github.com/grafana/grafana

CAT 简介

https://github.com/dianping/cat

CAT 是基于 Java 开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务。

CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。

CAT 很大的优势是它是一个实时系统,CAT 大部分系统是分钟级统计,但是从数据生成到服务端处理结束是秒级别,秒级定义是48分钟40秒,基本上看到48分钟38秒数据,整体报表的统计粒度是分钟级;第二个优势,监控数据是全量统计,客户端预计算;链路数据是采样计算。

网关

go

Gateway

是一个基于HTTP协议的restful的API网关。可以作为统一的API接入层。

https://github.com/fagongzi/gateway

流量控制(Server或API级别)

熔断(Server或API级别)

负载均衡

服务发现

插件机制

路由(分流,复制流量)

API 聚合

等等等等............

模块组件

go

websocket

https://github.com/gorilla/websocket

cellnet

cellnet是一个组件化、高扩展性、高性能的开源服务器网络库

https://github.com/davyxu/cellnet

C++

A C++ High Performance Web Server

https://github.com/linyacool/WebServer

工具

蓝灯

访问国外的软件

https://github.com/getlantern/download

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,039评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,223评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,916评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,009评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,030评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,011评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,934评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,754评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,202评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,433评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,590评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,321评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,917评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,568评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,738评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,583评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,482评论 2 352

推荐阅读更多精彩内容