Android 音视频流媒体相关知识导航 原创
文章目录
Android 音视频流媒体相关知识导航
本文首发地址 https://blog.csdn.net/CSqingchen/article/details/106717995
最新更新地址 https://gitee.com/chenjim/chenjimblog
相关博客专栏
-
清霜之辰博客-音视频专栏
https://blog.csdn.net/csqingchen/category_10066196.html -
雷霄骅(leixiaohua1020)的专栏,里面有非常多关于音视频编码/ffmpeg相关的学习资料,入门必备。
-
yjy239 音视频系列专栏
https://www.jianshu.com/nb/36949439 -
顾修忠的博客-音视频专栏
https://blog.csdn.net/ta893115871/category_10656010.html
RTP RTCP RTSP SRS SRT 等的含义
- RTP (Real-time Transport Protocol,实时传输协议
RTP 协议分为两种子协议,分别是 Real-Time Transfer Data Protocol 和 Real-Time Transport Control Protocol。前者顾名思义,是用来传输实时数据的,即RT(D)P;后者则是我们常说的 RTCP , 实时传输控制协议,可以提供实时传输过程中的统计信息(如网络延迟、丢包率等),WebRTC 正是根据这些信息处理丢包。
RTP与RTCP协议详细介绍:
https://webrtc.mthli.com/lost/rtp-introduction/
https://blog.51cto.com/zhangjunhd/25481 - RTSP (Real-Time Streaming Protocol) 实时流协议 多用与IPCamera
- webrtc (Web Real-Time Communication) 基于Web的音视频协议,用到SRTP和SRTCP
- SRTP (Secure Real-time Transport Protocol) 安全实时传输协议,通过 IP 网络交付音频和视频等实时数据的标准安全格式。
- SRTCP (Secure Real-time Control Transport Protocol) 安全实时控制传输协议,通过 SRTP 流交付发送和接收方统计及控制信息的安全控制协议。
- SRS (Simple Realtime Server)
- SRT (Secure Reliable Transport)
H264编码参数的设置
Video Encoding Settings for H.264 Excellence
http://www.lighterra.com/papers/videoencodingh264/
直播视频分辨率码率参考设置
https://blog.csdn.net/CSqingchen/article/details/106492496
Zookeeper相关
https://my.oschina.net/u/3796575/blog/1845035
- PERSISTENT-持久化目录节点,客户端与zookeeper断开连接后,该节点依旧存在
- PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点,客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号
- EPHEMERAL-临时目录节点,客户端与zookeeper断开连接后,该节点被删除
- EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点,客户端与zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号
ffmpeg 相关
-
ffmpeg 常用命令汇总
https://blog.csdn.net/kingvon_liwei/article/details/79271361
https://blog.csdn.net/weixin_37897683/article/details/81225228
例如: -
利用ffmpeg实现rtmp推流
https://www.jianshu.com/p/c141fc7881e7
循环推送zyhc.mp4
到指定rtmp服务器
ffmpeg.exe -stream_loop -1 -i zyhc.mp4 -acodec aac -ar 44100 -ab 48k -vcodec libx264 -b:v 1024k -f flv rtmp://47.100.35.143:8020/live/34020000001310216789
SRS(Simple RTMP Server)
Github 地址 https://github.com/ossrs/srs
-
一个简单的流媒体直播集群,简单的快乐。
SRS提供了丰富的接入方案将RTMP流接入SRS, 包括推送RTMP到SRS、推送RTSP/UDP/FLV到SRS、拉取流到SRS。 SRS还支持将接入的RTMP流进行各种变换,譬如将RTMP流转码、流截图、 转发给其他服务器、转封装成HTTP-FLV流、转封装成HLS、 转封装成HDS、录制成FLV/MP4。
SRS包含支大规模集群如CDN业务的关键特性, 譬如RTMP多级集群、源站集群、VHOST虚拟服务器 、 无中断服务Reload、HTTP-FLV集群。
此外,SRS还提供丰富的应用接口, 包括HTTP回调、安全策略Security、HTTP API接口、 RTMP测速。SRS在源站和CDN集群中都得到了广泛的 应用Applications。 -
wikis v4_CN_Home
https://gitee.com/ossrs/srs/wikis/v4_CN_Home -
demo 示例地址
https://ossrs.net/releases/ -
SRS 4.0 支持的功能列表
https://github.com/ossrs/srs/blob/4.0release/trunk/doc/Features.md#features -
SRS 对 GB28181 支持
https://www.jianshu.com/p/b58e79fa4eb3
https://www.cnblogs.com/dong1/p/12712229.html
SRS中的GB28181能否实现双向语音对讲,要 到 5.0 Release -
wikis v4 webrtc 相关
https://gitee.com/ossrs/srs/wikis/v4_CN_WebRTC
srs 多人通话
https://ossrs.net/demos/room.html?autostart=true&wss=wss&wsh=d.ossrs.net&host=d.ossrs.net&room=383613f6
如何用SRS搭建一对一通话,直播和RTC一体化的SFU
https://mp.weixin.qq.com/s?__biz=MzA4NTQ3MzQ5OA==&mid=2649004531&idx=1&sn=c710d20de6c1e9e1e7fdb966546f4435&scene=21
Android接入SRS WebRtc直播流
https://blog.csdn.net/x277151676/article/details/114583609 -
httpx-static,可以用https代理http
官方文档:https://github.com/ossrs/go-oryx/tree/develop/httpx-static
视频基于介绍https://www.bilibili.com/video/BV1bK4y1x7Ut
SRT 相关
srs 支持 srt 流 https://github.com/ossrs/srs/issues/1147
Larix SDK 支持 SRT 推流,Android SDK of Larix Broadcaster costs 300 USD per month
七牛 Android 推流SDK 之 PLDroidMediaStreaming , 3.0 SDK 支持SRT,需要授权
OBS windows 客户端 支持推流 SRT 协议
https://github.com/obsproject/obs-studio
阿里云 推流SDK 支持rtmp、自有 低时延直播(RTS)
https://help.aliyun.com/document_detail/267433.html
SRT Encoder— 自定义的ffmpeg实现srt自适应码率编码器
https://github.com/runner365/srt_encoder/blob/master/README-Cn.md
直播连麦方案设计–混流设计
https://github.com/xialixin/srs_code_note/blob/master/doc/live_talk.md
srs 连麦
https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#room-to-live
FFmpeg混流:将两个视频放在一个画布并以rtmp流输出
https://blog.csdn.net/to10086/article/details/107446445
FFdynamic 封装了FFmpeg的底层音视频处理,提供一个将音视频不同组件进行组合的框架,以及在程序运行时可以动态的改变各组件状态的模块。
https://github.com/Xingtao/FFdynamic
移动端推流/拉流RTMP
-
iOS端-rtmp推流 LMLiveStreaming
H264,AAC硬编,GPUImage美颜,rtmp/flv传输,平滑丢帧,动态码率
https://github.com/chenliming777/LMLiveStreaming -
iOS端-拉流 ijkplayer
基于ffmpeg,支持硬解
https://github.com/bilibili/ijkplayer -
android端-rtmp推流 yasea
H264,AAC硬编,rtmp传输, Portrait/landscape切换,前后摄像头切换,支持MP4转码录制
https://github.com/begeekmyfriend/yasea -
android端-拉流 ijkplayer
基于ffmpeg,支持硬解
https://github.com/bilibili/ijkplayer -
RTMP 跨平台推流器/秒开播放器
RTMP 推流器,RTMP(HLS)秒开播放器,跨平台(Win,IOS,Android)开源代码
https://github.com/anyrtcIO-Community/anyRTC-RTMP-OpenSource
很久未维护,安卓新NDK编译有点问题…
音视频相关方案
这里只列出我了解到的部分,无任何商业合作。
-
starrtc 服务端、WEB、移动端等全平台支持
https://github.com/starrtc/starrtc-android-demo
https://docs.starrtc.com/zh-cn/download/index.html
当前(2021年10月14日)无法联系上开发者定制服务 -
Gitee上
IM
方案开源列表
https://gitee.com/explore/im
野火IM https://gitee.com/wfchat -
Gitee上
多媒体
方案开源列表
https://gitee.com/explore/multimedia -
即时通讯(CROSS-IM)–半成品,一年未维护更新
https://github.com/crossoverJie/cim
CIM(CROSS-IM) 一款面向开发者的 IM(即时通讯)系统 -
声网 视频会议解决方案
https://www.agora.io/cn/enterprise-collaboration -
即时通讯(IM)–MobileIMSDK–JackJiang2011
https://github.com/JackJiang2011/MobileIMSDK
H5 客户端 https://item.taobao.com/item.htm?id=653944004776 -
视沃科技-大牛直播SDK
https://daniusdk.com
https://github.com/daniulive/SmarterStreaming
SourceCode/AndroidStudio授权说明 -
EasyPlayer 青犀视频
http://www.easygbs.com/ 国标GBT28181服务
http://www.easyrtc.cn/ 视频通话系统服务
https://github.com/tsingsee/EasyPlayer.js 支持HTTP、RTMP、HTTP-FLV、HLS(m3u8)直播与点播等多种协议
https://github.com/tsingsee/EasyPlayerPro-Android -
七牛 互动直播解决方案
https://www.qiniu.com/solutions/rtclive
七牛 IM https://developer.qiniu.com/IM 需要连接到七牛云鉴权 -
大牛直播SDK – 上海视沃信息科技有限公司
https://github.com/daniulive/SmarterStreaming -
青柿视频 LiveGBS(GB28181流媒体) LiveQing(RTMP直播点播流媒体 LiveNVR(Onvif/RTSP监控流媒体)
https://www.liveqing.com/
NDK OpenGL ES 3.0 开发
Android OpenGLES 3.0 开发系统性学习教程
https://github.com/githubhaohao/NDK_OpenGLES_3_0
Android FFmpeg 音视频开发系列连载
https://github.com/githubhaohao/LearnFFmpeg
使用 OpenGL ES 3.0 实现 30 种相机滤镜和特效,支持相机预览和拍照,左右滑动切换滤镜
https://github.com/githubhaohao/OpenGLCamera2
相关文章
- Android OpenGL添加水印并录制视频–抖音视频录制原理
https://blog.csdn.net/CSqingchen/article/details/105492716 - 音视频开发入门之极简基础知识笔记
https://blog.csdn.net/sinat_23092639/article/details/89391147 - 像花椒,映客,来疯这种直播app,技术实现难度在哪?需要什么样技术人才,还有就是服务器带宽要求及成本?
https://www.zhihu.com/question/41868659 - 如何搭建一个完整的视频直播系统?
https://www.zhihu.com/question/42162310
本文来自博客园,作者:清霜辰,转载请注明原文链接:https://www.cnblogs.com/cnjim/p/18443481
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 【.NET】调用本地 Deepseek 模型