

Why Zencoder is ideal for a video web app - stevepotter
http://blog.takeoffvideo.com/2010/11/11/10x-faster-encoding-in-12hrs/

======
kevinburke
Maybe it's just me, but I feel like I have a way better understanding of what
Zencoder does after I read that article (we upload your videos ten times as
fast as the old system you've been using) than I did from looking at
Zencoder's homepage four times over the past month or so.

~~~
jon_dahl
Thanks for the feedback, Kevin! If you don't mind sharing, what's your
impression of Zencoder based on our homepage? What would better explain what
we do to you?

~~~
badmash69
I am curious : how is your service better than ffmpeg + some scripts ?

~~~
revorad
I guess like Dropbox is better than running rsync and some cron jobs.

~~~
badmash69
That is a smug remark that misses the point. Dropbox is a service aimed at
everyone and their grandma . Zencoder is a niche technology aimed at people
transcoding videos. There is a whole community of us at videohelp and similar
sites and we have been doing this for quite a while. We gripe moan and bitch ,
but we get ffmpeg , mencoder and others to work long enough to get the job
done --- for the magical price of $0.0. We have several hundred manhours worth
of scripts and hacks invested already. Hence my question , what do you do
better than ffmpeg -- 'cause I would be willing to pay for that extra smooth
encoding, streaming . This is a technical question. You should not have
replied as you do not appear to know your head from your ass.

~~~
sanswork
It's the several hundred man hours worth of scripts, and learning to use them
and making them work(and consistently) and paying for the hardware to run them
that makes it cost more than $0.0.

So I would say what they do better is remove the hassle of having to spend
time and resources managing and running all of those services. Just like
dropbox, and cloudkick, etc.

~~~
stevepotter
Exactly. I had a pretty solid encoder running. But it was slow and wouldn't
scale well. Zencoder's pricing is right and I would rather build it into my
pricing model than deal with the hassle of managing an encoding system. This
frees us up to focus more on the other aspects of the app.

------
mml
tl;dr: zencoder.com was easy to integrate, works well, is cheaper than the
competition, and was 10x faster than our home-brew transcoding junk.

------
stevepotter
Kevin, thanks for the kind words. You're kinda right. A video site like
YouTube has two stages to get your video up and running. First is the file
upload. Second is the encoding, where the uploaded video is converted into the
necessary formats for web and mobile playback. Zencoder covers the latter.
They don't take part in the upload. So our upload remains the same...it's the
step after upload that has been massively improved. I hope that makes sense.

Unless you are heavily involved in video, Zencoder won't apply to you. But
they are still worth knowing about and a great example of a cutting edge cloud
platform.

~~~
Splines
How large was your test video? 20 minutes to encode a 1 minute video feels
like a really long time.

My only experience with video encoding is place-shifting DVDs to my PSP. On my
home box it's usually about a 1:1 ratio for this task. I'm guessing you've got
a source with a really high bit-rate that's making the encoding take so long?

------
physcab
"For example, a video of me demonstrating how to do doughnuts in an RX8 took
20 minutes to encode, and it was only a minute long!"

Whoa. I'm no video encoding expert, but I was able to find some pretty good
settings using CRF of ffmpeg that encoded a video in near real-time. In fact
you could even do live streaming off of it. CRF supposedly bloats the
filesize, but I was able to get decent HD video at about 7-11mb/sec if I
recall.

------
jon_dahl
Thanks for the writeup, Steve!

Takeoff is really well done. The UI is beautiful and really intuitive.
Congrats on a great service!

------
chopsueyar
Anyone have any recommended ffmpeg CLI examples for encoding to h.264 or
links?

~~~
physcab
Theyre not too difficult to find. Good stuff on Doom9 and flowplayer forums. I
realize that the appeal of zencoder is that you don't need to understand
ffmpeg's elaborate settings, but its sorta fun to dig around and see what each
one can do. Lots of technical algorithmic challenges in encoding.

For a good practical guide, I suggest reading this:
[http://www.amazon.com/H-264-MPEG-4-Video-Compression-
Generat...](http://www.amazon.com/H-264-MPEG-4-Video-Compression-
Generation/dp/0470848375)

It'll give you an idea of where all the settings come from.

~~~
chopsueyar
Hmmmm....

The Doom9 stuff seems to be more oriented toward ripping and encoding for
personal use, not taking a source file and encoding several versions for
streaming from a Wowza Media Server, Red5 server, or Flash Media
Server...unless I am not looking in the appropriate place.

I haven't yet looked through the flowplayer forums. That seems like a good
idea.

That book you linked to has a newer version, but it is over $100.

IF not CLI examples, would you have any recommended settings for encoding to
stream for multiple devices and connection speeds (iDevices, Android phones,
flash video)? What bitrates and resolutions from a 1280x720 60fps source file?

~~~
badmash69
ffmpeg has presets for ipod ( which btw also work just as well for Blackberry
) and dvds. Go tweak and select a preset that works for you and go with you.
My advise is to use existing ffpresets presets.

I think you will find preset in the ffmpeg source/ffpresets

Very important : once you get ffmpeg to work just the way you want, back up
the source that you used to build your binary and backup all sources of libs .
This is important as sometimes refreshing code from repositories breaks the
features you depend on . And if you are extremely paranoid like me and your
business had a critical dependency on video transcoding, create a Virtual box
guest OS, build ffmpeg and tweek till it works and then save that image for
emergencies. Its about a Days work in all.

I have a shell script that scans my "input folder"(an ftp dir) once it finds a
file , it invokes ffmpeg process. On a quad core box, I max my cpu utilization
at 8 ~10 concurrent instances of ffmpeg. Your mileage would depend on factors
like bitrate etc.

