

How to encode all of your videos on the cloud, quickly and cheaply - kelkabany
http://blog.picloud.com/?p=153

======
dboyd
There doesn't seem to be any information about patent indemnification.

I've done video transcoding in the past. While I wasn't an expert on the
legal/patent issues, I know that the product we used (helix mobile producer,
from Real) indemnified us such that we could then use ffmpeg as long as it was
on the same machine.

If you use this service, you might want to inquire into patent issues, and if
you are covered.

~~~
kelkabany
Good point. At the end of the day, we're not a video encoding service, so our
users should use us in the same they would their own Amazon EC2 instance with
ffmpeg.

Here's ffmpeg's take: <http://www.ffmpeg.org/legal.html> Here's Zencoder's
take: <http://zencoder.com/docs/codecs-and-formats/#licensing>

------
bgentry
How many of these "running FFMPEG yourself is so much cheaper than XX service!
XX is a ripoff" posts are we going to see?

If you pay for a good transcoding service, you're not just paying for being
able to run FFMPEG. That's the easy part. The hard part is dealing with
thousands of combinations of audio and video codecs, containers, pixel and
display aspect ratios, handling improperly encoded files and optimizing to
produce the best quality at a given size. There's a reason entire companies
are based on being good at these things, and people are willing to pay for it.
This is not trivial stuff.

I'm not knocking the PiCloud product at all, as there are certainly some
limited use cases where it would fit nicely and get the job done cheaply. But
it is in no way an apples-to-apples comparison between a generic FFMPEG setup
and a professional encoding service like Zencoder or Encoding.com.

~~~
kelkabany
While this might not be clear in the post, we completely agree: "Needless to
say, they do have a full video encoding service with a wide range of options
and customer support, whereas we’re showing you a building block that could be
used to replicate their service. But, this does give you an idea of the
premium they are charging for their service." We strive to be a general
service for computation that can be applied to many verticals.

------
usaar333
In terms of price, the PiCloud rate for this particular video is also
significantly cheaper than Zencoder (YC W10). PiCloud charges $0.585 for
encoding with the worse locality (source/destination both NOT on s3). Zencoder
charges $0.02 per minute of video at their highest tier. 0.02 _30 videos_ (3.5
min/video) = $2.1 total on Zencoder.

(The difference will lower for higher output resolutions. Nonetheless, PiCloud
should always be cheaper than Zencoder's pay-as-you-go rate).

------
kierank
They've chosen the worst video formats to use. H.264 encoding with libx264
would outclass anything ffmpeg's FLV encoder and MPEG-4 ASP encoder could
produce. N.B: The FLV container does not require the use of the FLV video
codec.

------
pyre
How is one to know what external programs are available in PiCloud. They just
state the FFMpeg is available in PiCloud, but I don't see any 'master list.'

~~~
kelkabany
Good question. We're just starting to venture outside of Python, so we don't
have a master list of executables just yet. We do have a list for Python
packages <http://www.picloud.com/pyapi/packages/weblist/python/> which
includes pyffmpeg. But, that list isn't pretty :)

------
Maskawanian
@kelkabany

I find this interesting, but two questions.

1\. Would you be able to provide a downloadable working copy of the python
source?

2\. Picloud seems to be limited to 5GB files, most video files that one would
transcode are larger than that. Is there a way around this?

~~~
kelkabany
1\. If you piece the code snippets together in the post, it'll work.
Nevertheless, I'll be posting a downloadable source file soon.

2\. Our cloud.files module does have a 5GB file size limit. However, you are
free to store your data elsewhere (probably on EC2 for fast and free data
transfer), and access it using PiCloud. For example, you could store the video
files on your own CouchDB server running on EC2, and simply query the server
in your code (using the python-couchdb module) for the video.

