View Full Version : HC018 released
hank315
29th April 2006, 22:10
A new release of HCenc is out: HC018
Changelog:
- updated encoding engine
- added pulldown 23.976 --> 29.97
- added adaptive matrix
- GUI bug fixes
Get HCenc at www.bitburners.com
video_magic
29th April 2006, 22:37
:thanks:
Eastermeyer
29th April 2006, 22:41
Is it possible to remove the Resolution Limit ?
buzzqw
29th April 2006, 22:45
:thanks::thanks::thanks:
your encoder is simple great !
BHH
dirio49
29th April 2006, 22:57
thanks.
:thanks: :thanks:
Fishman0919
29th April 2006, 23:35
WHOA :cool:
Adub
30th April 2006, 02:05
Great man! Oh, I can't wait to test this out!
Thanks a bunch! You rule!
dragongodz
30th April 2006, 02:08
Is it possible to remove the Resolution Limit ?
this was already asked in the last thread, i think it was in the last couple of pages.
short answer is not at the moment. for more complex answer go read the other thread.
Audionut
30th April 2006, 06:27
Thanks!
rhys87
30th April 2006, 07:50
my favourite mpeg2 encoder, improves all the time and free how good can it get :)
ljpp
30th April 2006, 10:05
The sub-domain http://hcencoder.bitburners.com will get you to the HC homepage slightly quicker.
FredThompson
30th April 2006, 12:34
- updated encoding engine
Updated in what way? Would you give a brief explanation?
AVIL
30th April 2006, 13:10
Hi,
I've tested this new version against v017.
d2v files of newest version of DGindex are rejected (max version 12 like in 017).
Slightly slower (28 fps vs 30) althought need more tests.
---------- Ignore this part ----------------------------------
Final size less accurate than version 017. In my case final size requested of 1048424 KB, obtained file of 958264 KB.
------------------------------------------------------------
Encoding size is as accurate as with 017, simply the output file isn't complete. Sorry.
Best regards
ljpp
30th April 2006, 14:09
Updated in what way? Would you give a brief explanation?
Here is what Hank told me:
The major change is in the encoding engine itself, it's really a lot better.
Did a lot of tests, visual and metrics, on metrics only Mencoder is better... (at 8 fps)
So I'm curious about the comments.
dragongodz
30th April 2006, 14:44
Slightly slower (28 fps vs 30) althought need more tests.
that should be expected. lets just say the the changes are for extra quality and that of course generally means slower.
hank315
30th April 2006, 15:39
Updated in what way? Would you give a brief explanation?It has a better RD optimization for P-frames, also B-frames will benefit from that because most B-frames are predicted from the P-frames.
Also some changes to the quantization routines and a lot of other tweaks
On my PC best profile also runs a bit slower, normal and fast profile runs a bit faster than 017.
And about this:
The major change is in the encoding engine itself, it's really a lot better.
Did a lot of tests, visual and metrics, on metrics only Mencoder is better... (at 8 fps)
I will never comment about visual quality, everybody has his own opinion about it, you can't measure it...
But the metric tests I did shows an improvement over HC017, especially with lower bitrates:
In the "Challenge Low Bitrate" by Sagittaire I got the next values:
HC017, OPSNR 46.71, SSIM2 81.38
HC018, OPSNR 46.97, SSIM2 83.04
using best profile and the standard MPEG matrix
Sounddude
30th April 2006, 19:33
Thanks for the update. I just started a new encode, but had to stop it and use the new version.
Keep up the great work!!
linx05
1st May 2006, 04:09
I've added CCEAQM=1 into the [Options] of DVD-RB. Does that make much of a difference? I've read a couple threads where it has but it's still a bit hazy in my mind.
Mug Funky
1st May 2006, 05:03
sweet! i will try this out right away :)
thanks for your work. RD optimisation with such a small speed decrease sounds like a very good thing.
[edit]
just looked at the release date... my birthday :) damn nice present...
Pasqui
3rd May 2006, 17:25
Thanks hank315 for your updated encoder ! I get great results using it with DVD-RB Pro.
BTW, will you provide an adaptative matrix dll in the future ? Currently for my backups I switch between MPEG matrix, AutoQ2 matrix and QLB matrix according to bitrate (DVD-RB Pro allows it)
Ebobtron
3rd May 2006, 19:07
Well my new system likes it. Wow, real time encoding.
Sorry Hank, I do not have a bunch of "can you"s, just a bunch of "thank you"s.
:thanks: :thanks: :thanks:
This time.
FredThompson
4th May 2006, 01:54
I've just run some complete jobs with DVDRBPro. This encoder sure looks nice. Up next, the torture test: WWE interlaced high-motion source.
rhys87
5th May 2006, 06:17
yeah it does undersize a little bit, but everything else works fine in it.
Fishman0919
5th May 2006, 06:29
yeah it does undersize a little bit, but everything else works fine in it.
?!?!?!?, undersize how? I don't think I've ever had HC (any ver) under size anything that would be something to mention..... ex. avg bitrate 3500k and HC comes in at 3498k.
Mug Funky
5th May 2006, 10:18
i noticed that the matrix editor seems a bit off...
try backspace over a 1 digit value (or hit it twice on a 2-digit value) and see what happens. it crashes on the P4 Opteron (hyperthreaded) i tried it on. big visual fortran error, then closes.
i also noticed a crash when using the GUI to set up a half-d1 encode (not sure that's the problem). switching from "main" to "advanced" would bring down the program if i change the matrix (changed from the custom one that was still loaded to the internal default one).
not sure if this info helps you reproduce, but don't be worried - i mostly use the batch encoder as most of my settings don't change and i only have to set bitrates and aspect.
hank315
5th May 2006, 23:48
try backspace over a 1 digit value (or hit it twice on a 2-digit value) and see what happens. it crashes on the P4 Opteron (hyperthreaded) i tried it on. big visual fortran error, then closes.Yep, that produces a nice crash...
Already fixed it for the next release.
i also noticed a crash when using the GUI to set up a half-d1 encode (not sure that's the problem). switching from "main" to "advanced" would bring down the program if i change the matrix (changed from the custom one that was still loaded to the internal default one).Can't replicate this one...
rhys87
6th May 2006, 05:20
?!?!?!?, undersize how? I don't think I've ever had HC (any ver) under size anything that would be something to mention..... ex. avg bitrate 3500k and HC comes in at 3498k.
I'm just being very critical because to me there isnt much else wrong with it. When i've compiled the dvd with previous versions of HC the end result is about 4.3gb in dvdlab with the latest its about 4.15-4.2gb.
Mug Funky
6th May 2006, 17:52
oh, and while on the subject of custom matrices (i forgot to mention this the other day, but it is important), i got black blocks in (pure 235) white areas on decoding a stream encoded with a "half mpeg standard" matrix, that is all the values from the "standard" matrix divided by 2, rounded down.
i'm not sure if this is a new thing because i actually haven't used HC with custom matrices before. there are no values below 8 in this matrix, so i don't think that's a problem (apparently that used to be a problem in xvid with trellis or something?).
the black blocks would only happen in the centre of objects, even though there were large areas of the same colour around them. it was a flat animation as source - pure CG, exported from Flash.
Riuyin
6th May 2006, 20:09
My favorite encoder. Any one knows if there is a way to load an kdvd matrix in HC, I saw some KVCD's matrices but not an sigle KDVD matrix.
kevin23
6th May 2006, 20:44
My favorite encoder. Any one knows if there is a way to load an kdvd matrix in HC, I saw some KVCD's matrices but not an sigle KDVD matrix.
The matrix is the same.Load the Kvcd Notch Matrix provided in the matrix folder.
Riuyin
6th May 2006, 23:51
The matrix is the same.Load the Kvcd Notch Matrix provided in the matrix folder.
Your are right both matrices are the same.
But the template in tmpgenc also change the GOP structure like this:
Number of I pictures in GOP 1
Number of P pictures in GOP 5823
Number of B pictures in GOP 2
Output of interval iof sequence header: 1
Max number of frames in a GOP: 18
Correct me if i am wrong
Hc..............................................................Tmpgenc
GOP length.........................=...............Max number of frames in a GOP
B frames............................=...............Number of B pictures in GOP
But what about Number of I and B pictures in GOP, where can I change that? or it doesn't matter.
tamahome
7th May 2006, 14:35
would it be possible to add a possibility of regulate the priority of the process of hcencoder?
a little like quenc low priority has high priority
Sagittaire
7th May 2006, 23:18
Your are right both matrices are the same.
But the template in tmpgenc also change the GOP structure like this:
Number of I pictures in GOP 1
Number of P pictures in GOP 5823
Number of B pictures in GOP 2
Output of interval iof sequence header: 1
Max number of frames in a GOP: 18
Correct me if i am wrong
Hc..............................................................Tmpgenc
GOP length.........................=...............Max number of frames in a GOP
B frames............................=...............Number of B pictures in GOP
But what about Number of I and B pictures in GOP, where can I change that? or it doesn't matter.
For MPEG2 PAL/NTSC DVD compliant stream max GOP must be 15/18 frames (can be adaptative with change scene detection). max bframe must be 2 (can be adaptative too). TMPGEnc template is not false because max GOP has the priority and choose 5823 Pframe is simply useless here.
Chainmax
8th May 2006, 15:59
I've just run some complete jobs with DVDRBPro. This encoder sure looks nice. Up next, the torture test: WWE interlaced high-motion source.
That sounds very interesting, please do tell how it does.
Does HC support multicore CPUs (real one like core duo or Athlon X2, not HT P4s)? If not, could it be introduced in the future?
Mug Funky
10th May 2006, 05:34
i just noticed that in CQ mode, if HC raises the quant to prevent underflow, it'll lower it in the next second or so to keep the average. this looks like a big step on the way to 1-pass RC... all that remains is to figure a good guess at initial quantizer and keep a running average (i'm thinking it sounds far simpler than it is :))
good stuff. i like.
also, the RDO saves huge amounts of bitrate for the same constant quant on clean sources. very cool indeed.
Revgen
10th May 2006, 06:01
Does HC support multicore CPUs (real one like core duo or Athlon X2, not HT P4s)? If not, could it be introduced in the future?
Darksoul71 just released a frontend for Quenc that uses Dual-Core and HT procs. I was able to record a Hi-Q interlaced basketball game (interlaced from a 720p source) at near full-speed for each pass. Hopefully he can create one for HC in the future. You can read about it here. (http://forum.doom9.org/showthread.php?t=110938)
ricoman
11th May 2006, 00:32
I've used the combo of HC with DVDRebuilder (free versions) a couple of times with good results. However, I just tried to backup Munich and ran into trouble. I ripped the entire uncompressed dvd to my HD and I can play it like that, but when I processed it using HC/rebuilder, it seemed to process normally but when I play the processed file from the computer or new dvd the video is screwed up. It comes out as a bunch of diagonal lines though you can tell the movie is in there between those lines somewhere and the audio is fine. Anyone have this problem? and what can I do about it?
Is there a way to get a message to Hank? This was my first try with 18.
EpheMeroN
11th May 2006, 06:45
DC Precision of 9 = recommended for normal bitrate
DC Precision of 10 = recommended for high bitrate
What falls under the category of normal / high bitrates?
Right now I have some videos that I am using 4,000 as avg bitrate and 9,000 as max.
@ricoman
Your problem sound equal to those of planar alignment (method to arrange planes in the YV12 format). Try to install last version of avisynth.
Good luck
ricoman
12th May 2006, 00:36
I'm using avisyth 2.56. isn't that the latest? Any other Ideas? Hank?
feedback
12th May 2006, 07:16
Does this problem occur on just this movie "Munich" or does it occur on any other movie you backup with DVD-RB & HC18?
Btw, this line of questioning should be broken off by a Mod and moved to the Rebuilder forum IMO as it is not strictly an HC encoder problem.
Regards,
ricoman
12th May 2006, 11:53
Munich is the first I tried with HC18. I've been successful with the previous version on King Kong and Narnia. I believe it is an HC problem because I just finished processing the same Munich file on my HD with Quenc, and it is fine.
Chainmax
12th May 2006, 15:41
Darksoul71 just released a frontend for Quenc that uses Dual-Core and HT procs. I was able to record a Hi-Q interlaced basketball game (interlaced from a 720p source) at near full-speed for each pass. Hopefully he can create one for HC in the future. You can read about it here. (http://forum.doom9.org/showthread.php?t=110938)
That sounds great :).
Mug Funky
12th May 2006, 16:36
@ ricoman:
try add "turnleft().turnright()" to the end of your script.
if that doesn't work, regress your avisynth to 2.5.5 or lower.
i've had the alignment prob before, but only when using avs plugins that don't support the correct chroma alignment (old avisynth wasn't as picky about it, but don't worry - it's all for the best, we just have to wait for plugin devs to change their code a little).
hank315
12th May 2006, 17:44
@ricoman
Please could you try the following:
Restart the encoding with DVD-RB, turn on the preview window and report if the video is already messed up during the first pass.
If so then it's getting wrong input, if only the second pass looks bad it's a HC error.
EpheMeroN
12th May 2006, 22:54
I have another question about the matrices in HC Encoder.
Do any of them handle macroblocking better than the others? And are any of them better-suited for high motion video such as sporting events?
I've only been using the default MPEG Matrix.
Darksoul71
12th May 2006, 23:41
@revgen and Chainmax:
Darksoul71 just released a frontend for Quenc that uses Dual-Core and HT procs. I was able to record a Hi-Q interlaced basketball game (interlaced from a 720p source) at near full-speed for each pass. Hopefully he can create one for HC in the future.
Honestly Iīve been already thinking about such a "middleware" for HCEnc. Esp. because of the results youīve posted revgen. It shouldnīt take too much coding to adopt the approach from QuEnc to HCEnc.
Currently I still have to dish out some bugs on LAN_AQE-RB (network distributed encoding with DVD-RB and AutoMatQEnc) but once this beast is working, I could focus on HCEnc^n :)
ricoman
13th May 2006, 00:44
@ricoman
Please could you try the following:
Restart the encoding with DVD-RB, turn on the preview window and report if the video is already messed up during the first pass.
If so then it's getting wrong input, if only the second pass looks bad it's a HC error.
The preview window looked OK on both the 1st & 2nd pass. But, I noticed that the gui said version 17, even though I have downloaded 18, and 17 had worked before.
feedback
13th May 2006, 08:21
Well which is it v.17 or v.18 you are using? You obviously have your wires crossed somewhere.
You, also need to, early on, give more relevent info. like indicating that Munich encodes correctly with Quenc. from the start. If you had shared that little tidbit I wouldn't have suggested moving the thread.
People here will help you but, we aren't mind readers.
@EpheMeroN
Have you tried the BDVD Matrix the QLB Matrix or the MainConcept Matrix? Give those a try...are you using HC in conjunction with DVD-RB? If you are using RB you can try the different Matrices on a short segment with Rebuilder's Matrix Editor. You may also want to drop your DC precision to 8.
Regards,
Revgen
13th May 2006, 08:59
@revgen and Chainmax:
Honestly Iīve been already thinking about such a "middleware" for HCEnc. Esp. because of the results youīve posted revgen. It shouldnīt take too much coding to adopt the approach from QuEnc to HCEnc.
Currently I still have to dish out some bugs on LAN_AQE-RB (network distributed encoding with DVD-RB and AutoMatQEnc) but once this beast is working, I could focus on HCEnc^n :)
Sounds great. Good luck with it.:thanks:
EpheMeroN
13th May 2006, 10:10
@EpheMeroN
Have you tried the BDVD Matrix the QLB Matrix or the MainConcept Matrix? Give those a try...are you using HC in conjunction with DVD-RB? If you are using RB you can try the different Matrices on a short segment with Rebuilder's Matrix Editor. You may also want to drop your DC precision to 8.
Regards,
Nope. I've only tested the default MPEG Matrix. I'm using HC solely by itself. The source is an analog capture of a sports event. I am keeping it interlaced, and filtering it with DeFreq, FFT3DFilter or FRFun, and TDeint for very minor upsizing to NTSC DVD spec.
I asked about DC Precision because it says a precision of 10 is recommeded for high bitrate, and my avg bitrate is 4000, and max of 9000. I will try a DC Precision of 8 though. Will dropping it to 8 make it more blurry? Possibly add a sharpener to the script...
dragongodz
13th May 2006, 14:11
I've only tested the default MPEG Matrix. I'm using HC solely by itself.
HC comes with a range of matrices so you can test some out on short sections of your footage by useing Avisynths trim() command.
I asked about DC Precision because it says a precision of 10 is recommeded for high bitrate, and my avg bitrate is 4000, and max of 9000. I will try a DC Precision of 8 though. Will dropping it to 8 make it more blurry? Possibly add a sharpener to the script..
well i would call 4000 more mid bitrate rather than really high so using a DC of 8 or 9 is probably a good idea.
you lose a tiny bit of detail by lowering the DC precision but i would not be adding a sharpener because of it. that would only end up making life harder for the encoder. :)
ricoman
13th May 2006, 18:59
Well which is it v.17 or v.18 you are using? You obviously have your wires crossed somewhere.
You, also need to, early on, give more relevent info. like indicating that Munich encodes correctly with Quenc. from the start. If you had shared that little tidbit I wouldn't have suggested moving the thread.
People here will help you but, we aren't mind readers.
@EpheMeroN
Have you tried the BDVD Matrix the QLB Matrix or the MainConcept Matrix? Give those a try...are you using HC in conjunction with DVD-RB? If you are using RB you can try the different Matrices on a short segment with Rebuilder's Matrix Editor. You may also want to drop your DC precision to 8.
Regards,
Relax dude, no need to be so sharp. I hadn't tried Quenc at the time of the post because I prefer HC and it takes 5 hrs or more. I think RB grabbed HC17 (which had worked fine for me in the past) instead of HC18. I thought downloading 18 would just update 17 like some other software. I uninstalled 17 and am in the process of another try. As far as matrixes, this is only my 3rd or 4th use of RB, so I am not familiar with the more advanced techniques, so be gentle with me. I do appreciate the help though.
ricoman
13th May 2006, 20:00
I seem to have a new problem, originally I used the RB installer and it automatically installed HC17 with it. When I downloaded HC18 and placed it in RB's encoder file, RB can't find it. In the RB mode drop down menu, HC is grayed out and I can't select it. RB free does not let you choose HC in the setup gui. How can I get RB to "see" HC18? I know it must be something simple, but I can't figure it out. I tried dragging it to the encoder file, then uninstalled it, downloaded again and extracted it to the encoder file, but still no luck. Thanks.
dialysis1
13th May 2006, 21:09
I believe you have to rename the file to HCbatch.exe.
ricoman
13th May 2006, 23:49
I believe you have to rename the file to HCbatch.exe.
No go. :confused:
Hank, do you plan on adding HC18 to the installer? I'll uninstall everything and start from scratch. Thanks.
Chainmax
14th May 2006, 16:40
@revgen and Chainmax:
Honestly Iīve been already thinking about such a "middleware" for HCEnc. Esp. because of the results youīve posted revgen. It shouldnīt take too much coding to adopt the approach from QuEnc to HCEnc.
Currently I still have to dish out some bugs on LAN_AQE-RB (network distributed encoding with DVD-RB and AutoMatQEnc) but once this beast is working, I could focus on HCEnc^n :)
Sounds great. Good luck with it.:thanks:
Sounds great indeed, thanks :).
tom942
15th May 2006, 10:58
Hi,
I continue doing tests, now with "The Matrix" movie. In the elevator scene, when she stars to walk on the wall in the next shot there is a police man shooting. The sound stutters again with the flashes of the gun, and in the same scene, when neo starts to walk along the corridor, there is the same problem when neo is shooting with both guns. I donīt know what can it be.
One thing that I notice is when the encoder works in these parts it gets weird, I mean, that if it is normally telling you that his encoding 30 fps, suddenly it says that he is encoding 300 or more, and in the part of gops, happens something similar, but in the other way, if you see that he says that there are gops of 12, 15, 2, 8..., it suddenly dissapears, there is no gops.
Then I go to the DVD player with that movie rebuilded, and just in this planes of the movie, it stutters.
I hope to have explain me well, and hope that it helps.
BTW, the image is really great, just hope this issue can be fixed to use it without any risk.
Greets :).
Mug Funky
15th May 2006, 11:35
sounds like buffer underflows. HC is trying to avoid them (with autogop on i see... not sure if that's a factor), and it's re-encoding the same gop several times (hence the encode fps going up/down/whatever. usually it'll go down in these bits, but a GUI issue could cause it to go up. not sure).
what is your max bitrate set to? stuttery playback on a standalone is almost always a too-high-bitrate thing. sometimes it's poor media, but you'd probably be seeing "glitching" too if that were the case.
try subtract the bitrate of your audio streams from 9800 and round to the nearest 100kbps, then use that as your max bitrate. (so if you have a 224kbps + a 448 audio track, your max will be 9800 - (448+224) = 9128 ~= 9100)
though it's also good practice to go a fair bit lower than that to allow for the muxer doing weird things, or subtitles, or poor media, etc. i do everything at max 8500 or lower (only lower if there's DTS or multiangle), and that generally gives your authoring program some headroom.
of course some DVD players are just weird and will bork at the strangest things.
Boulder
15th May 2006, 11:36
Sounds like either the maximum allowed total bitrate (video+audio) is exceeded or a problem with the VBV buffer.
Try lowering the max bitrate and see what happens.
EDIT: Mug was faster..
tom942
15th May 2006, 12:24
Hi again,
Before all I want to say that I'm totally new to digital video (to handle DVDShrink I think it's not to know about it ;) ), so there a lot of things or technical terms that I still donīt know, although I'm reading all the guides and posts that I can :).
Here it is a thread I started with the same problem in other two movies:
http://forum.doom9.org/showthread.php?t=110826
I use Rebuilder both free and pro, and while in CCE everything is okey, with HC, I've got that problem.
What I'm trying to do is to reencode DVD that are about 7 GB into 4,3GB and see what quality I achieve and I've got to say is really good for my taste, except that issue.
So in the case of matrix, it says this:
- Reduction Level for DVD-5: 53,6%
- Overall Bitrate : 2.348Kbs
- Space for Video : 3.429.874KB
- HIGH/LOW/TYPICAL Bitrates: 8.808/1.695/2.348 Kbs
It is a full backup, nothing removed.
With King Kong was something similar. Reencode main movie, menus and use 2 audios streams and same for sub's, and in Crash the same.
Well, with Matrix, I set Best profile, Bias=20, default options for GOP and DC precision and filters inactive. After see the problem (BTW, glitching is when apeears a lot of blocks in the image and all distorted? ), I changed GOP size to 15 and later 12 (I live in Spain R2, so I use PAL) and nothing, later DCprecision to 10 and nothing.
About what you say VBV overflow when it encodes that parts, it doesnīt say anything, I mean it remains 0. Ahm I forget to say that I'm not using Hank's gui but the encoder itself (the one that comes with rebuilder).
I've been reading what you say about bitrates (Mug), and with that info, do you recommended to set max bitrate to 8500 or less?.
Ahm the last, my player is a JVC XV-N33SL.
Thanks and greets :).
Edit: I have done tests with 8500, 7500 and 7000 as Max_bitrate, and nothing, the problem persists :(.
EpheMeroN
15th May 2006, 23:06
I am encoding a bunch of separate video files into DVD-Compliant video files that I will be authoring into a DVD.
My question is, if I use the chapter creator inside HC to make chapter points for each mpeg, and then later add all of them into MuxMan, will the chapters stay intact? Or am I just wasting my time with this, and should just make all the chapter points in MuxMan?
rahzel
16th May 2006, 07:28
using HC 0.18 with DVD-RB with the movie, "Gladiator" there are some low bitrate smokey/cloudy scenes that i notice some major blocking. this wasn't AS noticeable with 0.17, but its more clearly visible with 0.18. the source also had SOME blocking, but its VERY hard to notice it.
i've also tried CCE, and it was pretty close to the source.
i used my DVD player to display the bitrate, and HC seemed to have went lower than CCE did. i used a VBR bias of 20 for all encodes, btw.
by blocking, its not really pixelation, but i just see a bunch of blocks. best way to describe it would be that it looks like a brick wall.
if anyone else has the movie gladiator and wants to see if its just me, the scene im talking about, is when maximus just escapes being executed, and hes riding a horse through a cloudy and stormy background. the clouds in the background are what shows blockyness (specifically the bottom area). shortly after that, hes sitting by the fire, and the smoke from the fire also shows some blockyness.
Boulder
16th May 2006, 11:23
@EpheMeroN: the chapter points mean that HC puts an I frame there so that the authoring program can use that frame as the chapter point. Otherwise it's possible that the frame in question won't be an I frame and you cannot place a chapter point there when you author the video.
@rahzel: what are the settings you used? Smoke/fog is a very tough challenge for any encoder.
rahzel
16th May 2006, 11:56
i used vbr bias 20, highest quality setting and the Auto-Q2 matrix with all 3 encoders tested (HC 0.17/0.18 and CCE 2.70.2.9).
Boulder
16th May 2006, 16:03
At what average bitrate?
rahzel
16th May 2006, 20:52
around 3390 i think.
smok3
17th May 2006, 14:06
edit: nm
techmule
18th May 2006, 12:57
It has a better RD optimization for P-frames, also B-frames will benefit from that because most B-frames are predicted from the P-frames.
Also some changes to the quantization routines and a lot of other tweaks
On my PC best profile also runs a bit slower, normal and fast profile runs a bit faster than 017.
And about this:
I will never comment about visual quality, everybody has his own opinion about it, you can't measure it...
But the metric tests I did shows an improvement over HC017, especially with lower bitrates:
In the "Challenge Low Bitrate" by Sagittaire I got the next values:
HC017, OPSNR 46.71, SSIM2 81.38
HC018, OPSNR 46.97, SSIM2 83.04
using best profile and the standard MPEG matrix
Thanks hank, I appreciate your work, but IMHO, the quality factor is becoming saturated now with very little visible difference in ver17 and ver18 but ver18 has lost on speed (BEST profile), so probably adding multithreading to HC would be a big enhancement for the next release.
Just my 10 cents.
Revgen
18th May 2006, 15:59
@techmule
Darksoul71 is designing a multi-threading frontend for HCEnc called HCEnc^n. It's a version similar to his Quenc^n multithreading frontend for Quenc.
There's no need for Hank to do the work.
Rumbah
19th May 2006, 00:35
The design of Darksoul71's approach can never reach the quality a normal multithreaded encoder can reach as the encoder can distribute the bits over the whole video to encode. If you divide the video into n parts, you can only guess the best distribution or in the worst case, every part gets the same average bitrate. You can see where this leads if you divide the video with n frames into n parts. With equal bitrate for all parts you'll just get a CBR file.
techmule
19th May 2006, 07:18
@techmule
Darksoul71 is designing a multi-threading frontend for HCEnc called HCEnc^n. It's a version similar to his Quenc^n multithreading frontend for Quenc.
There's no need for Hank to do the work.
There is.....I personally like the multithreading implemented by SAPSTAR in AutoQmatEnc, it runs a single instance of encoder but using multiple threads as per the processing capacity of your CPU, giving you that speed gain.
Its an intelligent and efficient way to implement multi-threading, rest all are workarounds.
smok3
19th May 2006, 08:48
actually i would love to see an easy to use batch encoder, with workflow like;
1. construct the ini
2. select some video files (avisynth is generated automagically, based on selected template; you could have a plain converttoyv here or fully grown deinterlacer, or whatever...)
- video out dir is the same as in dir by default, log files are in the same dir as in files by default.
3. click 'do it'
:thanks:
techmule
19th May 2006, 12:43
actually i would love to see an easy to use batch encoder, with workflow like;
1. construct the ini
2. select some video files (avisynth is generated automagically, based on selected template; you could have a plain converttoyv here or fully grown deinterlacer, or whatever...)
- video out dir is the same as in dir by default, log files are in the same dir as in files by default.
3. click 'do it'
:thanks:
DVD rebuilder does this already, except for the avisynth part since that is limited to individual choice. The process might be different but batch functionality is available.
Rumbah
30th May 2006, 21:26
A user of the HCEnc provider for Cuttermaran noticed that when you encode small files (a few frames), they are always coded with max bitrate. I think it's because HC uses CQ in such cases. Is there a way to change this behavior and to encode even small samples at the given bitrate?
hank315
30th May 2006, 23:41
ATM encodings with 1 - 3 frames are done with Constant Quantization.
If there's no CQ command in the ini file a CQ of 4 is used for a 1 frame encoding, for a 2 or 3 frame encoding CQ = 5.
If the CQ command is present in the ini file the supplied value for CQ is used.
Mug Funky
31st May 2006, 05:20
@ smok3:
this can be handled quite comprehensively using regular windows batches.
i've already got ones that automatically convert your source to an avs (with PAL, top-first output), and others that turn .avs files (or folders full of them) into m2v's with optional avg rate, max rate, aspect ratio and interlaced/progressive.
it'll even select a CQM based on the above variables (15% penalty for interlaced, and max bitrate takes precedence over avg when choosing matrices).
[edit]
hint:
making an avs file in commandline is as easy as:
ECHO avisource("%~dpn1.avi")>"%~dpn1.avs"
ECHO converttopal()>>"%~dpn1.avs"
ECHO converttoyv12(interlaced=true)>>"%~dpn1.avs"
you'll have to switch out the functions called in there though... converttopal is a monster script i developed for work use, designed to mimic hardware standards conversion, and also add the option to IVTC+speedup, denoise, etc. you'll have to write your own :)
foxyshadis
6th June 2006, 00:38
Use DVD-RB, or read up on how to use the command line. DVD-RB will be a lot simpler.
Audionut
6th June 2006, 04:34
Or run the GUI. HCgui_18.exe. Set all the options nessecary and it will create the ini file and encode.
Darksoul71
6th June 2006, 11:28
Hi mates,
sorry, I didnīt visit this thread for quite some time. Otherwise I would have commented things earlier.
The design of Darksoul71's approach can never reach the quality a normal
multithreaded encoder can reach as the encoder can distribute the bits
over the whole video to encode.
Thatīs not quite correct. It depends on the encoding method you use wether the quality
of the segmented encoding can compete with the standard encoding. For example
CQ, Quality-based, CBR and One Pass VBR with Average bitrate methods would
show no difference in quality. Only multipass encoding is "problematic".
You can see where this leads if you divide the video with n frames
into n parts. With equal bitrate for all parts you'll just get a CBR file.
Yes, but hopefully no-one will push things that far ! The usage of segmented encoding
tools (such as HCEnc^n / QuEnc^n) requires some common sense and is not a no-brainer.
The initial version of QuEnc^n was developed by me with standard desktop PCs including
a dualcore CPU in mind. This would mean a segment for each core. Given the fact that
you use reasonable bitrate for a movie I still doubt that you would see a heavy impact in
quality. Thatīs something I still believe unless something proves me wrong. Of course
in theory there could be a quality impact but what if the user simply doesnīt see it ?
There is.....I personally like the multithreading implemented by SAPSTAR
in AutoQmatEnc, it runs a single instance of encoder but using multiple threads as
per the processing capacity of your CPU, giving you that speed gain.
The question which remains to me is if hank considers to do a MT implementation
of HCEnc after all. May be HCEnc is coded in a way that makes implementation of MT
very hard or only provides a very small speed increase. I can only guess....
Its an intelligent and efficient way to implement multi-threading, rest
all are workarounds.
Hm, I donīt want to sound offensive but you donīt have a clue how intelligent the
MT implementation of someone really is unless you understand enough of threaded
implementation (I do not :D) and look at his source code. Multithreaded implementations
are not "intelligent" per se. ;)
And in regard to efficency Iīm keen on the numbers BR7 hopefully will report soon.
Why should one code a MT implementation when a simple external script written
in AutoIt can speed up the encoding process in a more efficent way ?
Even if you call it a workaround.
Note: Iīm not encoder developer. Thus I can not comment on the possible
speed increase based on the usage of MT. I just can imagine that you are
not able to parallelize every part of the code and this would simply
mean a lower speedincrease compared to
Just some final thoughts:
As indicated by Rumbah (and LigH over at german doom9) my "segmented encoding"
approach could cause a drop in quality for multipass encoding (an no other
encoding method !).
This is caused by the simple fact that the multiple encoder instances are not
"aware of each other" -> They work independently for their segment with the
assigned bitrate not considering how complex the other segments might be.
Normally any encoder does at least two passes in multipass mode. In the
first run the encoder analyzes the movie (always writing some kind of
log file). In the 2nd (3rd, 4th, etC) run the encoder will distribute the "bits"
in the movie based on some algorithm. Scenes which are less complex get
less "bits". Scenes with higher complexity will get more bits. Thus the average
bitrate of a less complex part of a movie will be much lower than your target
average bitrate while a more complex part will have a much higher average
bitrate. Cutting the movie in "chunks" will lower the encoding quality since
you limit the encoder(s). The less complex part of the movie could get "too much"
bits available while the more complex part of the movie could need them.
All this is pure theory and (as already stated above) I doubt one would see
a serious impact on the majority of movies encoded in 2-4 segments at
a reasonable bitrate. If you push your encoder to the limit, things might
look different but Iīm no-one of this "I wanna have 14 hrs of movie on
my DVD-5"-guys. YMMV.
Also Iīm donīt believe in true quality problems I coded the approach
described in the HCEnc^n thread here in the forum as proof of concept
in QuEnc^n. For those of you who havenīt read this thread: Iīll do a
1% sample run in CQ for each segment and use the filesize deviation
as indicator for the complexity of each segment. After this I simply
scale the average bitrate for each segment based on the deviation factor.
I called this method ABD = Adaptive Bitrate Distribution
The results are quite intesting. The log posted below is generated by
QuEnc^n. It indicates the size deviation for each segment in % compared
to the average size over all samples. It also shows the correction
factor and the adjusted bitrate. I know..itīs a bit hard to read but
helps me to understand how well (or not) ADB works.
17:02:32 >>Starting Calculation for Adaptive Bitrate Distribution (ABD) !
17:02:32 >>Average Filesize for Samples: 5.22 MB
17:02:32 >>Average Bitrate specified in CLI: 3789 kBit/s
17:02:32 >>Filesize for Sample # 0: 5411385 Bytes
17:02:32 >>Filedeviation for Sample # 0: -1.22 %
17:02:32 >>Bitrate Correction Factor for Sample # 0: 1.01100454049247
17:02:32 >>Corrected Bitrate Factor for Sample # 0: 3831
17:02:32 >>Filesize for Sample # 1: 4472682 Bytes
17:02:32 >>Filedeviation for Sample # 1: -18.36 %
17:02:32 >>Bitrate Correction Factor for Sample # 1: 1.16521694726561
17:02:32 >>Corrected Bitrate Factor for Sample # 1: 4415
17:02:32 >>Filesize for Sample # 2: 5197223 Bytes
17:02:32 >>Filedeviation for Sample # 2: -5.13 %
17:02:32 >>Bitrate Correction Factor for Sample # 2: 1.04618759355542
17:02:32 >>Corrected Bitrate Factor for Sample # 2: 3964
17:02:32 >>Filesize for Sample # 3: 5603867 Bytes
17:02:32 >>Filedeviation for Sample # 3: 2.29 %
17:02:32 >>Bitrate Correction Factor for Sample # 3: 0.979383130439973
17:02:32 >>Corrected Bitrate Factor for Sample # 3: 3711
17:02:32 >>Filesize for Sample # 4: 6229628 Bytes
17:02:32 >>Filedeviation for Sample # 4: 13.71 %
17:02:32 >>Bitrate Correction Factor for Sample # 4: 0.87658159483737
17:02:32 >>Corrected Bitrate Factor for Sample # 4: 3321
17:02:32 >>Filesize for Sample # 5: 4563328 Bytes
17:02:32 >>Filedeviation for Sample # 5: -16.7 %
17:02:32 >>Bitrate Correction Factor for Sample # 5: 1.15032540241665
17:02:32 >>Corrected Bitrate Factor for Sample # 5: 4359
17:02:32 >>Filesize for Sample # 6: 4989777 Bytes
17:02:32 >>Filedeviation for Sample # 6: -8.92 %
17:02:32 >>Bitrate Correction Factor for Sample # 6: 1.08026732584078
17:02:32 >>Corrected Bitrate Factor for Sample # 6: 4093
17:02:32 >>Filesize for Sample # 7: 5721328 Bytes
17:02:32 >>Filedeviation for Sample # 7: 4.43 %
17:02:32 >>Bitrate Correction Factor for Sample # 7: 0.960086352319545
17:02:32 >>Corrected Bitrate Factor for Sample # 7: 3638
17:02:32 >>Filesize for Sample # 8: 6036680 Bytes
17:02:32 >>Filedeviation for Sample # 8: 10.19 %
17:02:32 >>Bitrate Correction Factor for Sample # 8: 0.9082795605007
17:02:32 >>Corrected Bitrate Factor for Sample # 8: 3441
17:02:32 >>Filesize for Sample # 9: 6557807 Bytes
17:02:32 >>Filedeviation for Sample # 9: 19.7 %
17:02:32 >>Bitrate Correction Factor for Sample # 9: 0.822667552331482
17:02:32 >>Corrected Bitrate Factor for Sample # 9: 3117
For some segments there is a variation up to 20%. This smallest bitrate
assigned were 3117 kBit/s, while the highest bitrate was 4415 kBit/s.
Doing such an estimation works quite fast. It only took something like
2 Minutes for a 100 min movie encoded on my A64 3200+ with QuEnc 0.60.
Although the dependency between filesize and complexity of each segment
might not be linear, this should still give a good guess. Based on the
values listed above I see my thoughts confirmed. If you use a reasonable
choose bitrate for your movie (e.g. >= 2.5 MBit for HalfD1 progressive
material) a variation of +/- 20% in bitrate should not cause such a
serious drop in quality.
While the current version of QuEnc^n is still limited to one segment
per core, the modified version which I will release shortly after some
more testing handles the number of segments independently from the
number of cores. In order to give the enduser more options to finetune,
he can determine the segment length in frames as well as some sort of
"weight factor" which controls the impact of the deviations described
above. Of course there could still be some drop in quality but with this
work around Iīm pretty confident that it will be even less visible. All the
stuff described above is simply based on the fact that I donīt not the
complexity distribution within the movie and I do not know the algorithm
by which the encoder distributes.
All this changes if you use the "segmented encoding" approach within
an Encoder (Note: I do not say QuEnc, HCEnc, AQE :)). I donīt see
a big difference if an encoder does the first run parallel for "n" segments
or one run for complete movie. The encoder could "merge" the "n" logfiles
generated for each of the "n" segments. This should produce a logfile identical
to the standard "one instance" encoding process. After this the encoder could
start the 2nd pass and encode each segment based on the information stored
in the logfile using its "bitrate distribution" equation.
Benefits of this method which I can see:
- No big modifications required for the encoder source code as you "simply" do
the same things as QuEnc^n does but internally.
- No need to agonize which part of the algorithms used in your encoder are
are suitable for MT and which are not.
- May be a bigger speed increase over a "true" MT implementation.
Oh yes...there is also another "problem" with QuEnc^n (and of course HCEnc^n)
Iīm aware of: They produce an I-frame for the begining of each segment as
Iīm not doing any scene detection. I donīt think that this causes a tremendous
drop in quality since the amount of "unneccessary" I-frames is very small
in relation to the complete number of I-frames in the complete movie.
May be Iīm able to work out a simple scene change detection script in AVISynth
and do a readjustment of the segment borders to match a scene change.
Best regards,
D$
Boulder
6th June 2006, 18:48
At command prompt: hcenc_018.exe -ini path\inifile.ini
You don't even need to save the ini, the GUI can launch the encoder as well when you've setup the parameters for the encode.
techmule
7th June 2006, 07:59
Hm, I donīt want to sound offensive but you donīt have a clue how intelligent the MT implementation of someone really is unless you understand enough of threaded implementation (I do not :D) and look at his source code. Multithreaded implementations are not "intelligent" per se. ;)
No offence taken, intelligence is only an expression of speech, we all know that these dumb machines run on our intelligence. Although the source for autoqmatenc is not available but the way it reads the free threads available and you CPU capacity and detemines the number of threads to be used for encoding, seems like some intelligence to me.
And in regard to efficency Iīm keen on the numbers BR7 hopefully will report soon.
Why should one code a MT implementation when a simple external script written in AutoIt can speed up the encoding process in a more efficent way ?
Even if you call it a workaround.
Cos the processing speed of any hardware would be more than what any lines of code can achieve. Its to do with the CPU internals and how efficiently you can use the hardware power.
mezzanine
7th June 2006, 09:35
HCEnc does an amazing job with pal/progressive content. I've been using CCE for years but now i'm switching to HC, it gives higher detail and noise-free encodings.
Amazing work Hank, thanks.
Darksoul71
7th June 2006, 13:57
Hi techmule,
granted, I formulated my answer not clear enough. Intelligent was the wrong word. I guess smart would be more apropriate.
...but the way it reads the free threads available and you CPU capacity and detemines the number of threads to be used for encoding, seems like some intelligence to me.
Have you seen the number provided by BR7 over at VM ? While I donīt want to jump to conclusions it seems to me that the way AQE "judges" how many threads shall be used is not always the intelligent, er, smart one. There was a speed penalty from using MT by nearly 20% over the single thread encoding. Iīm currently in the mood adapting my QuEnc^n code for AQE and wouldnīt be suprised if 2-4 running instances of AQE limited to a single thread run faster on a dualcore machine than one instance with MT enabled.
But as I said I donīt wanna jump to conclusions.
First "AQE^n" has to be coded and I need enough volunteers with dual core / dual CPU systems willing to do benchmarks for comparing AQE vs. AQE^n.
After this we can discuss further....
...but this thread was about HCEnc, wasnīt it ? ;)
Cos the processing speed of any hardware would be more than what any lines of code can achieve. Its to do with the CPU internals and how efficiently you can use the hardware power.
Hm, agreed, there might be better optimisation techniques than my simplified segmented encoding approach. Esp. when using CPU extensions such as 3DNow and ISSE. I would call something efficient if you are using the existing hardware power in a smart(er) way. The best example I know was the 3DNow enabled OpenGL miniport which was available for K6-2/3 CPUs a long time ago. You could play Quake2 on Voodoo2/3 graphic adapters in a speed that was identical to those on Intel PII (good FPU performance) although the K6 CPUs had crappy FPU performance.
So to come back to the point "external" versus "internal" implementation: I would simply call the implementation effictive which provides the biggest speed increase at identical quality on dual core / dual CPU machines. Unforunately I do not own such a machine (but hopefully will in future :D) and thus Iīm depending on other people doing the testing to report "real numbers". To me itīs obvious that numbers donīt lie :rolleyes:
The implementation with the biggest encode FPS value is more effective. Thatīs it !
I wouldnīt write those things without the feeling that the "segmented" encoding approach can provide a tremendeous speed increase. May be even a lot better than a smart, efficient MT implementation. I really would like to hear on of our "encoder gods" commenting this "feeling". The number provided by Revgen when testing QuEnc^n on his AMD Multicore beast look really promising. Even I donīt have a multicore system myself, I have no doubt that 2-4 core CPUs will become standard over the next few years. Thus multicore / multi CPU enabled software will get more and more important.
For those who sing the "..but segmented encoding will not give me the same quality as non-segmented encoding"-song Iīll do some metrics (PSNR based on various combinations of bitrates and segments numbers). May be they are right or may be I am right although I still strongly doubt there is any visual impact on quality based on segmented encoding if you use reasonable parameters (e.g. segmentlength >= 5 mins, bitrate > 2.5MBit for progressive half D1 material, etc).
Best regards,
D$
Revgen
7th June 2006, 20:30
First "AQE^n" has to be coded and I need enough volunteers with dual core / dual CPU systems willing to do benchmarks for comparing AQE vs. AQE^n.
After this we can discuss further....
I'd rather see a Mencoder^n program before an AQE^n program is done. AQE is good but Mencoder is great quality and very slow when the advanced B-RDO options and others settings are turned on.
I wouldnīt write those things without the feeling that the "segmented" encoding approach can provide a tremendeous speed increase. May be even a lot better than a smart, efficient MT implementation. I really would like to hear on of our "encoder gods" commenting this "feeling".
MPEG-2 encoding isn't exactly slow anymore.
I use Quenc^n to encode DVD's faster. Plain and simple. If I really wanted to make a quality video, I can just use the plain vanilla program and it may take an hour or so longer. No big deal.
Quality/Speed tradeoffs shouldn't even be a concern with MPEG-2 anymore. We're not talking about codecs like AVC/H264 where speed/quality tradeoffs can affect the days rather than the hours a video takes to encode.
For those who sing the "..but segmented encoding will not give me the same quality as non-segmented encoding"-song Iīll do some metrics (PSNR based on various combinations of bitrates and segments numbers). May be they are right or may be I am right although I still strongly doubt there is any visual impact on quality based on segmented encoding if you use reasonable parameters (e.g. segmentlength >= 5 mins, bitrate > 2.5MBit for progressive half D1 material, etc).
Best regards,
D$
There is some visual difference between multi-threaded and single-threaded. But I have to squint at the vids in Vdub and browse frame-by-frame to see it. I wouldn't worry about it too much. It's absolutely unoticeable when viewed in full motion, even on my 24in. widescreen monitor.
Ebobtron
7th June 2006, 20:57
I can't seem to get command prompt to work...i need to like open it up in the location HC is or something...
and could you tell me how to get the gui to start the encoder...
For the GUI.
You click the long thin button on the bottom of the window, it is labeled encode.
If your going to tell me that it is grayed out, you do that.
First let me explain that a grayed out button normally means that you did not provided the program with the info it needs to do its job. With HC that normally means an input and output file name. Everything else will default to something.
Watch the info box, if your script is bad it will tell you.
Darksoul71
7th June 2006, 21:54
Sorry, I know itīs OT....
I'd rather see a Mencoder^n program before an AQE^n program is done. AQE is good but Mencoder is great quality and very slow when the advanced B-RDO options and others settings are turned on.
Hm, I just dlīed MPlayer / MEncoder and I donīt have the urgent need to code a frontend for an encoder with a gazillion of parameters :D
So "MEncoder^n" might make sense for those who know to use MEncoder. To me it just looks too timeconsuming....
Take care,
D$
First let me explain that a grayed out button normally means that you did not provided the program with the info it needs to do its job. With HC that normally means an input and output file name. Everything else will default to something.
Watch the info box, if your script is bad it will tell you.
Regarding the command prompt, if you extracted HC to c:\apps\hc,
you will need to specify the full path to it in your batch file unless you add HC's path to the PATH environment variable (in Control Panel, System under XP).
Rumbah
15th June 2006, 19:38
I just had a crash with HC.
It was called very often in a short time by DVD-RB. You can see the error message:
http://img197.imageshack.us/img197/5698/hcerror1jx.th.png (http://img197.imageshack.us/my.php?image=hcerror1jx.png)
It seems that the file isn't released properly before HC is called again. I ran into this error with my Cuttermaran provider, too, as HC is called there very fast, too.
hank315
16th June 2006, 00:44
This is a strange error.
When a HC encoding is done it closes all files and signals the OS to delete the .dbs file.
I checked the error message in the Fortran manual but that isn't very helpful.
Maybe Windows isn't done deleting the file and the next HC session already tries to open it ?
In the next release HC will not finish until the .dbs file is really gone, maybe it will solve it.
dragongodz
16th June 2006, 06:06
Maybe Windows isn't done deleting the file and the next HC session already tries to open it ?
In the next release HC will not finish until the .dbs file is really gone, maybe it will solve it.
a possibly more elegant solution would be to have the .db named based on source file. so file1.avs would produce file1.db and even if it wasnt deleted in time file2.avs could still be started wih a file2.db.
the only danger there would be if people used the same names for multiple files in multiple places. then the check to make sure there is no existing .db would kick in and you could either change the name if so, such as if file1.db exists change to file11.db. or if it exist try to delete, wait for success or failure and then proceed to encode if deletion ok or change .db name if not.
lots of possible ways. :)
Boulder
20th June 2006, 20:32
I just got a huge spike above 10000kbps.
--------------------
| encoder settings |
--------------------
profile: BEST
frames: 0 14913
framerate: 25.00
aspect ratio: 4:3
bitrate: NA
max. bitrate Kb/s: 8000
pass: 1 (Constant Quant)
constant Q: 2.000
pulldown: no
closed gops: no
VBV check: yes
scene change det.: yes
interlaced: yes, TFF
goplen,B-pic: AUTO
dc_precision: 10
scan method: ALTERNATE
bias: 0
chapter frames: 0
time code: 0 0 0 0
CPU: SSE2
matrix: CUSTOM
--------------------
| source stats |
--------------------
nr. of frames in source: 14914
width*height: 720*576
fps: 25.00
nr. of frames to encode: 14914
frames to encode: 0 - 14913
---------------------
| encoding - pass 1 |
---------------------
pass 1 encoding time: 1:32:36 (5556 s)
average fps: 2.7
------------------
| encoding stats |
------------------
total encoding time: 1:32:36 (5556 s)
intra matrix used
8 8 9 9 10 10 11 11
8 9 9 10 10 11 11 12
9 9 10 10 11 11 12 12
9 10 10 11 11 12 13 13
10 10 11 11 12 13 13 14
10 11 11 12 13 13 14 15
11 11 12 13 13 14 15 15
11 12 12 13 14 15 15 16
non-intra matrix used
8 8 9 9 10 10 11 11
8 9 9 10 10 11 11 12
9 9 10 10 11 11 12 12
9 10 10 11 11 12 13 13
10 10 11 11 12 13 13 14
10 11 11 12 13 13 14 15
11 11 12 13 13 14 15 15
11 12 12 13 14 15 15 16
nr. of gops: 1022
nr. of frames: 14914
nr. of I-frames: 1022
nr. of P-frames: 4628
nr. of B-frames: 9264
average quant (non linear): 6.786
VBV underflows detected: 0
VBV underflows fixed: 0
minimum bitrate: 3670
maximum bitrate: 10891
average bitrate: 7104
I'll try to run the same encode with v0.17 tomorrow and see what happens.
EDIT: looks like v0.17 shows a spike as well, 10918kbps is the maximum at the moment. I opened the v0.18-created m2v file in MPEG Stream Eye and it appears that the spike occurs on an I-frame in which one field is from one scene and the other field is from another. Other similar I-frames also showed some large sizes but apparently didn't go above the limit.
EpheMeroN
21st June 2006, 01:30
How come when encoding NTSC material with the "autogop" option checked, it never goes higher than 15?
NTSC max per GOP is 18 yes?
Mug Funky
21st June 2006, 03:21
@ boulder:
maybe try mpeg default matrix. your average quant is 6.786 with your custom matrix, so with the default mpeg matrix it'll come out at rougly 3.3, which should be the same quality.
the (possible) advantage of that is that I-blocks will be smaller for the same quant, and so HC wont have to try so hard to prevent the underflow. your encode will most likely go faster too.
question: do you get black blocks on near flat white areas with the current matrix + "best" profile with 0.18? i got that once and haven't tried again (i should probably have sent a sample to hank...)
Boulder
21st June 2006, 09:11
I checked my encode for the blocks but couldn't see any. I'm mostly dealing with analog captures so white is not really white ;)
I'll try the MPEG standard and see how it comes out. Do you mean the one with flat-16 non-intra matrix or the one HC calls MPEG standard (which is actually CCE standard)?
Boulder
21st June 2006, 14:07
I tried changing the matrix but it still peaks above 10000kbps. However, I tried muxing with MuxMan and it doesn't complain so it's DVD compliant. Don't know if it plays smoothly on all standalones though.
ronnylov
28th June 2006, 14:35
Maybe a stupid qustion but I wonder how to make a single pass CBR encoding with HC encoder. I found the VBR bias option which I set to 100 and I set average and maximum bitrate to the same value but it still does 2 encoding passes. This results in a CBR file but the encoding time feels unnecessary long because of 2-pass encoding.
If I am encoding a DVD with less runtime than 60 minutes I want to use maximum bitrate of the entire clip so I want 8000 kbit/s CBR and I think it is enough to make this encoding in 1 pass.
buzzqw
28th June 2006, 14:42
@ronnylov
actually isn't possible to do a CBR encoding
BUT is possible to do a Costant Quant encoding (at Q 2) with max bitrate capped at 8000 :D
BHH
Boulder
28th June 2006, 14:59
You cannot do CBR with one pass at the moment. The fastest way to do something similar is what buzzqw said. With q2 you should get as much out of the encode as possible in one pass, provided that you choose an appropriate quantizer matrix.
ronnylov
28th June 2006, 16:44
@ronnylov
actually isn't possible to do a CBR encoding
BUT is possible to do a Costant Quant encoding (at Q 2) with max bitrate capped at 8000 :D
BHH
Oh, I did not think about that option! I guess I need to do some testing to see how it works. I want the best possible quality on DVD without exceeding maximum bitrate for DVD (I have found that 8000 is generally a good maximum bitrate for DVD because sometimes some encoders peaks above maximum). I use it for converting DV to DVD and then normally put one hour maximum per disc. 8000 kbit/s CBR have given me fine results with other encoders like Mainconcept and Procoder. I use the 'mb1 interlaced DV' matrix when it is possible to change the matrix in the encoder (I have not found that option in Procoder). I really like the many preinstalled matrices I can use in HC encoder.
Regarding choosing a good matrix, can I make any conclusion of for instance making a constant quality encode with q=2 (or any other optimized value) using different matrices and checking average and maximum bitrate compared to a target bitrate? I can think that choosing too high values in the matrix may saturate the encoder to not be optimal at a choosen target bitrate (the file size will be smaller than the available space on the disc and bits are waisted) or using too low values will perhaps make it too difficult for the encoder resulting in some kind of artifacts? Is there an optimal target Q-value I should aim for?
Mug Funky
2nd July 2006, 07:13
(I have found that 8000 is generally a good maximum bitrate for DVD because sometimes some encoders peaks above maximum)
HC tends not to do that... though there's 1 isolated case i've heard of (interlaced scenechange i think, though i've fed hundreds of these to HC with no problem).
constant quant=1 with max bitrate is quite good. for a max of 8500 you'll be looking at an average bitrate of about 7500, but never exceeding the max. so you might be able to fit a little more on the disc.
dragongodz
4th July 2006, 06:51
i should mention hank315 is currently away on holidays. so anyone hoping for an update or new HC etc etc etc will have to wait for a little while. :)
Ebobtron
4th July 2006, 08:46
i should mention hank315 is currently away on holidays.
I was just going to ask him a question.
Darn, I was going to thank him as well, for passing emails to you when my system was down.
Thanks Hank, I'll catch up with you later. :)
dragongodz
5th July 2006, 03:10
well he should be back towards the end of the month so its not really that big a wait. :)
Heini011
11th July 2006, 11:04
hi,
maybe a little offtopic, but...
is there any equipment compatibility reason for the circumstance, that no build-in interframe matrix has an dc-coefficient smaller than 16 ? or can i use a smaller value in a custom matrix ?
greetings.
Mug Funky
12th July 2006, 11:34
down to 8 is fine... possibly even lower (though i wouldn't try it).
Audionut
12th July 2006, 13:53
Star Wars ep3 had values as low as 5 IIRC.
But I agree with Mug Funky.
dragongodz
13th July 2006, 05:34
interframe matrix
you of course mean the non-intra part since all built-in matrices actually do start with 8 for the intra part.
i agree you could go down to 8 but really a minimum of 16 is the norm. the only reason you would want to go down lower is if you wanted to create something like a ridiculously high bitrate matrix IMHO.
Freakazoidalmaniac
10th August 2006, 09:51
Hello Guys,
I wonder if you could demystify this for me? I have a whole whack of AVI's that I would like to put onto a DVD. I have also heard great things about the quality of this HC encoder. What I would like to do is:
1. Setup AVISYNTH to do whatever I need to do to go from AVI to DVD(not sure of yv12, pulldown etc n stuff i.e. no idea what I need to do).
2. Setup HC to do a multipass on the AVI.
3. Extract / Encode Audio.
4. Mux all back together / burn
Is there a simple way of doing this similar to divxtodvd but using HC Encoder?
Any guidance is truly appreciated. Links to articles etc I should read are welcomed. I have scoured the forums but can't seem to find the answers.
Thanks
Freak...
smok3
10th August 2006, 10:03
Freakazoidalmaniac, quick overview of what i do:
1. basic script is just converttoyv12() - i do encode progresive DV a lot, so this works for me in 99% of the cases
2. should be simple enough (there is a way to write batch encoding script even, check http://forum.doom9.org/showthread.php?p=762717 )
3. you can use vdub to extract audio and encode using your favorite ac3 encoder (or just leave the pcm version) - it must be 48kHZ (again you could automatize that using some batch script)
4. free way: muxman, not so free way: dvdlab(pro); burn: i just use nero, but there are free alternatives as well
lf there is something not very clear, just ask.
And thanks to hank for this great encoder.
Mug Funky
15th August 2006, 02:38
hank: would it be possible to have HC preserve the case of input/output file names? at the moment everything output is lowercase.
certainly not a big deal.
Mr. Monte
25th August 2006, 18:42
Is there new user manual for the HC018?
I wanted to know what I haev to do to implement the new adaptive feature (using RB-Pro)
warrenc@greatsoft.co.za
30th August 2006, 08:34
Hi Guys -> Firstly thanks to Hank315 for a superb Encoder - I've been using it since the initial release and dumped everything else.
A question to you great guru's here ( Interpret as sucking up ). A have The Matrix on Region 1 NTSC DVD and I extract the movie out with DVDShrink and use DGIndex to feed to AviSynth with in turn gets fed to HC.
However I like to PanAndScan my video before creating my DVD. Fine for Progressive video but not Interlace.
My script currently looks like this.
LoadPlugins ( DGDecode.DLL and DeComb.DLL )
mpeg2source( "E:\The Matrix.d2v" )
FieldDeInterlace( Blend=False )
# Here comes the PanAndScan
LanczosResize( 960,480 )
Crop( 120,0,-120,0 )
This is perfect for PAL -> It seems to make quick motion scenes very jerky. Even without the pan and scan section
Any ideas you wonderful people ?
Boulder
30th August 2006, 08:45
The Matrix is telecined so you should IVTC it, not deinterlace.
smok3
30th August 2006, 08:45
iam definatelly not an ntsc expert, but where do you do your IVTC?
warrenc@greatsoft.co.za
30th August 2006, 09:34
Thanks guys appreciated !!
Can you point me in a direction to get more info please. Maybe some demo AVS Scripts ?
smok3
30th August 2006, 09:41
maybe take a look here:
http://www.doom9.org/ivtc-tut.htm#IVTCForNTSC
Boulder
30th August 2006, 09:46
The DGMPGDec package includes a good tutorial.
warrenc@greatsoft.co.za
30th August 2006, 10:12
Hey, Thanks guys. You guys are all really amazing to be so free to give information out to twits like me !
grannyGeek
2nd October 2006, 05:10
First-time HCenc user --- please try to be patient with my n00bness.
I wasn't sure whether to post here or to make a new thread.
After using HCenc to successfully encode my first avs-script project, I tried another and got an error message that did not go into the log file.
EDIT ADDED -- This message occurred about 2/3 of the way through the Intermediate Pass--
The window wouldn't let me screen-capture, and closed before I was positive of the wording.
It was something like this
Invoke message AviSynth Environment Error 2.
I searched the aviSynth Wiki for Error 2 with no luck.
both Scripts imported other scripts that filtered small capture segments, and then I concatenated those scripts in the final "master" scripts.
Please, can anyone help me debug my avs script?
If I can learn what Error 2 means, maybe that will help me on my way.
Thanks in advance for any help you might have for me.
Ebobtron
2nd October 2006, 07:33
Please, can anyone help me debug my avs script?
If I can learn what Error 2 means, maybe that will help me on my way.
Thanks in advance for any help you might have for me.
I don't want to sound rude or incredulous but we need you script to help with it.
grannyGeek
2nd October 2006, 08:31
thanks for responding ---
Well, I hesitated to post them because this involves hundreds of lines of code.
However, I sould put them in a zip file tonight and post it later, if that would be useful ????
and I don't know if it is germane to the problem, but the "sub" scripts all load with no error into all three VDub apps, and the "master compilation" scripts load with no error in VDub apps and in HCenc. It's just that the second script I tried won't complete the Intermediate Pass.
granny
Boulder
2nd October 2006, 09:04
Chances are that the script is too complex and something goes wrong because of that. There's the infamous "too many Subtitle calls" that popped up recently in the Avisynth development section, this might be something similar.
grannyGeek
2nd October 2006, 09:30
Hi boulder - I was kind of afraid of that.
now, do you have any idea what sort of glitch Error#2 might be referencing?
I'm afraid the only way I might be able to troubleshoot this is to spend hours (and hours and hours) encoding each "sub" script and see when it throws the error.
I've avoided it, because HCenc is taking 20 minutes for first-pass encode of 5 minutes of video, but I guess I might just have to bite the bullet.
I want to use HCenc, because it is the only freeware mpeg2 encoder I've located that will let me set frame-exact chapter points.
Anybody have any other thoughts on any of this ???
Boulder
4th October 2006, 13:25
(new post email notification's not working..grr)
Maybe you should post a new thread in the Avisynth development subforum, I don't know if the devs happen to read these posts down here. IanB is quick to respond :)
Have you considered going the lossless intermediate file way with VirtualDub?
grannyGeek
5th October 2006, 08:07
Hi again boulder,
< I didn't get an email notice either --- growl !!!>
yup, I had already come to the conclusion that the intermediate encode with Huffyuv would be the best way to go.
I really didn't want to spend hours testing each mini-script to see if one had a fixable error.
Better to temporarily lose the hard-drive space than to lose what little sanity I have left :p
As you suggest, I'll post in the development forum, just in case, but hopefully, it's a one-time problem that will fade into the sunset, never to be seen again . . . .
Thanks for your help ---
gG
hank315
5th October 2006, 22:55
You probably got this message: 'Avisynth message: invoke environment error - pass 2'
This message is generated by HCenc because Avisynth wasn't able to create a scriptenvironment for the second pass.
Maybe your script is too complex but it can also be codec related, for example wmv can be pretty bad...
grannyGeek
6th October 2006, 04:06
Hi, hank315, thank you for posting.
and thank you so much for your encoder!
I've done a couple more small projects, and got great results.
Yes, I think that is the message I got.
The original capture was Huff YUY2, would the de-coder come into play in this scenario?
The final script imported about 15 smaller scripts.
I have a slight suspicion that the script that caused the problem might have been the one that imports a VDub filter and converts to RGB and back to YUY2, but haven't confirmed that.
I was hoping this had a simple solution, but oh well.
I just won't try to "over-script" any more.
as they say --- K I S S
thanks again
gG
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.