vokal / vip

Vokal Image Proxy is a lightweight image proxy designed for easy resizing and caching of images for mobile applications.
MIT License
2 stars 7 forks source link

extend to video and audio using Elastic Transcoder, call it Vokal Media Proxy? #72

Open foresmac opened 9 years ago

foresmac commented 9 years ago

Just an idea. Not sure if this is the right solution, but wanted to get thoughts about extending this to support either generic uploads or at least common media types and support building preview images for these file types. It would be a lot of development, but might be useful if done by extending the existing architecture.

Alternatively, maybe a solution is building something off of vip into VMP, and they could be separate installable options. Just kicking around ideas and posting this here if it seems useful across multiple projects.

scottferg commented 9 years ago

What would Vmp outputs be if I upload swap.avi?

Serious question but bonus points for anybody brave enough to google that.

@nimzor

foresmac commented 9 years ago

How about a discussion if the relative merits of swap.avi on a bodybuilding forum? @nimzor

scottferg commented 9 years ago

How fast does the service work?

foresmac commented 9 years ago

http://forum.bodybuilding.com/showthread.php?t=5394243

foresmac commented 9 years ago

I haven't had a chance to test that out, but it would probably involve some kind of asynchronous calls for audio and video.

foresmac commented 9 years ago

It can also do HTTP Live Streaming, which I think Android supports, which needs just enough time to encode the first chunk I think before it could return a link to a manifest file. I'd have to re familiarize myself with the details of that format to be sure.

scottferg commented 9 years ago

I'm game for exploring it but we should understand more about the service before committing. On Jan 19, 2015 4:54 PM, "Chris Foresman" notifications@github.com wrote:

I haven't had a chance to test that out, but it would probably involve some kind of asynchronous calls for audio and video.

— Reply to this email directly or view it on GitHub https://github.com/vokal/vip/issues/72#issuecomment-70575675.

scottferg commented 9 years ago

That's what I had in mind. If it provides a fast transcoder then it's a perfect match. Does it do things like webm? On Jan 19, 2015 4:57 PM, "Chris Foresman" notifications@github.com wrote:

It can also do HTTP Live Streaming, which I think Android supports, which needs

Just enough time to encode the first chunk I think before it could return a link to a manifest file. I'd have to re familiarize myself with the details of that format to be sure.

— Reply to this email directly or view it on GitHub https://github.com/vokal/vip/issues/72#issuecomment-70575936.

foresmac commented 9 years ago

Ok, I'll leave this open as a starting point for brainstorming. Like I said, I'd imagine it would be useful for other projects at some point.

Maybe a smarter idea is to build support per file format as pluggable, with preview image retrieval basically as is. Then you could launch it with a yaml or JSON file to list the file types you want the current install to support, and new ones can be added as needed.

foresmac commented 9 years ago

I'll check on WebM support.

scottferg commented 9 years ago

Right now I'm thinking (in the spirit of doing one thing well) vmp is a separate service but yeah let's leave discussion open here until we decide to tackle it. Amazon's service may provide enough to not merit needing a proxy.

foresmac commented 9 years ago

Formats: Amazon Elastic Transcoder supports transcoding to the following output formats: MP4 container with H.264 video and AAC or MP3 audio WebM container with VP8 video and Vorbis audio HLS using an MPEG-2 TS container to house H.264 video and AAC or MP3 audio Smooth Streaming using an fmp4 container to house H.264 video and AAC audio MP3 container with MP3 audio MP4 container with AAC audio OGG container with Vorbis audio

foresmac commented 9 years ago

It can transcode any song file into 30 different formats, so we can specify what files it generates and then selectively serve the appropriate file. It also integrates with S3 and CloudFront pretty easily. It generates thumbs for video.

foresmac commented 9 years ago

s/song/video

scottferg commented 9 years ago

Alright, good info. I say we hit pause on this idea until you've experimented further. Vip is a lot of things (groupcache, resizing, an HTTP server, etc) that aren't available in AWS. We should build out Vmp if Amazon's server creates a need for it, not just because we want to. Once we know more about how Elastic Transcoder works we can decide if a proxy in the same vein as Vip is necessary.

On Mon, Jan 19, 2015 at 5:17 PM, Chris Foresman notifications@github.com wrote:

s/song/video

— Reply to this email directly or view it on GitHub https://github.com/vokal/vip/issues/72#issuecomment-70578128.

Scott Ferguson Director of Systems and Web Engineering VOKAL INTERACTIVE

m: +1.312.324.0829 e: scott.ferguson@vokalinteractive.com scott.ferguson@vokalinteractive.com sn: http://gplus.to/scottferguson