Add support width and height params for FFmpeg
This commit is contained in:
+34
-9
@@ -125,22 +125,46 @@ func Init() {
|
|||||||
s = cmd + input
|
s = cmd + input
|
||||||
|
|
||||||
if query != nil {
|
if query != nil {
|
||||||
|
// 1. Process raw params for FFmpeg
|
||||||
for _, raw := range query["raw"] {
|
for _, raw := range query["raw"] {
|
||||||
s += " " + raw
|
s += " " + raw
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, rotate := range query["rotate"] {
|
// 2. Process video filters (resize and rotation)
|
||||||
switch rotate {
|
var filters []string
|
||||||
case "90":
|
|
||||||
s += " -vf transpose=1" // 90 degrees clockwise
|
if query["width"] != nil || query["height"] != nil {
|
||||||
case "180":
|
filter := "scale="
|
||||||
s += " -vf transpose=1,transpose=1"
|
if query["width"] != nil {
|
||||||
case "-90", "270":
|
filter += query["width"][0]
|
||||||
s += " -vf transpose=2" // 90 degrees counterclockwise
|
} else {
|
||||||
|
filter += "-1"
|
||||||
}
|
}
|
||||||
break
|
filter += ":"
|
||||||
|
if query["height"] != nil {
|
||||||
|
filter += query["height"][0]
|
||||||
|
} else {
|
||||||
|
filter += "-1"
|
||||||
|
}
|
||||||
|
filters = append(filters, filter)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if query["rotate"] != nil {
|
||||||
|
switch query["rotate"][0] {
|
||||||
|
case "90":
|
||||||
|
filters = append(filters, "transpose=1") // 90 degrees clockwise
|
||||||
|
case "180":
|
||||||
|
filters = append(filters, "transpose=1,transpose=1")
|
||||||
|
case "-90", "270":
|
||||||
|
filters = append(filters, "transpose=2") // 90 degrees counterclockwise
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if filters != nil {
|
||||||
|
s += " -vf " + strings.Join(filters, ",")
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3. Process video codecs
|
||||||
switch len(query["video"]) {
|
switch len(query["video"]) {
|
||||||
case 0:
|
case 0:
|
||||||
s += " -vn"
|
s += " -vn"
|
||||||
@@ -165,6 +189,7 @@ func Init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 4. Process audio codecs
|
||||||
switch len(query["audio"]) {
|
switch len(query["audio"]) {
|
||||||
case 0:
|
case 0:
|
||||||
s += " -an"
|
s += " -an"
|
||||||
|
|||||||
Reference in New Issue
Block a user