[FFmpeg-devel] [PATCH] RTMP client support for lavf

Kostya kostya.shishkov
Fri Jul 17 17:38:46 CEST 2009


$subj

For those who have not read Adobe RTMP spec (like me):
 RTMP works over TCP (HTTP tunneling and encrypted version are possible
too), sending AMF requests and getting AMF responses. Video and audio
data may be sent in a single packets or as a bunch of FLV packets at
once.

I could implement it in several ways, but I prefer to make it as a
protocol handler faking FLV file:
* We need protocol handler anyway - either native one or hacked TCP one
  which is unclean IMO;
* Because of probing we should either return no data on first read in
  protocol handler or fake some data. This makes either decoder or proto
  handler almost unused.
* RTMP demuxer must handle the same data as FLV demuxer does, so some
  work should be passed to it. In case of demuxer we must use
  ByteIOContext and somehow fake FLV demuxer context.

So I've tried dummy RTMP proto + RTMP demuxer + FLV demuxer hack and
found it rather unclean, so current version fakes whole FLV in protocol
handler.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rtmp.patch
Type: text/x-diff
Size: 39847 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090717/a3a53c54/attachment.patch>



More information about the ffmpeg-devel mailing list