An automated and rock-solid encoding engine solution for your youtube-like site.

It was some days ago when i was contacted by one of the visitors of this blog in order to create a “black box” solution to solve the video encoding part of a video sharing website similar to youtube.com.

As you maybe know, i have posted some months ago a really basic script to automate some of the tasks, but, what about integration with your actual website framework ? what about queue management, what about multi-server encoding environment ?

Those are all the usual questions when a potential customer calls, so i spent some days developing a complete black-box solution for this issue, using all open-source software, with the following features.

  • Fully automatic video encoding queue management.
  • Support for 1 to n encoding nodes with fully automatic transaction control (still in beta-testing).
  • Support for the following video formats: Windows Media, Quicktime, DV, Avid DV, DivX, xVid and almost any imaginable format (any format supported by mplayer is actually 100% supported)
  • Support for HE-AAC audio (Stereo near-CD quality sound at 48kbps).
  • Fully automatic thumbnail generation in 3 different positions of the video stream, supported output formats are JPG, PNG and GIF.
  • Fully automatic metadata injection, including all the popular “iTunes like” tags.
  • Fully automatic iPod Touch / iPhone compatible stream generation.
  • Support for more than 1 output format (managed from a presets file).
  • Fully automatic Pixel and Display aspect ratio correction for proper video resizing and scaling.
  • Possibility to select how many CPU cores to use for the encoding process (only on multicore cpu’s)

There are a several more features that I’m still developing. If you are interested and you want more details, you can contact me at: diego (at sign here) massanti.com. I don’t bite ;)


7 Responses to “An automated and rock-solid encoding engine solution for your youtube-like site.”

  1. Hi Diego,

    As you know I’m busy with videos, some programs do have an build in converter for mp4 or YouTube format, one doesn’t have that. In my opinion is Quicktime Pro no option to convert to a mp4 file, so I use often or VisualHub or ViddyUp, but sometimes they convert it not good, transitions looks like a little earth quack. How can I solve this problem?

    by Truus, August 6th, 2008 at 10:27 am


  2. If you are having problems with transitions not looking “smooth”, etc, most probably it is because you are not properly de-interlacing the source video or because you are doing a bad quality frame rate conversion…. there are other factors too to be honest but those 2 are the most common ones.
    As you maybe know by now, I’m a huge fan of mplayer / mencoder / FFMPEG & x264, mainly because of the GREAT community behind them, and because I happen to like open source projects. I won’t recommend any other tool for video encoding / transcoding or manipulation. That is of course a matter of tastes.

    by Diego Massanti, August 6th, 2008 at 12:25 pm


  3. Will you please to be so kind to tell me which frame rate conversion I have to use, because I see for example by Quicktime the wood not more, because of the trees :-) Maybe you can give me any suggestion. I’m not that geek as you are.

    by Truus, August 6th, 2008 at 1:39 pm


  4. There is not such thing as a correct “frame rate conversion” or some magical recipe, i think you are not understanding what i mean.
    What i was trying to explaining you is about video in general, not about any specific encoder or parameter.
    If you have a video that is 29.970 fps and your output file is 25 fps, you will SEE artifacts, specially in scenes with fast movements, camera zoom or pans, etc.
    The best approach is not to convert the frame rate at all, if your source video is 29.970, use the same frame rate for the output video too.
    Now, there is a 2nd thing you need to have in account, that is INTERLACING. Some video sources are interlaced (for example standard DVD footage), you need to apply a deinterlacing filter in the middle of your processing chain in order to output progressive video, if you fail to do that, your output video wont look right unless your player does realtime deinterlacing (VLC and some others can do that).
    Again, this is not about any encoder or system in particular.

    by Diego Massanti, August 6th, 2008 at 4:40 pm


  5. Generally speaking, you can get away with assuming that ALL video at 29.97fps is interlaced, and run a deinterlace filter by default. Ugly nasty messy hack? Yes. Correct 99% of the time, also yes.

    by Derek Anderson, August 30th, 2008 at 2:17 am


  6. thanks for the great info on your other bolg posts, could you please tell us how to make iphone streaming from open source tools, i run a video sharing site but i have looked all over the net for a soloution to allow iphones to browse it in the safari iphone browser, are there tools available to create iphone/safari complatable video streams so these users can view videos from my website???

    by wingchun22, September 11th, 2008 at 1:19 am


  7. Any chance you could send me a URL link to your copy of THINK DIFFERENT ( think-different-you-wont-see-a-better-version-than-this-one)?

    Thanks,

    Ken Waller
    kenw@nipissingu.ca
    Nipissing University
    North Bay, Canada

    by ken.waller, March 27th, 2009 at 8:59 pm