如何识别不同视频流和音频流的rtmp包

Posted

技术标签:

【中文标题】如何识别不同视频流和音频流的rtmp包【英文标题】:how to identify rtmp packets of different video streams and audio streams 【发布时间】:2016-11-15 11:49:10 【问题描述】:

RTMP 规范说 - 不同视频和音频的数据包可以多路复用并通过单个连接发送。我想知道我们如何区分两个RTMP数据包,以便知道该数据包对应于哪个视频??例如。假设我们正在从我们的服务器发送两个视频,即 - Video1 和 Video2 。 1.现在,如果两个视频的数据包都来自流,我们如何知道数据包属于 Video1 还是 Video2 ?

    现在,如果数据包类型是 3,那么必须参考谁? Video1流0型包的引用还是Video2流0型包的引用?

我要确定的第一件事是 - 两个视频是否会有两个不同的连接(来自客户端的参考)??

如果是,那么我不能使用如此获得的数据包的端口号来识别数据包属于哪个视频吗?我想对了吗??

【问题讨论】:

【参考方案1】:

RTMP 连接仅设置 1 次(1935 端口)。您可以通过 message_stream_id 的数量来区分视频流。每个 message_stream_id 由可以组装成消息的块组成。每个块都与一些 message_stream_id 相关联。

【讨论】:

以上是关于如何识别不同视频流和音频流的rtmp包的主要内容,如果未能解决你的问题,请参考以下文章

如何将 ffmpeg 流中的音频传输到 nginx rtmp 服务器?

音频和视频流最佳选择?SRT 协议解析及报文识别

流媒体传输协议之 RTMP

从wireshark抓包分析rtmp协议,并提取出H264视频流

如何播放 RTMP 流中的音频?

Android基于RTMP视频流的人脸识别(下篇)