[FFmpeg-user] Low quality when using GPU (h264_videotoolbox) to create mp4s

MediaMouth communque at gmail.com
Sat Feb 22 05:35:44 EET 2020



> On Feb 21, 2020, at 12:35 PM, Lou Logan <lou at lrcd.com> wrote:
> 
> On Fri, Feb 21, 2020, at 10:57 AM, MediaMouth wrote:
>> 
>> The stdout seems to suggest the issue is -crf vs a constant bitrate..
>> Codec AVOption crf (Select the quality for constant quality mode) 
>> specified for output file #0 ([DestPath]) has not been used for any 
>> stream. The most likely reason is either wrong type (e.g. a video 
>> option with no video streams) or that it is a private option of some 
>> encoder which was not actually used for any stream.
>> but I've definitely used -crf in the past with h264_videotoolbox 
>> without an issue.
> 
> -crf is not a generic option. It is a "private" option that is only supported by
> certain encoders including libx264, libx265, libaom-av1, libvpx, and libxavs.
> I see no mention of this option in libavcodec/videotoolboxenc.c.
> 
> Generic vs private option description:
> https://ffmpeg.org/ffmpeg.html#AVOptions
> 
> You can see the private options offered by h264_videotoolbox with:
> ffmpeg -h encoder=h264_videotoolbox
> 
> I have no experience with videotoolbox, and I don't have the necessary
> hardware to try it, so I can't provide any suggestions other than to
> investigate the available private options and perhaps try manually
> providing an appropriate bitrate, such as -b:v 2000k.
> 

Hi Lou,

Constant bitrate is just fine.  It's hardly a burden -- though I could have sworn I did -crf before, but maybe not.
The speed is phenomenal.
Thanks for the links above.  Very helpful.



More information about the ffmpeg-user mailing list