Our website is made possible by displaying online advertisements to our visitors. Consider supporting us by disable your adblocker or try PlayON and record Netflix, HBO, Hulu, etc! :)
+ Reply to Thread
Results 31 to 34 of 34
Thank you pandy
I'm using CBR mode now, let's say I want 3500 kbps, why the output bitrate for the file is not exactly 3500 sometimes it's 3550 or 3000, is this mode for to tell encoder, not exceeds given bitrate? I know when I choose 3500 this means the same bitrate in the whole video, and it's not good, but I'm trying to compare here.
whats you think about my settings :
for x264 :
x264 --profile main --preset medium --bitrate 3500 --input-csp i420 --output-csp i420 --input-depth 8 --output-depth 8 --input-res 1920x1080 --fps 50 --verbose ReadySteadyGo_1920x1080_120fps_420_8bit_YUV.yuv --pass 1 -o NUL --stats 264.stats x264 --profile main --preset medium --bitrate 3500 -o avc_3500.264 --input-csp i420 --output-csp i420 --input-depth 8 --output-depth 8 --input-res 1920x1080 --fps 50 --verbose ReadySteadyGo_1920x1080_120fps_420_8bit_YUV.yuv --dump-yuv 264.yuv --pass 2 --stats 264.stat
for x265 :
x265 --output-depth 8 --input ReadySteadyGo_1920x1080_120fps_420_8bit_YUV.yuv --fps 50 --input-res 1920x1080 --input-depth 8 --input-csp 1 -P main -p medium --bitrate 3500 --pass 1 --stats a.stats --output NUL x265 -o hevc_3500.265 --output-depth 8 --input ReadySteadyGo_1920x1080_120fps_420_8bit_YUV.yuv --fps 50 --input-res 1920x1080 --input-depth 8 --input-csp 1 -P main -p medium --bitrate 3500 --pass 2 --stats a.stats
./vpxenc --output=ReadySteadyGo_1920x1080_120fps_420_8bit_.webm --codec=vp9 --passes=2 --good --verbose --psnr --i420 --threads=8 --width=1920 --height=1080 --profile=0 --fps=50000/1001 --target-bitrate=3500 --cpu-used=1 --auto-alt-ref=1 --input-bit-depth=8 --tile-columns=2 ReadySteadyGo_1920x1080_120fps_420_8bit_YUV.yuv --bit-depth=8 --row-mt=1 --end-usage=cbr --webm
./aomenc ReadySteadyGo_1920x1080_120fps_420_8bit_YUV.yuv -v --threads=8 --width=1920 --height=1080 --i420 --profile=0 --fps=50000/1001 --codec=av1 --cpu-used=1 --passes=2 --pass=1 --fpf=aom.pass --target-bitrate=3500 --end-usage=cbr --aq-mode=1 --bit-depth=8 --input-bit-depth=8 ./aomenc ReadySteadyGo_1920x1080_120fps_420_8bit_YUV.yuv -v --threads=8 --width=1920 --height=1080 --i420 --profile=0 --fps=50000/1001 --codec=av1 --cpu-used=1 --passes=2 --pass=2 --fpf=aom.pass --target-bitrate=3500 --end-usage=cbr --aq-mode=1 --bit-depth=8 --input-bit-depth=8 -o ReadySteadyGo.webm
what I'm doing here, simply I encode with CBR mode with 3500 kbps, x264 and x264 the yuv output option enabled, and vp9 when I finish with encoder I pass the output webm to decoder to get yuv file same with av1, then I'm using VQMT tool to compare between yuv files with the original one to get PSNR, SSIM....etc
Is what I'm doing right or wrong?
when using pass 2, with the first pass I should not use the output option -o right? only for the second pass command
I saw some article about compression they use some graph to show the difference, on the x-axis (bitrate CBR with multiple values 2000,3500,4000..) then the y-axis there is PSNR or another metric, my question the psnr they suing is it the average psnr for the whole video or they compare certain frame with each codec ?
what is the codec used in DTH Broadcast ? are they use AVC?
Newer codec should deliver same quality at a half of bitrate when compared to previous codec generation. Forcing CBR doesn't sound correctly - this is artificial and suboptimal situation - VBR seem to be most optimal approach - for situation where some bitrate limitations exist you can specify VBV requirements - IMHO you should focus on quality than on bitrate...
I assume by DTH you mean satellite (DVB-Sx) - generally for SD MPEG-2 is used, for HD H.264 and for UHD H.265.
In your start post you have written, that you are working on a project about "Performance comparison of AV1, VP9, HEVC, AVC".
My question: Have you already defined for yourself what you mean, when you say "performance"? Possible meanings from my point of view:
- Ratio of quality to file size
- Decoding performance
- Encoding performance
- Level of maturity: Does it usually work fine in most cases?
Or maybe a mixture of those points?
Look e.g. at AV1: It's the candidate for the best ratio of quality to file size. But decoding and encoding performance are in a range that it's still far away from use in practice.
Or have a look at VP9: With the setting "--cpu-used=1" you'll get nice results but encoding performance will become horrible, so that you won't have fun with it if you try to encode a movie or so.
In general encoding performance is the main problem of VP9 from my point of view. And I guess that's the reason why nearly nobody will encode his Blu Rays in webm format.
With respect to CBR pandy has written enough. Forget it.
Above gdx has posted an interesting url:
In that example the authors compare different quality levels (crf). And they try to identify the qualtity levels where x264 and x265 can be considered as "transparent". I.e.: You won't notice a difference between the encoding and the original.
That's how I could imagine it:
- Do some encodings for each codec and try to identify the crf where transparency starts. You can also use your quality metrics for that. Of course that can differ from video to video. But I assume that an average value should be identifyable for each codec.
- Before you do that: Decide whether to use practical values for parameters like "--preset" (e.g.: medium or fast) and "--cpu-used" (e.g.: 4 for the 1st pass and 3 or 2 for the 2nd pass). Or do you want to use best quality parameters only?
- After you have identified those crf values do some encodings with those and compare ratio of quality to file size, decoding performance, encoding performance and maturity.
- Do your encodings for different resolutions. With constant quality x264 shows a linear relationship with respect to file size when resolution is increased. In contrast to that VP9 behaves logarithmically.
I've looked through your last encoding suggestions. Sorry, but for me they seem to be a bit inconsistent (2 pass ABR for x264 and x265, CBR for VP9 and AV1). Why not use ffmpeg for all instead of 4 different tools?