Difference between revisions of "SoC 2009/RTMP Flash Streaming"

From VideoLAN Wiki
Jump to navigation Jump to search
Line 18: Line 18:
 
** Fix bug and improve AMF/RTMP message decoder and encoder (I already found it will segment fault in function rtmp_handler_invoke() of modules/access/rtmp/rtmp_amf_flv.c). The source code of gnash project can be referenced to.
 
** Fix bug and improve AMF/RTMP message decoder and encoder (I already found it will segment fault in function rtmp_handler_invoke() of modules/access/rtmp/rtmp_amf_flv.c). The source code of gnash project can be referenced to.
 
** Fix other bugs in RTMP input.
 
** Fix other bugs in RTMP input.
 +
** Pause/Seek/Resume support (Input).
 +
 
* VLC can stream FLV over HTTP.
 
* VLC can stream FLV over HTTP.
 
** FLV Encapsulation over HTTP is not work.
 
** FLV Encapsulation over HTTP is not work.
Line 32: Line 34:
 
** Make RTMP access output module successfully handshake with flashplayer.
 
** Make RTMP access output module successfully handshake with flashplayer.
 
** After flashplayer can successfully handshake and invoke connect -> createStream -> play  with our RTMP access output module, make sure sending the right packed flv video to flashplayer (Base on the existed source code and this doc: http://osflash.org/flv)
 
** After flashplayer can successfully handshake and invoke connect -> createStream -> play  with our RTMP access output module, make sure sending the right packed flv video to flashplayer (Base on the existed source code and this doc: http://osflash.org/flv)
** Pause/Seek/Resume support
+
** Pause/Seek/Resume support (output)
  
  

Revision as of 18:20, 12 May 2009

This project is part of Google Summer of Code 2009.
Student: zhigang wang
Mentor: Remi Denis-Courmont

RTMP Flash Streaming

Abstract

This project is about to implement the RTMP Flash Streaming function for VLC media player. It includes RTMP input and output functions (Fix bugs in RTMP input module and total rewrite the RTMP output module). when Adobe is about to publish the RTMP protocol spec in the first half of this year, It's the time to do this job.

Detail

(TODO)

timeline

Before May 23:

  • Read more RTMP protocal documents.


May 23 - July 5:

  • RTMP input works half of the time.
    • Fix bug and improve AMF/RTMP message decoder and encoder (I already found it will segment fault in function rtmp_handler_invoke() of modules/access/rtmp/rtmp_amf_flv.c). The source code of gnash project can be referenced to.
    • Fix other bugs in RTMP input.
    • Pause/Seek/Resume support (Input).
  • VLC can stream FLV over HTTP.
    • FLV Encapsulation over HTTP is not work.
    • MPEG-TS Encapsulation over HTTP with FLV file, the Video can not streaming(Audio Only)


July 6 - July 13:

  • Mid-term evaluations, Review the function I had implement, and fix the bug which had found.


July 14 - August 9:

  • Possibly rewrite from scratch RTMP output (never worked).
    • Totally rewrite the RTMP access output module work flow (Reference to the existed HTTP access output module implement), make the RTMP access output module can listen and handle concurrent requests.
    • Make RTMP access output module successfully handshake with flashplayer.
    • After flashplayer can successfully handshake and invoke connect -> createStream -> play with our RTMP access output module, make sure sending the right packed flv video to flashplayer (Base on the existed source code and this doc: http://osflash.org/flv)
    • Pause/Seek/Resume support (output)


August 10 - August 25:

  • code review and testing. Fix bugs if necessary.


September 3 - September 9:

  • Submitting required code samples to Google