qixiaoning
2025-08-21 e38654fe9eff4562da4f18f8f018aed7879d493c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package service
 
import (
    "io/ioutil"
    "os"
    "os/exec"
    "time"
)
 
func FFmpegSnapshot(rtspURL string) ([]byte, error) {
    outputImage := "/tmp/" + time.Now().Format("20060102150405") + ".jpg"
    defer os.Remove(outputImage)
 
    // FFmpeg 命令
    cmd := exec.Command("ffmpeg", "-i", rtspURL, "-vframes", "1", "-q:v", "2", outputImage)
 
    // 执行命令并捕获错误
    err := cmd.Run()
    if err != nil {
        return nil, err
    }
 
    return ioutil.ReadFile(outputImage)
}