Я пытаюсь создать RtpEndpoint и построить конвейер gstreamer с помощью gst-launch-1.0 на выходном потоке RTP.
Я совершенно новичок в мире средств массовой информации и не совсем уверен, как следовать протоколу согласования RTP между конечной точкой и утилитой gst-launch-1.0.
Следующая часть отлично работает
RtpEndpoint rtpEndpoint1 = new RtpEndpoint.Builder(pipeline).build();
RtpEndpoint rtpEndpoint2 = new RtpEndpoint.Builder(pipeline).build();
String offer1 = rtpEndpoint1.generateOffer();
String offer2 = rtpEndpoint2.processOffer(offer1);
String offer3 = rtpEndpoint1.processAnswer(offer2);
playerEndpoint.connect(rtpEndpoint1);
@Override
public MediaElement getMediaElement() {
return rtpEndpoint2;
}
Но я понятия не имею, как обрабатывать offer1 от имени утилиты. Я пытался заменить имя хоста и порты во втором предложении2, полученном для моего общедоступного IP-адреса, а внутренние порты прослушиваются по указанному ниже конвейеру, но, похоже, он не работает
gst-launch-1.0 -v \
udpsrc port=51764 caps="application/x-rtp" ! queue ! rtph264depay ! h264parse ! mpegtsmux name=mymux ! hlssink max-files=5 playlist-location=/hls/test/playlist.m3u8 location=/hls/test/segment%05d.ts target-duration=10 \
udpsrc port=52510 caps="application/x-rtp" ! queue ! rtpmp4gdepay ! mymux.
Любая помощь будет очень ценится