Я работал над gstreamer applemedia encoder plugins и улучшил кодирование видео на основе VideoToolbox. Запуск GStreamer трубопровода, как:Когда «VTCompressionSession» VideoToolbox выигрывает от аппаратного ускорения?
$ gst-launch-1.0 filesrc location=source.avi ! decodebin ! vtenc_h264 ! h264parse ! qtmux name=mux ! filesink location=sink.mp4
Я ожидал увидеть очень низкий уровень использования процессора при кодировании h264 видео с помощью VTCompressionSession
на системах Mac OS. Однако в системах, которые я тестировал: в середине 2009 года Macbook Pro с GeForce 9600M и Mid 2011 Mac mini с Radeon HD 6630M кодирование по-прежнему потребляет от 80% до 130% процессора, что указывает на то, что он не аппаратно ускорен.
На каких конфигурациях оборудования или заданных параметрах сжатия (например, для которых kVTCompressionPropertyKey_ProfileLevel
) VTCompressionSession
использует аппаратное ускоренное кодирование?
Да, это хороший ответ. Тем временем я также нашел эту ветку Handbrake, где они имеют более подробную информацию об этих недокументированных (?) Параметрах для API. https://github.com/galad87/HandBrake-QuickSync-Mac/commit/2c1332958f7095c640cbcbcb45ffc955739d5945#diff-72d938f71df3506b8ad74530b39e7a0bR83 - Любое дополнительное указание на документацию или более подробную информацию было бы полезно. – drott