Log in

View Full Version : What bitrate for certain resolution.


AntiJw
26th October 2008, 12:15
Again :)
I generally use the AVS-command Trim(1000, 2000)
(but the trim-values should reflect the type of the entire source-video) and if the "Avg QP" (avg quantizers) for the encoded x264-video are around 15 to 20, then I'm satisfied.

EDIT: Of course, you compare visually with source (I,P,B frames).. because Psy-RDO makes quants less reliable.

Sagekilla
26th October 2008, 15:00
Trim(1000,2000) is hardly representative of a source video.. I'd rather use SelectRangeEvery(300,30) or SelectRangeEvery(600,60) for a 10% cut of various frames from the whole movie. No test beats the "use your eyes" test though. If it doesn't pass, go with a higher bitrate/CRF/(!?) QP

AntiJw
26th October 2008, 17:21
Trim(1000,2000) is hardly representative of a source video.. I'd rather use SelectRangeEvery(300,30) or SelectRangeEvery(600,60) for a 10% cut of various frames from the whole movie. No test beats the "use your eyes" test though. If it doesn't pass, go with a higher bitrate/CRF/(!?) QPI've read that SelectRangeEvery() is borked, so I don't use it anymore for testing that. Ofcourse bigger Trim()-values can be used to get more exact average.

Zarxrax
26th October 2008, 17:23
Every source is different, it's impossible to give any value that will work for everything. Since you say your target is around specific quantizers, then why not do a CRF encode instead of bitrate? Most people say that they obtain complete visual transparency to the source with quantizer 18 though, so do you really need such low quantizers?

AntiJw
26th October 2008, 17:29
@Zarxrax: Yeah, it totally depends on the source. I've used CRF 18 that wasn't good enough..
If you use "Avg QP", as I do to measure decent quality, then you don't have to encode an entire video to fit a DVD5 calculated with a bitrate-calculator, just to see that DVD5 isn't good enough, and rather use DVD9.

But yeah, you can do a Trim() with CRF 18 to measure the needed bitrate for decent quality.

And just use CRF 15 to 20 (then you don't need to test) if you don't care about a specific size,
although I'm not sure if 2-pass is still a bit better than CRF for more accurate VBV.

Sagekilla
26th October 2008, 18:06
What do you mean "SelectRangeEvery" is borked? The only "borked" part about is the fact that there will be an unusually large number of I frames, but even after you compensate for their increased size there's not much difference.

Need to compensate more? Use a larger radius: SelectRangeEvery(600,60) should give a decent mix.

AntiJw
26th October 2008, 18:22
What do you mean "SelectRangeEvery" is borked? The only "borked" part about is the fact that there will be an unusually large number of I frames, but even after you compensate for their increased size there's not much difference.

Need to compensate more? Use a larger radius: SelectRangeEvery(600,60) should give a decent mix.I've read someone got glitches in frames using SelectRangeEvery(). Although that might not matter for testing "Avg QP" if using a big test-area.

Sagekilla
26th October 2008, 18:26
The question is do you get glitches? I've never had problems with before and this is certainly news to me. Plus, if there are glitches this should be reported to the developers..

If you really wanna be paranoid just use: SelectEvery(300,0,1,2,3,4,5,6,7,8,9,10,...,60)

AntiJw
26th October 2008, 18:30
The question is do you get glitches? I've never had problems with before and this is certainly news to me. Plus, if there are glitches this should be reported to the developers..

If you really wanna be paranoid just use: SelectEvery(300,0,1,2,3,4,5,6,7,8,9,10,...,60)Nope, I haven't tested SelectEveryRange() enough for that. Two different people at a forum said it produces glitches (yeah, they should report it).
Thanks, I will try SelectEvery(300,0,1,2,3,4,5,6,7,8,9,10,...,60).

Didée
26th October 2008, 18:59
To my knowledge there are not any bugs in Avisynth's Select*() filters.

What is very well possible is that the people reporting such "problems" were actually using DirectShowSource() as input filter, which is very likely to produce such problems in combination with Select*() filters, since many DS decoders are not frame accurate when seeking in the source. (And Select*() forces a lot of seeking.)

AntiJw
26th October 2008, 19:15
To my knowledge there are not any bugs in Avisynth's Select*() filters.

What is very well possible is that the people reporting such "problems" were actually using DirectShowSource() as input filter, which is very likely to produce such problems in combination with Select*() filters, since many DS decoders are not frame accurate when seeking in the source. (And Select*() forces a lot of seeking.)Thanks Didée, but he wrote that he used DGAVCDec.

EDIT: No, he just used DirectShowSource().

Sagekilla
26th October 2008, 20:55
It's still unlikely that any of the Select filters produce any bad output. I've never had a problem using them ever, and unless you have a problem (which you should report) then don't worry about it.

I don't recommend trying the whole SelectEvery() statement either, just stick with SelectRangeEvery(600,60) because writing out the full script is slightly ridiculous.

Didée
26th October 2008, 21:33
Not knowing the version of DGAVCDec, it could stille be a source filter problem.

Whatever - just because someone reported something, somewhere, is not a sufficient reference to base decisions on.

I remember exactly that one time I got an BSOD when I clicked an "OK" button. (really.)
Now, should I recommend to NEVER EVER klick an OK button? "Hey, don't do that, you will get BSOD by doing so!"

AntiJw
26th October 2008, 22:25
@Didée: :-D point taken, but they weren't total encoding-"noobs", and it was in the "HDTV Encoding"-section of a forum.
I can ask them which DGAVCDec-version they used, if you want?

But I will try using SelectRangeEvery() more, myself, and see if I can replicate the error they had.

Guest
26th October 2008, 23:54
@Didée: :-D point taken, but they weren't total encoding-"noobs", and it was in the "HDTV Encoding"-section of a forum.
I can ask them which DGAVCDec-version they used, if you want? Yes, please get the version number as well as the script that failed. If it is a problem with random access in DGAVCDecode and you give me those things, then I have a chance of fixing it.

Sagekilla
27th October 2008, 00:53
"HDTV encoding" isn't any different from "SDTV Encoding" or any other encoding :) Bigger frames, bigger guns (and larger egos, in some cases), but that's about it. As I said, unless you specifically run into errors, then don't worry. You have plenty of people telling you that it should be no problem at that, compared to one or two people who had an issue.

In any case, try it and tell us if you have any issues. If you do, we can improve things at least.

AntiJw
27th October 2008, 09:50
Yes, please get the version number as well as the script that failed. If it is a problem with random access in DGAVCDecode and you give me those things, then I have a chance of fixing it.Sorry, I must have misunderstood him (because he wrote: "I have tried processing the m2ts through dgavcdec"). I asked him, and he said he used DirectShowSource(), so Didée was right.

@Sagekilla: True, but I wasn't implying (if it sounded like that) that HDTV-encoders are more skilled :)