Fiddler抓包视频并转图片,去重后制讲义【视频处理】
第一節(jié) 思路概述
解析、下載、合并、轉(zhuǎn)換(.mp4轉(zhuǎn).png)、去重、轉(zhuǎn)換(.png轉(zhuǎn).pdf)
第二節(jié) 下載在線視頻至計(jì)算機(jī)
*.mp4文件
推薦普通視頻下載工具,在此不贅述
*.m3u8文件(.ts與.key文件)
1、Fidder軟件:進(jìn)行抓包,選擇URL地址中包含.m3u8字段的地址。
*可使用"Request Header"請(qǐng)求頭的"Filter"過(guò)濾器,"Show only if URL contains"只顯示包含.m3u8字段的URL地址。
?2、“主機(jī)地址+URL地址”為視頻源地址,右鍵選擇“Copy”→“Just Url”,即可復(fù)制。
3、TS助手軟件:自行填寫(xiě)“媒體名稱”、“下載目錄”,粘貼視頻源地址至“m3u8文件地址”。
4、點(diǎn)擊“添加并下載”,經(jīng)過(guò)“下載m3u8列表文件”“下載Key文件”“下載TS文件”“解密合并”等一系列運(yùn)行后,成功下載。
5、在“下載目錄”中的文件夾里,保留“.mp4”的文件,其它的刪除即可。
第三節(jié) 從視頻流中,以一定間隔截取多量圖片
1、系統(tǒng)命令:將mp4轉(zhuǎn)化為png
<代碼>
ffmpeg -i E:\TS視頻下載\分割前視頻\測(cè)試視頻.mp4 -vf fps=1/5 E:\TS視頻下載\分割后圖片\測(cè)試視頻_%3d.png
ffmpeg -ss 0:0:0 -t 0:0:2 -i E:\TS視頻下載\分割前視頻\測(cè)試視頻.mp4 -r 1 E:\TS視頻下載\分割后圖片\測(cè)試視頻_%3d.png
<示例>
1 - 每秒截取一張圖片
ffmpeg -i input.mp4 -vf fps=1 image_%3d.png1 - 每秒鐘截取一張
2 - 每間隔X時(shí)間截取一張
ffmpeg -i input.mp4 -vf fps=1/10 image_%3d.png
//每間隔10秒,截取一張圖片
3 - 每間隔X個(gè)關(guān)鍵幀截取一張
ffmpeg -i input.mp4 -vf "select='eq(pict_type,PICT_TYPE_I)'" -vsync vfr image_%3d.png
//每間隔X個(gè)關(guān)鍵幀截取一張
4 - 每1幀截取一張
ffmpeg -i input.mp4 -r 1 -f image2 image_%3d.png //提取圖片
//-r 提取圖像的頻率,-ss 開(kāi)始時(shí)間,-t 持續(xù)時(shí)間,-f image2?指定格式化的格式為image2
5 - 截取視頻片段
ffmpeg -ss 0:1:30 -t 0:0:20 -i input.mp4 -vcodec copy -acodec copy output.mp4 //剪切視頻
//-ss 開(kāi)始時(shí)間,-t 持續(xù)時(shí)間
<運(yùn)行結(jié)果>顯示如下結(jié)果,則運(yùn)行完畢
Input #0, mpegts, from 'E:\TS視頻下載\分割前視頻\測(cè)試視頻.mp4':
? Duration: 00:04:13.10, start: 1.458667, bitrate: 291 kb/s
? Program 1
? ? Metadata:
? ? ? service_name ? ?: Service01
? ? ? service_provider: FFmpeg
? ? Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
? ? Stream #0:1[0x101](eng): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 187 kb/s
Stream mapping:
? Stream #0:0 -> #0:0 (h264 (native) -> png (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'E:\TS視頻下載\分割后圖片\測(cè)試視頻_%3d.png':
? Metadata:
? ? encoder ? ? ? ? : Lavf58.45.100
? ? Stream #0:0: Video: png, rgb24, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 0.20 fps, 0.20 tbn, 0.20 tbc
? ? Metadata:
? ? ? encoder ? ? ? ? : Lavc58.91.100 png
frame= ? 51 fps= 14 q=-0.0 Lsize=N/A time=00:04:15.00 bitrate=N/A speed=67.9x
video:17696kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
<方法>C語(yǔ)言控制輸出數(shù)字的有效位數(shù)
image_%3d.png
表示設(shè)定格式為 image_001.png iamge_002.png等的圖像文件。
函數(shù)的調(diào)用格式為: <格式化字符串> <參量表>
其中“格式化字符串”可以控制輸出數(shù)字的有效位數(shù),%x.y可以設(shè)置輸出的數(shù)字的位數(shù)。
x指定數(shù)據(jù)的寬度,即小數(shù)點(diǎn)前、x位整數(shù)的輸出位數(shù);
y指定數(shù)據(jù)的小數(shù)位數(shù),即保留小數(shù)點(diǎn)后、y位小數(shù)的輸出位數(shù)。
2、Pyhton:將圖片黑/白邊框裁剪(可選)
導(dǎo)入os,numpy,cv2等相關(guān)模塊
from PIL import Image
import os
import os.path
import numpy as np
import cv2
Image.crop(left, up, right, below)
-left:現(xiàn)左邊界與左邊界的距離
-up:現(xiàn)上邊界與上邊界的距離
-right:現(xiàn)右邊界與左邊界的距離
-below:現(xiàn)下邊界與上邊界的距離
rootdir = r'E:\TS視頻下載\分割后圖片'????????#指明被遍歷的文件夾
for parent, dirnames, filenames in os.walk(rootdir):????????#遍歷每一張圖片
? ? for filename in filenames: ? ?
? ? ? ? currentPath = os.path.join(parent, filename) ??
? ? ? ? img = Image.open(currentPath)
? ? ? ? box1 = (320, 93, 1280, 635)????????#以“1280×720”像素大小的圖片為例,設(shè)置需要剪裁的左邊、上邊像素和需要保留的右邊、下邊的像素
? ? ? ? img1 = img.crop(box1) ????????#圖像裁剪
? ? ? ? #img1.show() ????????#以默認(rèn)打開(kāi)方式打開(kāi)圖片文件
? ? ? ? img1.save(r"E:\TS視頻下載\裁剪后圖片"+'\\'+filename) ????????#存儲(chǔ)裁剪得到的圖像
? ? ? ? print("已保存:"+filename)
第四節(jié) 刪除圖片中一致的/相似的圖片
1、本文使用的是VisiPics1.31進(jìn)行圖片對(duì)比和去重。
(1)在官網(wǎng)下載重復(fù)圖片查找軟件,并安裝軟件
https://www.fosshub.com/VisiPics.html
(2)在官網(wǎng)下載漢化補(bǔ)丁,并替換掉內(nèi)容
打開(kāi)Language files→Full language files→Simplified Chinese(語(yǔ)言補(bǔ)丁→全語(yǔ)言補(bǔ)丁→簡(jiǎn)體中文)
在軟件的目錄(D:\Program Files (x86)\VisiPics\Lang-EN.ini)中替換為補(bǔ)丁的內(nèi)容
2、自動(dòng)選擇選項(xiàng)中,只勾選“未壓縮的圖片”,取消勾選“分辨率較低”、“文件較小”。
第五節(jié) 用圖片制成pdf
1、選擇所有需要的png圖片,合并為新的單個(gè)pdf。
(1)“創(chuàng)建”→“將文件合并為單個(gè)PDF”
(2)“添加文件”→“添加文件”
(3)“合并文件”
?2、已轉(zhuǎn)換成格式不易改變的PDF,可直接閱讀或轉(zhuǎn)為word后識(shí)別。
總結(jié)
以上是生活随笔為你收集整理的Fiddler抓包视频并转图片,去重后制讲义【视频处理】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 脉冲雷达数据采集基础
- 下一篇: layui 表格加载动画_仅需四步!BI