PDA

View Full Version : New Gold Dreams of a encoder.


marc_albero
1st July 2002, 04:27
OK, in this thread I am going to let my imagination go, but only within some reasonable limits.

I am dreaming mow of a new kind of encoder utility. This encoder would have some nice features that I find quite proper for the times we are in. I give you the ideas, and I hope that some saviour, gifted programmer will knock at my door and tell me: "Hey, good ideas! I'm gonna code that!".

Let's go:

1-encoding would be made faster by using 2 or more computers wired with a 10/100Mb LAN. While encoding a scene, the main PC would simultanously send other scenes to the other CPU(s) via LAN. A client program running on the other PC would then decode/preprocess/encode according to the user settings. Encoded video would be transmitted back inmediatly or maybe later (according to network load?).

How many of us have more than 1 PCs at home? What do you do with the old PC when you upgrade? This is a way to give it a use. If you can save 2 hours at encoding... that's good.
How many of us own a multiprocessor PC? Not many, I think.
So it seems a good idea... or not?

2-Yeah! There is an argument against all this. You could say: Hey! If I have 2 PCs, and they are LANed, why do I not use Win XP's remote console to start an encoding process in the older one, and then encode another film in the newer one (or just leave the newer PC free for use)? LAN network load would we removed! My EDonkey would work much better!

Of course, that would be weiser. This here would be just an alternative. But there is another point supporting parallelised encoding.

Recently I was playing around with divx4log. Maybe I am the clumsiest guy on Earth but I didn't manage to have it cut down the bitrate of the end titles of the film. I tried then to just encode the end titles apart, with a real low bitrate, and them join it to the rest with Virtualdub. It worked good, and I saved 40MB.

Moreover, one big problem about 2-pass encoding is that you can find scenes in the film that really look great, but others that look much worse. I would sacrifice quality on the first to give it to the latter. But divx4log didn't help me, and the gurus tell you not to change the max/min quantifiers, because the codec is tweaked around the defauld values, etc... Thus, as I've said, one has to turn to "Manual Variable Bitrate" encoding. :-)

What we need is an interactive encoding tool. This tool would made a first study of the film (just like a 1st pass would), in order to:

-get the complexity distribution of the film from the codec log file.

- get all the key frames. Thumbnails of those would be generated.

- present the scene distribution to the user (understanding as scene, the film fragments between 2 keyframes). Scene complexity is included. Any scene can be played back from the VOBs (a good decoder needed, I recommend DVD2AVI -the only one that's artifact free-). A good GUI is neede, though! The representation of the film as a strip of scenes has to show at the same time how does the complexity distribution look like throughout the entire film, so the user can make right decisions EASILY !

- the user can instruct the encoder to first make a test encoding, entirely automatic, which will be more or less analog to the DivX 2nd pass. The user uses this first try to decide in which scenes the quality can be tweaked. For the first try, distributed encoding can be used ( :-) :-) ).

- the user orders the reencoding of a certain scene with determined settings. The encoder works faster by distributing the processing load among the LANed PCs ( :-) :-) :-) ). As a result, the encoded scene is presented to the user eeeehhhmm.... fastly? By large scenes, only a chunk can be encoded to make all faster. When the result is fine, the whole scene can be encoded.

Thus, quality can be effectively, easily and fastly taken from one place to be put in other place. Wild, huh?


Please, somebody answer me. Just some lines to tell me whether I am right, crazy, silly or whatever.

Cheers! Marc

P.D.: i don't know anything about programming, be patient with me, would ya?

The Link
1st July 2002, 18:40
Hi!

Perhaps you should have a look at vidomi (www.vidomi.com).

I donīt use it but in the homepage following feature is mentioned:

Distributed Encoding: Encode more in less time using using multiple computers on a network

Hereīs a link to the howto:

http://www.vidomi.com/docs.php?myfaq=yes&id_cat=27

This shouldnīt be advertisment! Itīs just the only encoder I know which is able to do that.


Regards

The Link

DaveEL
1st July 2002, 21:16
Originally posted by marc_albero
[B] Recently I was playing around with divx4log. Maybe I am the clumsiest guy on Earth but I didn't manage to have it cut down the bitrate of the end titles of the film. I tried then to just encode the end titles apart, with a real low bitrate, and them join it to the rest with Virtualdub. It worked good, and I saved 40MB.

Moreover, one big problem about 2-pass encoding is that you can find scenes in the film that really look great, but others that look much worse. I would sacrifice quality on the first to give it to the latter. But divx4log didn't help me, and the gurus tell you not to change the max/min quantifiers, because the codec is tweaked around the defauld values, etc... Thus, as I've said, one has to turn to "Manual Variable Bitrate" encoding. :-)

What we need is an interactive encoding tool. This tool would made a first study of the film (just like a 1st pass would), in order to:

-get the complexity distribution of the film from the codec log file.

- get all the key frames. Thumbnails of those would be generated.

- present the scene distribution to the user (understanding as scene, the film fragments between 2 keyframes). Scene complexity is included. Any scene can be played back from the VOBs (a good decoder needed, I recommend DVD2AVI -the only one that's artifact free-). A good GUI is neede, though! The representation of the film as a strip of scenes has to show at the same time how does the complexity distribution look like throughout the entire film, so the user can make right decisions EASILY !

- the user can instruct the encoder to first make a test encoding, entirely automatic, which will be more or less analog to the DivX 2nd pass. The user uses this first try to decide in which scenes the quality can be tweaked. For the first try, distributed encoding can be used ( :-) :-) ).

- the user orders the reencoding of a certain scene with determined settings. The encoder works faster by distributing the processing load among the LANed PCs ( :-) :-) :-) ). As a result, the encoded scene is presented to the user eeeehhhmm.... fastly? By large scenes, only a chunk can be encoded to make all faster. When the result is fine, the whole scene can be encoded.

Thus, quality can be effectively, easily and fastly taken from one place to be put in other place. Wild, huh?


Please, somebody answer me. Just some lines to tell me whether I am right, crazy, silly or whatever.

Cheers! Marc

P.D.: i don't know anything about programming, be patient with me, would ya?


Looks like you looking for the stats file editor in gordian knot.


DaveEL