Android 音视频流媒体相关知识导航

本文全面介绍了音视频流媒体领域的关键技术,涵盖RTP、RTCP、RTSP、SRT等协议,H264编码参数设置,Zookeeper集群管理,ffmpeg应用,SRS直播服务器,以及SRT、WebRTC的最新进展。同时,提供了移动端推流/拉流的实践案例和直播连麦混流设计思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android 音视频流媒体相关知识导航

本文首发地址 https://blog.youkuaiyun.com/CSqingchen/article/details/106717995
最新更新地址 https://gitee.com/chenjim/chenjimblog

相关博客专栏


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.youkuaiyun.com/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 相关


SRS(Simple RTMP Server)

Github 地址 https://github.com/ossrs/srs


SRT 相关

srs 支持 srt 流 https://github.com/ossrs/srs/issues/1147

Larix SDK 支持 SRT 推流,Android SDK of Larix Broadcaster costs 300 USD per month

七牛 Android 推流SDKPLDroidMediaStreaming , 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.youkuaiyun.com/to10086/article/details/107446445

FFdynamic 封装了FFmpeg的底层音视频处理,提供一个将音视频不同组件进行组合的框架,以及在程序运行时可以动态的改变各组件状态的模块。
https://github.com/Xingtao/FFdynamic


移动端推流/拉流RTMP


音视频相关方案

这里只列出我了解到的部分,无任何商业合作。


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



相关文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清霜辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值