如何将多个 RTP 选项传递给 ffmpeg?

How to pass multiple RTP options to ffmpeg?

为 FFMPEG 构建我自己的 RTSP 服务器,所以我将 ffmpeg 作为子进程执行。

我目前遇到的问题是我正在添加多播支持,而 RTSP 客户端可能会将 ttl 添加到 RTSP 传输线路。到目前为止没问题,因为 ffmpeg 支持它。但我究竟该如何通过呢?记录的 URL 格式是

 rtp://hostname[:port][?option=val...]

如果你想传递 Comp.Sci class,那不是你应该写的那种定义。省略号表示您可以传递多个参数,但不能传递 how。我不仅需要 ttl=,还需要 localrtpport=

我想我可以遵循 HTTP 约定并假设他们打算 [?option=val[&option=val]*] 但我找不到权威来源。

已询问 elsewhere 但也未得到答复。

我作弊看了源码

rtp_open calls av_find_info_tag 记录为解析 ?tag1=val1&tag2=val2...

为了回答明显的后续问题,我还检查了 av_find_info_tag 的来源。可以传递的参数数量没有限制,它们必须用 & 分隔,并且(实现细节)仅使用第一次出现的参数。不支持的参数将被忽略。