YD8877
YD8877

Reputation: 10790

Is it advisable to use FFMpeg on my local server for video conversion?

We are starting a video sharing website where users will be able to upload videos in their native formats. However, since video streaming on the web generally is in the FLV format, we need to convert the videos to FLV.

Also, the site will be hosted on Amazon EC2 and storage using S3.

Can i run FFMpeg on amazon EC2 ? Is this the best way to go ? Are there other alternatives to video encoding rather than doing conversion on our own server ? I also came across www.transloadit.com which seems to do the same but they are charging a bomb. Are there cheaper and more intelligent alternatives ?

We are planning to make this website as one of top 10 biggest niche video streaming websites on the internet.

Upvotes: 0

Views: 3058

Answers (3)

Skyler Johnson
Skyler Johnson

Reputation: 3873

I'm going to talk about a slightly different part of your comment. You said:

However, since video streaming on the web generally is in the FLV format...

This is false. You'll get far more portability and bang for your buck if you encode in MPEG-4/H.264.

Flash Player can playback H.264 content, so you can still use a Flash-based player for your website if you want to. However, if you ever decide to open up to mobile devices (iPhone, iPad, Android, webOS, Blackberry 6), HTML5-compatible web browsers (Safari, Chrome, Firefox, Opera, IE9), or pretty much anything newer than 5 years ago, H.264 is definitely the way to go.

The site for Miro Video Converter even documents the FFmpeg setting they use, which may save you some time.

Upvotes: 3

Geoff Appleford
Geoff Appleford

Reputation: 18832

EC2 instances are just virtual machines so you can do whatever you like on them, including running ffmpeg.

Only you can work out the costs/benefits of doing the conversion on EC2, another server or an encoding service like encoding.com(a google search will turn up more services).

Some thoughts:

EC2

  • pay by the hour and can easily add new servers (although you need to design your process to support multiple servers)
  • Fast (and free) transfer between EC2 and S3

Your own servers

  • You pay for hardware upfront
  • Not as easy to scale quickly if needed
  • You need to maintain the hardware
  • Bandwidth charges between EC2/S3 and your servers

In both DIY solutions you need to deal with the notoriously error prone process and converting videos of different formats.

Video Encoding Service

  • Probably more expensive (debatable if you factor in development time and support costs)
  • Easiest way to scale quickly
  • Up and running quickly
  • Let them deal with the difficult conversions

Upvotes: 3

khedoros
khedoros

Reputation: 46

Converting video is a relatively processor-intensive process. Amazon charges for CPU time, and they also charge for data transfer. So it's more of a business tradeoff. Can EC2 run ffmpeg and do the video conversion? Yes, it can. But is it more cost-effective to pay for the CPU time on the EC2 instance or to convert on a local server and then transfer the data to the EC2? I don't know. The answer depends on the sizes of videos that you're working with, the cost of connectivity on your local server, and the pricing scheme on your EC2 virtual server instance.

Upvotes: 1

Related Questions