Is it possible to do Flash pseudo streaming with S3?
Asked Answered
D

3

6

I've been using S3 to store and serve FLV and MP4 videos. It works great, but the content is progressively downloaded. I was wondering if it is possible to get so-called "pseudo streaming" to work with S3.

Pseudo streaming allows viewers to seek ahead in a video before the full video has downloaded as well as send only the bits necessary to the Flash player.

I'm aware of Lighttp's pseudo streaming plugin, and I know I can use keyframed FLV files with an XMOOV script - but I'd like to setup this up with S3, as opposed to running my own server.

Any help is appreciated.

Dump answered 9/10, 2009 at 0:3 Comment(0)
A
11

No.

No, you can't do pseudo-streaming with S3. This is because of a couple of reasons:

  • S3 does not allow you to managed the bit rate of the download in any way
  • S3 does not allow you to place any logic in front of the file. This means:
    • no seeking into the middle of the file
    • no MOOV atom magic--if it is not at the front of the file, then the entire file will be downloaded before playback.

What you can do is this (and I have done something similar myself for a project):

  • Run an EC2 instance with lightty & mod_h264_streaming for seeking requests. You may even want to host your application/site on EC2 in this case.
  • have a copy of the file local to your instance
  • have a copy of the file on S3 for delivery from byte 0 (as I'd guess the majority of your requests would be.
  • Move the MOOV atom on file upload. This is not so difficult to do programatically.

EC2 bandwidth charges are the same as S3, but the total EC2 instance bandwidth is limited (100-250mpbs?), while S3 is effectively unlimited.

Amundsen answered 1/11, 2009 at 19:0 Comment(1)
+1 for 'have a copy of the file on S3/Cloudfront for delivery from byte 0' - an important stepSmallman
H
0

I recently used Wowza on an EC2 instance, it's super easy to setup and works great for providing real streaming ...

It seems like pseudo-streaming is not straight forward on S3 : (https://developer.amazonwebservices.com/connect/message.jspa?messageID=77737).

Hannover answered 9/10, 2009 at 1:5 Comment(0)
F
0

Yes, the answer is it's possible only through EC2, as described. That sucks because it requires more work, more expense, and more moving parts to manage.

This could be solved if S3 allowed a byte offset url parameter. Of course it would be up to the dev to ensure the MOOV atom is at the front of the file, which ain't hard. After that Flash could handle the rest. This has been requested to the S3 team before but apparently it's not a priority.

See https://forums.aws.amazon.com/thread.jspa?messageID=213571𴉃

Bummer. The way to get it is to hop on that forum and voice your desire for this feature. AWS does listen to its customers (I hope even the little ones!).

Fideliafidelio answered 4/3, 2011 at 16:48 Comment(1)
What about cloudfront? aws.amazon.com/cloudfront/#functionality Does it support pseudostreaming?Slovene

© 2022 - 2024 — McMap. All rights reserved.