mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 12:24:38 +03:00
Add video codec profiles (#5154)
This commit is contained in:
@@ -1,25 +1,32 @@
|
||||
package ffmpeg
|
||||
|
||||
type VideoCodec string
|
||||
type VideoCodec struct {
|
||||
Name string // The full name of the codec including profile/quality
|
||||
CodeName string // The core codec name without profile/quality suffix
|
||||
}
|
||||
|
||||
func makeVideoCodec(name string, codename string) VideoCodec {
|
||||
return VideoCodec{name, codename}
|
||||
}
|
||||
|
||||
func (c VideoCodec) Args() []string {
|
||||
if c == "" {
|
||||
if c.CodeName == "" {
|
||||
return nil
|
||||
}
|
||||
|
||||
return []string{"-c:v", string(c)}
|
||||
return []string{"-c:v", string(c.CodeName)}
|
||||
}
|
||||
|
||||
var (
|
||||
// Software codec's
|
||||
VideoCodecLibX264 VideoCodec = "libx264"
|
||||
VideoCodecLibWebP VideoCodec = "libwebp"
|
||||
VideoCodecBMP VideoCodec = "bmp"
|
||||
VideoCodecMJpeg VideoCodec = "mjpeg"
|
||||
VideoCodecVP9 VideoCodec = "libvpx-vp9"
|
||||
VideoCodecVPX VideoCodec = "libvpx"
|
||||
VideoCodecLibX265 VideoCodec = "libx265"
|
||||
VideoCodecCopy VideoCodec = "copy"
|
||||
VideoCodecLibX264 = makeVideoCodec("x264", "libx264")
|
||||
VideoCodecLibWebP = makeVideoCodec("WebP", "libwebp")
|
||||
VideoCodecBMP = makeVideoCodec("BMP", "bmp")
|
||||
VideoCodecMJpeg = makeVideoCodec("Jpeg", "mjpeg")
|
||||
VideoCodecVP9 = makeVideoCodec("VPX-VP9", "libvpx-vp9")
|
||||
VideoCodecVPX = makeVideoCodec("VPX-VP8", "libvpx")
|
||||
VideoCodecLibX265 = makeVideoCodec("x265", "libx265")
|
||||
VideoCodecCopy = makeVideoCodec("Copy", "copy")
|
||||
)
|
||||
|
||||
type AudioCodec string
|
||||
|
||||
Reference in New Issue
Block a user