PCM is uncompressed and there is no quantization (not in same sense as in lossy compressed video/audio) - for PCM and video instead quantizer another term can be used - bit depth - you must distinguish between raw audio/video samples and compressed audio/video signal - this is two different things - lossy codec samples are functions being produce after particular transformation (DCT, Hadamard etc). Don't confuse spatial domain with frequency domain.
yes
Using x264 x265 against non optimized reference encoders is not fair... i see no relation with audio and container
Using crf and verifying quality objectively and subjectively also measuring bitrate. Fixed qp is unnatural video codec mode used usually only is some niche applications like Intra codecs dedicated for material editing (qp is then sufficiently low to introduce lowest possible quality losses).
your choice but this comparison sounds quite weird too me...
I assume it is latency undesired with live applications like video chat - so it may imply that codec allow to reduce latency at a cost of something.
Because to support correct NTSC framerates (NTSC as class of framerates not composite colour coding) they must be expressed as 30000/1001 or 60000/1001
They are like living proof for written standard i.e. codec specification - some video codecs (mostly those from google or regular developers without too much video experience) have no good specification and reference encoder code may act like documentation itself - you can take plain, quite well documented code and based on this code start creating own implementation - also they are used as reference i.e. your video codec implementation should be identical when decoded by reference decoder - using reference encoder is good starting point to decoder that deliver same result as reference decoder.
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 31 to 34 of 34
Thread
-
-
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 :
Code: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 :
Code: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
Code:./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
Code:./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
https://github.com/Rolinh/VQMT
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:
http://goughlui.com/2016/08/27/video-compression-testing-x264-vs-x265-crf-in-handbrake-0-10-5/
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?
Similar Threads
-
GF GTX 1060 can't efficiently accelerate HEVC & VP9 with software players.
By Stears555 in forum Software PlayingReplies: 32Last Post: 16th Oct 2017, 13:18 -
HEVC to AVC
By Bully9 in forum EditingReplies: 16Last Post: 29th Apr 2016, 08:33 -
Why has HEVC and VP9 so bad efficiency in a comparison with perseus V-NOVA
By Stears555 in forum Video ConversionReplies: 14Last Post: 14th Jun 2015, 10:56 -
X.264 AVC is better than DIVX265 HEVC. A TEST which proved it.DEAL WITH IT!
By Stears555 in forum Video ConversionReplies: 54Last Post: 21st Jan 2015, 04:10 -
NEW FFMPEG 2.1: native support for HEVC and VP9!!! :)))
By Stears555 in forum Video ConversionReplies: 3Last Post: 30th Oct 2013, 16:49