View Full Version : process parallelly and then concatenate?
novachen
31st October 2005, 08:37
It takes quite a long time to process a movie on a single computer.
Can we process it in many computers, every pc process only a segment of movie (By trim function). And save the intermediate result in its own hard disk.
Then concatenate them into one file.
I search on the google and there are some tools that can concatenate mpeg1/mpeg2.
I guess this solution can be achieved.
Any suggestion?
stickboy
31st October 2005, 08:41
Sure. You can encode to a lossless format (e.g. Huffyuv) on each machine and use an AviSynth script to concatenate them all together for the finale encode.
You'll have to do it all manually though.
novachen
31st October 2005, 09:06
If we save intermediate outcome in hyffyuv, there is extra computer cost on encode in hyff, and decode it for make distribute format. What's more, do last encoding for mpeg1/2 or divx, also take computer busy, parallel in this step will be helpful too.
So I mean not to save in hyffyuv, but directly in the last distribute format, for example mpeg1/2 divx, and merge this segment by some file I/O work not by avisynch or virtualdub.
Any problem in this solution?
CWR03
31st October 2005, 09:33
Vidomi has the ability to utilize networked computers to aid in the encoding process, but it's badly out-of-date and doesn't work with XviD newer than the 2002 version with which it's bundled. Even so, it does a good job.
squid_80
31st October 2005, 11:10
You might want to check out the TCPDeliver and TCPSource functions. They used to be fairly slow but I think that's been fixed.
Pookie
1st November 2005, 08:31
Pretty easy to do with a batch file and a command-line encoder. You could initiate the render job with a remote execution utility like PSexec from Systernals.com or the even better BeyondExec from http://www.beyondlogic.org/solutions/remoteprocess/BeyondExec.htm
You could have all of your machines map a drive letter to the machine that has the source file, and have each one encode their own .AVS file also stored on the "Source File" machine.
Name each PC soomething like PC-01 , PC-02, etc. That way, you can easily create a script which runs PC-01.bat and uses PC-01.AVS for the AviSynth script, same goes for PC-02, PC-03...
Seed
1st November 2005, 14:12
merge this segment by some file I/O work not by avisynch or virtualdub.
If it is not by Avisynch, I wonder why you posted this question in this Avisynth Usage forum. Actually you are asking for:
some tools that can concatenate mpeg1/mpeg2
MPEG use interframe compression. Many mpeg editing programs are not frame-accurate (i.e. they cut mpeg clips at GOP level delimited at I-frame and you would lose some frames when merging 2 clips). Some mpeg editing programs are frame-accurate and you won't lose frames, but up to 15-18 frames (depending on GOP length) at the concatenated end of the mpeg clips have to be re-encoded -- still a very fast process because the main bulk of the clips are "direct stream copied" and not re-encoded.
I'm not familiar with DivX, but the same concept applies, i.e. concatenating any clips of interframe compression format would necessitate re-encoding some frames at the concatenated ends.
(The most accurate and bug-free frame-accurate mpeg editing programs, IMO, is Womble Video Wizard or Womble MPEG2VCR. Check the tools section in videohelp.com for more choices.)
Mug Funky
1st November 2005, 14:24
Avisynch
hehe... sounds like part of a slogan "avisynth is teh avisynch".
something more useful:
if you encode mpeg-2 then it's pretty easy to merge chunks in several mpeg-2 capable programs (TMPGenc's mpeg tools, DVDMaestro, Premiere pro) without re-encoding.
i often encode a slow script with several computers doing say 10000 frames worth (or maybe just total frames/number of computers) and merge in Maestro.
bond
1st November 2005, 14:31
doesnt tobias' elder do something like that (dunno if it works on multiple pcs tough)
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.