ffmpeg實(shí)現(xiàn)去水印以及切分視頻demo
ffmpeg實(shí)現(xiàn)去水印以及切分視頻
package main
import (
"fmt"
"log"
"os"
"os/exec"
"path/filepath"
"strconv"
)
// 使用ffmpeg將按固定時(shí)長(zhǎng)將視頻切割成多個(gè)小片段
// ffmpeg -i input_video.mp4 -c copy -map 0 -segment_time 60 -f segment output_%03d.mp4
// 這個(gè)命令將會(huì)把 "input_video.mp4" 這個(gè)視頻按照60秒的時(shí)長(zhǎng)切割成多個(gè)小片段,每個(gè)小片段保存在以
// "output_001.mp4", "output_002.mp4", "output_003.mp4" ...等格式命名的文件中。
// 命令的解釋:
// -i input_video.mp4: 輸入視頻文件的路徑和文件名。
// -c copy: 使用“copy”編解碼器,將視頻從輸入直接復(fù)制到輸出,不做任何修改。
// -map 0: 將輸入文件中的所有流全部復(fù)制到輸出文件中。
// -segment_time 60: 視頻分段的時(shí)間長(zhǎng)度,這里設(shè)置為60秒。
// -f segment: 指定輸出格式為分段的視頻格式。
// output_%03d.mp4: 輸出文件的名稱格式,%03d 表示輸出文件名以 3 位數(shù)字為格式,例如 output_001.mp4。
// -i input.mp4:指定輸入文件為 input.mp4。
// -ss 00:00:10:指定截取視頻的開始時(shí)間為 10 秒。
// -t 00:00:20:指定截取視頻的持續(xù)時(shí)間為 20 秒。
// -c copy:指定使用“copy”模式,這樣可以保留視頻的編碼格式和畫質(zhì)。
// 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實(shí)現(xiàn)去水印以及切分視頻demo的詳細(xì)內(nèi)容,更多關(guān)于ffmpeg去水印視頻切分的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Android自定義View實(shí)現(xiàn)九宮格圖形解鎖(Kotlin版)
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)九宮格圖形解鎖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
Android開發(fā):微信授權(quán)登錄與微信分享完全解析
本篇文章主要介紹了Android微信授權(quán)登錄與微信分享,具有一定的參考價(jià)值,有需要的可以了解一下。2016-11-11
Android實(shí)現(xiàn)啟動(dòng)引導(dǎo)圖
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)啟動(dòng)引導(dǎo)圖,文中示例代碼介紹的非常詳細(xì),具有為大家詳細(xì)一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
Android仿支付寶自定義密碼輸入框及安全鍵盤(密碼鍵盤)
這篇文章主要介紹了Android仿支付寶自定義密碼輸入框及安全鍵盤(密碼鍵盤),需要的朋友可以參考下2018-01-01
android 自定義TabActivity的實(shí)例方法
系統(tǒng)自帶的TabActivity的效果不甚理想。開發(fā)中對(duì)TabActivity自定義可能有兩種:第一種:改變TAB行的位置,如放到頁面下方。第二種:對(duì)TabHost圖片的自定義2013-11-11
Flutter中如何實(shí)現(xiàn)無Context跳轉(zhuǎn)詳解
這篇文章主要給大家介紹了關(guān)于Flutter中如何實(shí)現(xiàn)無Context跳轉(zhuǎn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Flutter具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Android開發(fā)中實(shí)現(xiàn)IOS風(fēng)格底部選擇器(支持時(shí)間 日期 自定義)
這篇文章主要介紹了Android開發(fā)中實(shí)現(xiàn)IOS風(fēng)格底部選擇器(支持時(shí)間 日期 自定義)的相關(guān)資料,需要的朋友可以參考下2016-11-11
Android 實(shí)現(xiàn)獲取手機(jī)里面的所有圖片詳解及實(shí)例
這篇文章主要介紹了Android 實(shí)現(xiàn)獲取手機(jī)里面的所有圖片詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-05-05

