Hardware Acceleration¶
How to enable Intel Graphics, AMD, or NVIDIA hardware acceleration.
For detailed information about the supported hardware platforms, see About Hardware Acceleration.
To enable hardware encoding, on the output MediaPin, set the Param.HardwareEncoder parameter to HardwareEncoder.Auto. This must be done before calling Transcoder.open:
Example¶
# create output socket
output_socket = MediaSocket.from_preset(Preset.Video.iPad.H264_720p)
# enable hardware acceleration
out_video_pin = output_socket.pins[0]
out_video_pin.params[Param.HardwareEncoder] = HardwareEncoder.Auto
Complete Program¶
import sys
from avblocks import (
Library, MediaInfo, MediaSocket, Transcoder,
Param, Preset, HardwareEncoder
)
def main():
Library.initialize()
with MediaInfo() as input_info:
input_info.inputs[0].file = "Wildlife.wmv"
if input_info.open():
# create input socket
input_socket = MediaSocket.from_media_info(input_info)
# create output socket
output_socket = MediaSocket.from_preset(Preset.Video.iPad.H264_720p)
# enable hardware acceleration
out_video_pin = output_socket.pins[0]
out_video_pin.params[Param.HardwareEncoder] = HardwareEncoder.Auto
output_socket.file = "Wildlife.mp4"
# configure Transcoder and run
with Transcoder() as transcoder:
transcoder.allow_demo_mode = True
transcoder.inputs.add(input_socket)
transcoder.outputs.add(output_socket)
if transcoder.open():
transcoder.run()
transcoder.close()
Library.shutdown()
return 0
if __name__ == '__main__':
sys.exit(main())