Videos: Apple Video Toolbox hardware acceleration for macOS (#1843)

This commit is contained in:
aniqueta 2022-01-03 02:08:53 -08:00 committed by GitHub
parent d824f85c33
commit 24577aa635
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -26,6 +26,7 @@ import (
const DefaultAvcEncoder = "libx264" // Default FFmpeg AVC software encoder.
const IntelQsvEncoder = "h264_qsv"
const AppleVideoToolbox = "h264_videotoolbox"
// Convert represents a converter that can convert RAW/HEIF images to JPEG.
type Convert struct {
@ -381,6 +382,24 @@ func (c *Convert) AvcConvertCommand(f *MediaFile, avcName, codecName string) (re
"-y",
avcName,
)
} else if codecName == AppleVideoToolbox {
format := "format=yuv420p"
result = exec.Command(
c.conf.FFmpegBin(),
"-i", f.FileName(),
"-c:v", codecName,
"-c:a", "aac",
"-vf", format,
"-profile", "high",
"-level", "51",
"-vsync", "vfr",
"-r", "30",
"-b:v", c.AvcBitrate(f),
"-f", "mp4",
"-y",
avcName,
)
} else {
format := "format=yuv420p"