Difference between revisions of "Improve RTSP/RTP layer"

From MultimediaWiki
Jump to navigation Jump to search
 
(16 intermediate revisions by 2 users not shown)
Line 4: Line 4:
** Add support for more widespread formats ([list will follow check gst live555 and feng])
** Add support for more widespread formats ([list will follow check gst live555 and feng])
*** X-Qt/quicktime depacketizer (see [http://www.gnome.org/~rbultje/ffmpeg-patchset/ X-QT patch])
*** X-Qt/quicktime depacketizer (see [http://www.gnome.org/~rbultje/ffmpeg-patchset/ X-QT patch])
**** Not implemented during GSoC, the old patch polished up and committed by Martin
*** SVQ3 [http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-July/073511.html] and QDM2 [http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-August/073826.html] depacketizers
*** SVQ3 [http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-July/073511.html] and QDM2 [http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-August/073826.html] depacketizers
****<font color="#00CC00">Committed</font>
*** VP8 (see https://groups.google.com/a/webmproject.org/group/webm-discuss/browse_thread/thread/550f946b0e22ead2# )
*** VP8 (see https://groups.google.com/a/webmproject.org/group/webm-discuss/browse_thread/thread/550f946b0e22ead2# )
**** <font color="#00CC00">Committed</font>
** support Quicktime http tunnel mode
** support Quicktime http tunnel mode
*** <font color="#00CC00">Initial implementation done and committed</font>, not supported in the RTSP muxer yet, missing handling of the x-server-ip-address header
*** <font color="#00CC00">Initial implementation done and committed</font>, not supported in the RTSP muxer yet, missing handling of the x-server-ip-address header
Line 11: Line 14:
*** <font color="#00CC00">Committed</font>
*** <font color="#00CC00">Committed</font>
** 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
** 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
***<font color="#00cc00">Patches committed for H.264 and MPEG-4/AAC</font>, <font color="#FFFF00">patches for Xiph and AMR submitted but pending adjustments</font>
***<font color="#00cc00">Committed</font>
** add RTP packetizers for codecs that we already have depacketizers for (Theora, Vorbis, any other?)
** 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)
*** <font color="#00CC00">Xiph and VP8 packetizers committed</font>
** Real RTSP-HTTP, with port knocking
** support RTCP/Bye as end-of-file (see [[Small_FFmpeg_Tasks#Make_the_rtp_demuxer_support_rtcp_BYE_packets|small task]])
** support RTCP/Bye as end-of-file (see [[Small_FFmpeg_Tasks#Make_the_rtp_demuxer_support_rtcp_BYE_packets|small task]])
*** <font color="#00cc00">Committed</font>
* Secondary goal: improve application integration
* Secondary goal: improve application integration
** Provide an API to expose the rtcp layer (and the equivalent in RDT dialect)
** Provide an API to expose the rtcp layer (and the equivalent in RDT dialect)
Line 21: Line 27:
** Implement protocol variations (e.g. DCCP or improve SCTP)
** 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.
** 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
*** <font color="#00CC00">Committed</font>


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

Latest revision as of 14:34, 6 October 2010

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