Is it possible to do Flash pseudo streaming with S3?

安稳与你 提交于 2019-12-09 12:38:47

问题


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.


回答1:


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.




回答2:


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).




回答3:


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!).



来源:https://stackoverflow.com/questions/1541211/is-it-possible-to-do-flash-pseudo-streaming-with-s3

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!