九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
使用 ffmpeg 對(duì)視頻的去水印、去除開(kāi)頭、結(jié)尾等基本操作

FFmpeg 是一個(gè)開(kāi)放源代碼的自由軟件,可以運(yùn)行音頻和視頻多種格式的錄影、轉(zhuǎn)換、流功能[1],包含了libavcodec——這是一個(gè)用于多個(gè)項(xiàng)目中音頻和視頻的解碼器庫(kù),以及l(fā)ibavformat——一個(gè)音頻與視頻格式轉(zhuǎn)換庫(kù)。 --Wikipedia

FFmpeg 是一個(gè)處理音頻/視頻非常強(qiáng)大的框架,可以對(duì)音頻/視頻進(jìn)行靈活的操作。
FFmpeg命令的典型語(yǔ)法是:

ffmpeg [全局選項(xiàng)] {[輸入文件選項(xiàng)] -i 輸入_url_地址} ...
 {[輸出文件選項(xiàng)] 輸出_url_地址} ...

安裝 FFmpeg 詳見(jiàn) CentOS7 安裝 ffmpeg

  1. 獲取音頻/視頻文件信息
ffmpeg -i input.mp4

-i 加上文件的 url 可以查看文件的詳細(xì)信息,其中就包括元數(shù)據(jù)等相關(guān)信息。

  1. 刪除或修改音/視頻的元數(shù)據(jù)信息
ffmpeg -i "two.mp4" -map_metadata -1 -y "input.mp4"
#-map_metadata -1 就是清楚文件的元數(shù)據(jù),-y 表示不用再次詢問(wèn)是否操作
ffmpeg -i input.mp4 -metadata artist=benarchen -metadata title="Test 1" output.mp4
#-metadata artist=benarchen 表示設(shè)置該資源的作者,-metadata title="Test 1" 是設(shè)置標(biāo)題
  1. 去除水?。ㄟm用于靜態(tài),如果是動(dòng)態(tài)水印會(huì)很影響視頻效果)
ffmpeg -i input.mp4 -b:v 3170k -vf  "delogo=x=1:y=1:w=1918:h=30:show=0" output.mp4
#-b:v 3170k 是設(shè)置視頻的碼率,可以不加。
#-vf  "delogo=x=1:y=1:w=100:h=30:show=0" 表示給視頻添加一個(gè)類似馬賽克的濾鏡效果,濾鏡的大小是以視頻左上角為(1,1)坐標(biāo),寬為 100,高為 30 的濾鏡,如果 show=1 就會(huì)有一個(gè)綠框,我這里是直接設(shè)置不可見(jiàn)
  1. 修改視頻格式
ffmpeg -i input.mp4 -qscale 0 -y output.mp4
#-qscale 0 參數(shù)是為了不影響資源的質(zhì)量
  1. 剪切視頻
    對(duì)視頻的剪切主要有兩個(gè),去除片頭和去除片尾,F(xiàn)Fmpeg 要去除固定時(shí)長(zhǎng)的片頭非常的簡(jiǎn)單,使用下面的命令就可以了:
ffmpeg -ss 00:03:00 -i input.mp4 -t 60 -c:v copy -c:a copy output.mp4
#-ss 00:03:00 表示從 3 分鐘開(kāi)始截?。ㄒ簿褪侨コ?3 分鐘的開(kāi)頭)
#-t 60/-to 60 這里 -t 和 -to 都是一樣的效果,意思是從截取開(kāi)始往時(shí)間軸截取 60s 
#-c:v copy -c:a copy 意思是復(fù)制源文件的編碼格式,這樣會(huì)比較快
#如果只是去除 3 分鐘的片頭可以不用加 -t 或者 -to 命令,如下:
ffmpeg -ss 00:03:00 -i input.mp4 -c:v copy -c:a copy output.mp4

但是還有一種情況就是在剪掉固定時(shí)長(zhǎng)片頭的同時(shí)也剪掉固定時(shí)長(zhǎng)的片尾,F(xiàn)Fmpeg 官方?jīng)]有直接提供這中功能,一種最常用的思路是在 shell 腳本中先用 FFmpeg -i 把文件的元數(shù)據(jù)信息保留下來(lái),再?gòu)脑獢?shù)據(jù)信息中提取出視頻的時(shí)長(zhǎng),用視頻的總時(shí)長(zhǎng)減去要剪掉的開(kāi)頭時(shí)長(zhǎng)后結(jié)尾時(shí)長(zhǎng)就是我們需要的實(shí)際時(shí)長(zhǎng)了,直接上命令吧

#!/bin/bash
#我這里要切除的開(kāi)頭和結(jié)尾都是 7 秒
beg=7
end=7

#用 for 循環(huán)直接獲取當(dāng)前目錄下的 mp4、mp3、avi 等文件循環(huán)處理,單個(gè)文件可以去掉 for 循環(huán)
for i in (*.mp4,*.mp3,*.avi ); do
	#將元數(shù)據(jù)信息臨時(shí)保存到 tmp.log 文件中
    nohup /usr/local/ffmpeg/bin/ffmpeg -i "$i" > tmp.log
    #獲取視頻的時(shí)長(zhǎng),格式為  00:00:10,10 (時(shí):分:秒,微妙)
    time="`cat /usr/local/ffmpeg/tmp.log |grep Duration: |awk  '{print $2}'|awk -F "," '{print $1}'|xargs`"
    echo $time
    #求視頻的總時(shí)長(zhǎng),先分別求出小時(shí)、分、秒的值,這里不處理微秒,可以忽略
    hour="`echo $time |awk -F ":" '{print $1}' `"
    min="`echo $time |awk -F ":" '{print $2}' `"
    sec="`echo $time |awk -F ":" '{print $3}'|awk -F "." '{print $1}' `"
    #echo $hour $min $sec
    num1=`expr $hour \* 3600`
    num2=`expr $min \* 60`
    num3=$sec
    #計(jì)算出視頻的總時(shí)長(zhǎng)(秒)
    sum=`expr $num1 + $num2 + $num3`  
    
    #總時(shí)長(zhǎng)減去開(kāi)頭和結(jié)尾就是截取后的視頻時(shí)長(zhǎng),并且這里不需要再轉(zhuǎn)回 hour:min:sec 的格式,直接使用結(jié)果即可
    newtime=`expr $sum - $beg - $end`
    echo $newtime
    /usr/local/ffmpeg/bin/ffmpeg -ss 00:00:07 -i $i -t $newtime -c:v copy -c:a copy /data/tmp/$i -y
done

上面的 shell 腳本可以根據(jù)實(shí)際情況作出調(diào)整。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
根據(jù)幀位置使用ffmpeg切片視頻
FFmpeg常用命令行
使用ffmpeg從視頻中提取純音頻&純視頻
Linux下ffmpeg視頻截取命令
ffmpeg命令混合多路音頻
Encode/AAC FFMPEG
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服