This is giving me 900-1300 FPS with an nVidia 1080 on a laptop, so at least a full order of magnitude faster than the CPU bound encoder. High Efficiency Video Coding tiers and levels are constraints that define a High Efficiency Video Coding (HEVC) bitstream in terms of maximum bit rate, maximum luma sample rate, maximum luma picture size, minimum compression ratio, maximum number of slices allowed, and maximum number of tiles allowed. For stereo, 80kbits is acceptable you might want to up it depending on the source, but for the usual XVID/MP3 AVIs, 80k is still better than 128k MP3, so giving it more isn’t going to make much perceptible difference. You will need to adjust the bitrate according to the number of channels in the source. The tag option forces it to use hvc1 instead of hev1, because Apple only supports the hvc1 tag. To get approximately the same bitrate as the 23 CRF setting in Handbrake’s H.265 CPU encoder, I have found that the CQ setting should be 29 when watching the encode, the “q” setting seems to sit closer to 23 than 29, which is the desired output. On my GPU, termporal_aq does not work (would have been better for animation), so I turned on spatial_aq to have it look at the frame for areas that can be more or less efficiently encoded based on how “busy” the area is i.e flat surfaces or smooth gradients vs lots of non-related shapes. The rc-lookahead uses the maximum number of frames (32) to look ahead that the nVidia NVENC encoder supports to to better bitrate estimations. I’m not sure what that means exactly, but it’s still very fast from a FPS encoding standpoint. It uses the “slow” profile, which says the equivalent of a 2 pass encode. This works about perfectly for standard AVIs you find out on the net. In playing with values for ffmpeg to try to get a similar output to my “standard” settings in HandBrake, this is what I came up with: ffmpeg -i "$1" -c:v hevc_nvenc -preset slow -profile:v main10 -rc-lookahead:v 32 -spatial_aq 1 -cq 29 -tag:v hvc1 -c:a libfdk_aac -profile:a aac_he -b:a 80k "$( basename "$1".
0 Comments
Leave a Reply. |