It's great to see that rtpengine now supports transcoding. I always watched rtpproxy (for so many years) to see when it might happen.
I have some questions. I could not find on ffmpeg.org specific mention of:
-advanced audio jitter buffer capability -advanced RTP related RFCs, eg. RFC 8108 -advanced codec capability, eg. G711 Appendix II (DTX and CNG)
In particular, it's not clear to me where jitter buffer and RTP RFCs are handled -- inside rtpgengine or ffmpeg. I don't see any mention of jitter buffer on the rtpengine web and github pages. In general ffmpeg's focus is on content delivery and not bidirectional real-time communication. My questions:
1) Is there an rtpengine-ffmpeg software architecture or data flow diagram available ?
2) Is it possible to connect libraries besides ffmpeg to the "other side" of rtpengine ? For example, using the rtpengine interface, send and receive a UDP/RTP packet stream to/from a third-party library and let it handle jitter buffer, encoding/decoding, ptime mismatch (transrating), and more ?
3) If architecturally that's a do-able thing, is there a spec on how rtpengine is currently interfacing to ffmpeg ? Which APIs are being used ? (I assume the command line interface is not being used). Re. ffmpeg APIs I found this:
but maybe there is something more recent or rtpengine source code we can look at.
Thanks.
-Jeff