1.安裝FFmpeg
http://ffmpeg.org/download.html
嫌麻煩我這提供網盤
鏈接:https://pan.baidu.com/s/1C-8FN9rhvrg4TzxrMHTxlQ
提取碼:picg
bin目錄中的運行程序自己配置一下環境變量
2.安裝python模塊
pip3 install ffmpy
3.代碼以及註釋(京東爲例子)
import cv2
import os
import requests
url = 'https://vod.300hu.com/4c1f7a6atransbjngwcloud1oss/0b9b4ed1210322894260592641/v.f30.mp4?dockingId=ff7cfcee-bd65-4da3-b77b-ec64339f8786&storageSource=3'
with open('1.mp4', 'wb') as fw:
fw.write(requests.get(url).content) #爲了把視頻下載到本地
video_path = "1.mp4"
cap = cv2.VideoCapture(video_path) #opencv讀取視頻對象
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) #獲取視頻寬
# 獲取視頻高度
#frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
print(frame_width)
delogo_x = frame_width - 310 #京東水印寬大改300不過爲了讓他長度不超過邊界這邊故意多剪了10
cmd = f'ffmpeg -i {video_path} -filter_complex "delogo=x={delogo_x}:y=1:w=300:h=70:show=0" 2.mp4'
# -i 視頻路徑
#delogo去除視頻某處的logo。其實實現原理就是將給出區域進行高斯模糊處理。始x於y,wh爲覆蓋水印的長寬,band是模糊強度
#show=1 便於調試他會出現一個綠色的框,去除水印的時候要把show改爲0
# 補充點:-vf:video_filter 濾鏡 ;-filger_complex混合濾鏡
os.system(cmd)