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

From VideoLAN Wiki
Jump to navigation Jump to search
(New page: {{SoCProject|year=2009|student=zhigang wang|mentor=Remi Denis-Courmont}} =RTMP Flash Streaming= ==Abstract== (Draft) VLC is a wonderful media player and streaming server...)
 
Line 11: Line 11:
  
 
==timeline==
 
==timeline==
(Draft)
+
'''Before May 23:'''
0. Read more RTMP protocal documents.
+
# Read more RTMP protocal documents.
1. RTMP input works half of the time.
 
  
Segment fault when decode the Invoke package of connect reply.
+
'''May 23 - July 5:'''
"NetConnection.Connect.Success"
+
* 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.
 +
* 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)
  
2. VLC can stream FLV over HTTP.
+
'''July 6 - July 13:'''
2.1 FLV Encapsulation over HTTP is not work.
+
* Mid-term evaluations, Review the function I had implement, and fix the bug which had found.
2.2 MPEG-TS Encapsulation over HTTP with FLV file, the Video can not straming (Audio Only)
 
  
3. Possibly rewrite from scratch RTMP output (never worked).
+
'''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

Revision as of 09:35, 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.
  • 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