11

I want to start a cloud computing project with the simple task to:

  1. Receive uploaded video files
  2. Do some transcoding / converting to them
  3. Allow user to download / stream the generated file

I was thinking ffmpeg as an external command line tool integrated in a Java/Google App engine Application. Since it was fairly hard to be assured about the limitations of the framework, can someone tell me if this is feasible?

Thank you in advance!

user427969
  • 3,836
  • 6
  • 50
  • 75
Vasilis
  • 107
  • 1
  • 4
  • What kind of transcoding do you need to implement? – Lefteris Laskaridis Oct 21 '12 at 16:20
  • Change the bitrate, resolution and encoding – Vasilis Oct 21 '12 at 18:31
  • 1
    any update on this? Did you have any success with using Google Compute Engine? – clifgray Jul 22 '13 at 06:21
  • 1
    Google Compute Engine would do it cause you can set up a virual machine and istall ffmpeg as a library to do the transcoding but unfortunately it costs to get an account. I had to do it outside of a cloud and just coded a simple transcoding service from scratch using servlets and ffmpeg installed with a tomcat on linux. – Vasilis Jul 23 '13 at 21:04

2 Answers2

3

You have to offload ffmpeg to an external server, like Amazon EC2 or Google Compute Engine.

At Google I/O this year, Google actually demonstrated the exact same project you want to make in a presentation titled Managing Google Compute Engine Virtual Machines Through Google App Engine, albeit in Python.

Some code is already in the slides, but as mentioned during the presentation, Google wanted to make the source files for the project available. I don't know if they have done so yet. You could probably email the authors and ask.

0

This will not simply work. There are timeout restrictions in Google App Engine and also Google Cloud Functions. The only practical way to achieve this is to use Google App Engine Flex with unlimited timeout values.

london_utku
  • 1,070
  • 2
  • 16
  • 36