Как передать несколько параметров RTP в ffmpeg?

Создаю свой собственный RTSP-сервер для FFMPEG, поэтому я запускаю ffmpeg как дочерний процесс.

Проблема, с которой я сейчас сталкиваюсь, заключается в том, что я добавляю поддержку многоадресной рассылки, и клиент RTSP может добавить ttl к транспортной линии RTSP. Пока нет проблем, так как ffmpeg поддерживает это. Но как именно мне его пройти? Документированный формат URL-адреса

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

Это не то определение, которое вам следует писать, если вы хотите сдать класс Comp.Sci. Многоточие предполагает, что вы можете передать более одного параметра, но не как. А мне нужно не только ttl=, но и localrtpport=.

Я полагаю, что мог бы следовать соглашениям HTTP и предположить, что они предназначались [?option=val[&option=val]*], но я не могу найти авторитетный источник для этого.

Задал вопрос в другом месте, но и там не ответил.


person MSalters    schedule 06.11.2017    source источник
comment
Я бы хотя бы попробовал ?option=val&option2=val2 Это легко попробовать, и если это сработает, ответьте на этот вопрос и дайте нам всем знать   -  person Sam Hartman    schedule 06.11.2017


Ответы (1)


Я сжульничал и посмотрел на источник.

rtp_open вызывает av_find_info_tag, который задокументирован для анализа ?tag1=val1&tag2=val2....

И чтобы ответить на очевидные дополнительные вопросы, я также проверил источник на наличие av_find_info_tag. Количество передаваемых аргументов не ограничено, они должны быть разделены &, и (детали реализации) используется только первое вхождение параметра. Неподдерживаемые параметры молча игнорируются.

person MSalters    schedule 06.11.2017