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

From VideoLAN Wiki
Jump to navigation Jump to search
Line 18: Line 18:
 
* RTMP input works half of the time.
 
* 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 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.
 
* 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.

Revision as of 09:42, 11 May 2009

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

RTMP Flash Streaming

Abstract

(Draft) VLC is a wonderful media player and streaming server. Adobe is about to publish the RTMP protocol spec in the first half of this year, so I think it's about time to add and improve flash streaming function in VLC.

Detail

(TODO)

timeline

Before May 23:

  1. 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.
  • 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 straming (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 workflow (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 packeted flv video to flashplayer (Base on the existed soure code and this doc: http://osflash.org/flv)
    • Pause/Seek/Resume support


August 10 - August 25:

  • code review and testing. Fix bugs if necessary.


September 3 - September 9:

  • Submitting required code samples to Google