Log in

View Full Version : How to set I-Frames manually


Lukie
5th March 2004, 12:26
Hi there.

Does someone know an encoder, that allows to set I-Frames manually? (not the I-frame interval) I want to enode a small Game-Video (~9min). It has mainly still backgrounds and some objects moving in front. So i want to set a Keyframe after avery scene change) for maximum Compression and Quality. DivX's auto keyframe setting is not optimal.

TIA

DigitAl56K
5th March 2004, 18:42
Actually if you use Slow or Slowest mode it is optimal, and even if you use Standard mode it is pretty darn close :)

What the codec considers to be a "scene change" is not nessecarily what we as humans percieve to be a scene change. In fact, forcing keyframes where humans percieve a scene change to take place is actually a very bad, non-optimal solution and you will probably lower your video quality if you do so.

However, you can do this by editing the DivX.log file after Multipass, 1st Pass.

Lukie
6th March 2004, 01:28
Cool. This is what i was looking for. Easy to use and precise. Thanks. :) :thanks:

In my case, I must set Keyframes manually. (BTW: The resolution of my vid is very small: 400x324px²)

There are many slow fades ('cross dissolve') between different scenes in my vid. Divx uses P-Frames for the fading. That's OK and good. But afer the fading the scene looks really ugly, because it is based on P-frames AND because resolution is very small. A second later *PLOP*, just in the middle of the scene, a keyframe is set by the 'maximum keyframe interval' function. The quality jump is really big from P to I.

So i want to set a Keyframe just after the fading is over.

Soulhunter
6th March 2004, 20:53
Originally posted by Lukie
There are many slow fades ('cross dissolve') between different scenes in my vid. Divx uses P-Frames for the fading. That's OK and good. But afer the fading the scene looks really ugly, because it is based on P-frames AND because resolution is very small. A second later *PLOP*, just in the middle of the scene, a keyframe is set by the 'maximum keyframe interval' function. The quality jump is really big from P to I.

So i want to set a Keyframe just after the fading is over.
That remembers me my "never ending" encode of Hulk... :rolleyes:

Bye

SeeMoreDigital
6th March 2004, 21:01
Originally posted by Lukie
... There are many slow fades ('cross dissolve') between different scenes in my vid..... So i want to set a Keyframe just after the fading is over. Jeez!

What bitrate and image pixel frame size are you using?

Cheers

Lukie
6th March 2004, 22:18
I captured a Computer-Game via S-VHS-out of my GeForce using a DV-Cam (with a LCDisplay). After a whole day of recording i watched the record using a TV. There was an extreme, ugly and moving moiré pattern. Reason: I used a S-VHS cable but output was set to composite. The pattern could not be seen on the small LCDisplay... I really could bite my a**.

So i had to 'postprocess' my vid using VirtualDub. I used denoising-filters, resized and denoised again and ended up with a resolution of tiny 400x324. You can see every mpeg-artefact if played in full screen mode.

I also want to publish my vid in the internet so the bitrate has to be as small as possible. I think 500kb/s should be OK. I also tried XviD but DivX looks better in my case.

[edit]
I have to set 50 KF only.

[edit]
Cool. It really enhanced vid quality. I only have to increase 'texture_quality' for the added KFs.

BUT: A problem occured. The scrolling credits are somehow affected by adding some KFs. The scrolling text leaves behind white traces (~dots). It only happened before while i enoded one-pass only. Why does it occur snd how can i fix it?
TIA

[edit]
Ahh. I found an answer in another Thread. Just split the vid and encode separately. :)