
离线 TA的专栏
- 打卡等级:无名新人
- 打卡总天数:2
- 打卡月天数:0
- 打卡总奖励:28
- 最近打卡:2025-04-22 11:02:56
|
ffmpeg实现去水印以及切分视频
- package main
- import (
- "fmt"
- "log"
- "os"
- "os/exec"
- "path/filepath"
- "strconv"
- )
- // 使用ffmpeg将按固定时长将视频切割成多个小片段
- // ffmpeg -i input_video.mp4 -c copy -map 0 -segment_time 60 -f segment output_%03d.mp4
- // 这个命令将会把 "input_video.mp4" 这个视频按照60秒的时长切割成多个小片段,每个小片段保存在以
- // "output_001.mp4", "output_002.mp4", "output_003.mp4" ...等格式命名的文件中。
- // 命令的解释:
- // -i input_video.mp4: 输入视频文件的路径和文件名。
- // -c copy: 使用“copy”编解码器,将视频从输入直接复制到输出,不做任何修改。
- // -map 0: 将输入文件中的所有流全部复制到输出文件中。
- // -segment_time 60: 视频分段的时间长度,这里设置为60秒。
- // -f segment: 指定输出格式为分段的视频格式。
- // output_%03d.mp4: 输出文件的名称格式,%03d 表示输出文件名以 3 位数字为格式,例如 output_001.mp4。
- // -i input.mp4:指定输入文件为 input.mp4。
- // -ss 00:00:10:指定截取视频的开始时间为 10 秒。
- // -t 00:00:20:指定截取视频的持续时间为 20 秒。
- // -c copy:指定使用“copy”模式,这样可以保留视频的编码格式和画质。
- // output.mp4:指定输出文件为 output.mp4。
- func main() {
- inputFile := "C:\\Users\\test\\Desktop\\123.mp4"
- outputDir := "C:\\Users\\test\\Desktop\\output"
- segmentDuration := 30 // in seconds
- err := os.MkdirAll(outputDir, 0755)
- if err != nil {
- log.Fatal(err)
- }
- ffmpegPath, err := exec.LookPath("ffmpeg")
- cmd := exec.Command(ffmpegPath, "-i", inputFile, "-vf", "delogo=x=100:y=100:w=200:h=100:show=0", "-c:a", "copy", inputFile)
- err = cmd.Run()
- if err != nil {
- log.Fatal(err)
- }
- fmt.Println("Watermark removed successfully!")
- if err != nil {
- log.Fatal("FFmpeg not found in PATH")
- }
- cmd = exec.Command(ffmpegPath, "-i", inputFile, "-c", "copy", "-map", "0", "-segment_time", strconv.Itoa(segmentDuration), "-f", "segment", filepath.Join(outputDir, "output%02d.mp4"))
- err = cmd.Run()
- if err != nil {
- log.Fatal(err)
- }
- fmt.Println("Video split successfully!")
- }
复制代码以上就是ffmpeg实现去水印以及切分视频demo的详细内容,更多关于ffmpeg去水印视频切分的资料请关注晓枫资讯其它相关文章!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:  进行删除处理。
4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
|