Improve RTSP/RTP layer

From MultimediaWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Roadmap/checklist for Josh Allmann's Summer of Code Project:

  • Primary goal: improve the receiver compatibility
    • Add support for more widespread formats ([list will follow check gst live555 and feng])
    • support Quicktime http tunnel mode
      • Initial implementation done and committed, not supported in the RTSP muxer yet, missing handling of the x-server-ip-address header
    • untangle the AAC and mpeg4 format specific code from rtsp.c, make them proper dynamic payload handlers
      • Committed
    • factorize out common code for parsing SDP (fmtp) lines, that is duplicated in parse_h264_sdp_line, amr_parse_sdp_line and xiph_parse_sdp_line
      • Committed
    • add RTP packetizers for codecs that we already have depacketizers for (Theora, Vorbis, SVQ3, QDM2, any other? - VP8, in parallel with the depacketizer for that)
      • Xiph and VP8 packetizers committed
    • Real RTSP-HTTP, with port knocking
    • support RTCP/Bye as end-of-file (see small task)
      • Committed
  • Secondary goal: improve application integration
    • Provide an API to expose the rtcp layer (and the equivalent in RDT dialect)
    • Try to support subtitle streams (either as rtcp-xr or application/text stream)
    • Make VideoLanClient, MPlayer or Xine use FFmpeg RTSP
      • Patch submitted to VLC, awaiting review
    • Implement protocol variations (e.g. DCCP or improve SCTP)
    • Untangle MPEG2-TS/RTP from rtpdec into a dynamic payload handler. Write a packetizer first, unless we find such a server to test against.
    • Reduce ffrtsp startup time
    • Small Xiph RTP optimization: avoid the extra memcpy to packet; instead, hook av_init_packet up to url_close_dyn_buf
      • Committed

Mentor: Luca Barbato, Martin Storsjö, Ronald S. Bultje