Home » Questions » Computers [ Ask a new question ]

Is there any way to distribute x264 encoding jobs across multiple computers (to increase the encoding speed)?

Is there any way to distribute x264 encoding jobs across multiple computers (to increase the encoding speed)?

Does anyone know of a current, active solution to encoding x264 videos across many computers (via the network) to increase encoding FPS?

Asked by: Guest | Views: 396
Total answers/comments: 5
Guest [Entry]

You could render separate chunks of the video, and use VirtualDub to stitch it all together with its Copy mode (where it does no encoding). It's not real distributed encoding or anything, but simplest solutions sometimes work the best.
Guest [Entry]

"You could also try using this , its a parallel/distributed encoding software for windows and works well and scales nicely too.

Try googling for xcode Parallel encoder.

These links should provide more information.

http://superscalar.pbworks.com/"
Guest [Entry]

"I'm a BIG fan of Sony Vegas for Windows video editing... and there's a feature called Network Render. :) Yums.

Sony Vegas Workflow

EDIT : Not too sure if this is a viable solution, but instead of trying to find a video-encoding application that supports network render, I tried to find a software that enables any application to take advantage of distributed computing. And I found this - IAIDataShareServer.

It looks pretty powerful, and the sample posted results are really great. If you are going to try it, let us know how it works?

EDIT2 : IAIDataShareServer seems to be just instructing machines to run individual tasks. To that extent, I have tried to source for other distributed computing solutions, and list out a few promising ones.

JPPF
XOREAX
DCEZ (This one looks good)"
Guest [Entry]

"the simple fact is NON of the world's Developer's has to date bothered to write and submit distributed TCP:IP/UDP generic encoding client/server patches for a current x264, as of today thats 1745 see x264.nl/

the generic client/server model is well understood, as is the clean x264 code-base, and asking for clarification of any x264 code is a simple matter of joining x264 dev IRC channel and asking, within minutes you will usually have a key x264 Dev or two answer your query in how that code section works, and even get practical idea's of how you might re-write your evolving code to better fit the x264 (and x262 a new Mpeg2 encoder based on the x264 world class framework being worked on right now) model.

So if Your a Developer then the very best thing you could do for the future of quality and profession 32/64 bit x264 distributed video encoding is actually write these required basic client/server patch's to make one instance of x264 or a seperate web/GUI app interface with this new client/server x264 API code you write, to actively look for, and assign and pass on the fly separate encode sections of a single video to any new matching managed x264 client code you also write.

your new clients/server truly distributed encode base patches dont even need to be the greatest, just basic but working and fully functioning C code that gets tested and used doom10dotorg/index.php?action=unread

, as theres one thing the x264 dev's seem to love to do , and thats take the existing slow C code and write optimized versions of it, section by section , but you need to actually submit the (patches welcome) actual beta code first against the latest branch OC

it's got to be worth looking into, and actually making the effort to code these x264 server to many x264 clients patch's today as x264 just got 10bit depth encoding capability's (that means high quality High, High 10, High 4:2:2 H.264 compute intensive profiles are now available to everyone for free with x264) added.

to be optimized for extra speed with assembly very soon http://mailman.videolandotorg/pipermail/x264-devel/2010-October/007858.html

but even a single 8 core machine will struggle to provide highest quality output in a reasonable time with 1080P, and soon 2K and 4K super high Def etc, a real easy to set up and use distributed x264/H.264 native encode option is only a patch or two away So.

if your a dev ,PLEASE dont wait, do it today."
Guest [Entry]

"You might have a look at Media Encoding Cluster :

Media Encoding Cluster is the first
Open Source Cluster Encoding Solution
that is written in C/C++ for
distributed Media(Video and Audio)
Encoding.

Media Encoding Cluster is an
extensible video encoder, which uses a
lightweight peer-to-peer grid to
leverage the processing power of
regular PCs for the purpose of
distributing the encoding of highly
compressed video, for example MPEG4
and H.264

It distributes Video Chunks over the
Network to Client Nodes and
parallelize the Encoding Task for one
File over even more than one Computer
to reduce the Encoding Time per File.

Another approach is offered for Nvidia by Badaboom ($39.99 with trial), also reviewed here :

Elemental's Badaboom uses Nvidia's
CUDA interface to do lots of the grunt
work of DVD ripping by using the GPU
instead of your musty old CPU.

In the same way, there is also Avivo Video Converter for ATI Radeon, described in wikipedia, although it might take some doing to get it working."