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)
| }
|
|