当前位置: 首页 > wzjs >正文

美食网站开发背景网络营销组织的概念

美食网站开发背景,网络营销组织的概念,做购物网站 营业范围是什么,不知名网站开发下面这个脚本会使用 ffmpeg 和 ffprobe 检查两个视频文件在以下方面是否“实质相同”: ✅ 检查内容: 分辨率(宽高)帧率视频总帧数音频轨道数量和采样率视频时长视频帧哈希(可选) — 对比前 N 帧的图像感知…

下面这个脚本会使用 ffmpegffprobe 检查两个视频文件在以下方面是否“实质相同”:


✅ 检查内容:

  1. 分辨率(宽高)
  2. 帧率
  3. 视频总帧数
  4. 音频轨道数量和采样率
  5. 视频时长
  6. 视频帧哈希(可选) — 对比前 N 帧的图像感知哈希,判断是否完全一致(更精确)

🧰 脚本需求:

确保已安装:

sudo apt install ffmpeg
pip install imagehash Pillow

🐍 Python 脚本如下:

import subprocess
import json
import imagehash
from PIL import Image
import osdef ffprobe_info(path):cmd = ['ffprobe', '-v', 'error', '-show_entries','format=duration', '-show_streams','-of', 'json', path]output = subprocess.check_output(cmd)return json.loads(output)def extract_frame(path, frame_num, output_path):cmd = ['ffmpeg', '-y', '-i', path,'-vf', f'select=eq(n\,{frame_num})','-vframes', '1', output_path]subprocess.run(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)def compare_hashes(file1, file2, frames_to_check=5):for i in range(frames_to_check):extract_frame(file1, i * 10, 'frame1.jpg')extract_frame(file2, i * 10, 'frame2.jpg')try:h1 = imagehash.average_hash(Image.open('frame1.jpg'))h2 = imagehash.average_hash(Image.open('frame2.jpg'))if h1 != h2:print(f"[❌] Frame {i*10} differs: {h1} vs {h2}")return Falseexcept Exception as e:print(f"[⚠️] Error comparing frame {i*10}: {e}")return Falseprint("[✅] Frame hashes match.")return Truedef compare_videos(src, dst):info1 = ffprobe_info(src)info2 = ffprobe_info(dst)def get_val(info, stream_type, key):for stream in info['streams']:if stream['codec_type'] == stream_type:return stream.get(key)return Nonecomparisons = [('Resolution', f"{get_val(info1, 'video', 'width')}x{get_val(info1, 'video', 'height')}",f"{get_val(info2, 'video', 'width')}x{get_val(info2, 'video', 'height')}"),('Frame rate', get_val(info1, 'video', 'r_frame_rate'),get_val(info2, 'video', 'r_frame_rate')),('Audio rate', get_val(info1, 'audio', 'sample_rate'),get_val(info2, 'audio', 'sample_rate')),('Duration (s)', round(float(info1['format']['duration']), 2),round(float(info2['format']['duration']), 2)),]all_match = Truefor name, val1, val2 in comparisons:match = "✅" if val1 == val2 else "❌"print(f"[{match}] {name}: {val1} vs {val2}")if val1 != val2:all_match = Falseprint("\n🔍 Checking frame visual hashes (first few frames)...")if not compare_hashes(src, dst):all_match = Falseif all_match:print("\n🎉 视频文件在核心内容上完全一致")else:print("\n⚠️ 视频存在差异")# 清理临时文件os.remove('frame1.jpg') if os.path.exists('frame1.jpg') else Noneos.remove('frame2.jpg') if os.path.exists('frame2.jpg') else None# 使用示例
compare_videos("yanhuorenjia_12_src.mp4", "yanhuorenjia_12_dst.mp4")

💡 说明:

  • 它会提取每个视频的前 5 帧(间隔取)做图像哈希对比,适合检查是否重新编码或压缩。
  • 如果帧、音频、时长、分辨率都一样且图像一致,那可以认为视频实质相同。
  • 支持大视频,速度也不错。
http://www.dtcms.com/wzjs/428989.html

相关文章:

  • 平台搭建与拆除流程北京seo网站设计
  • 可以进入外国网站的浏览器网推资源渠道
  • 做多肽的都有哪些网站百度正版下载恢复百度
  • 网站建设有什么费用产品经理培训哪个机构好
  • 学做电商的网站seo范畴有哪些
  • 孟州网站国产长尾关键词拘挖掘
  • 网站地图怎么做_百度云搜索引擎网站
  • 做毕业设计免费网站建设怎么优化一个网站关键词
  • 做竞猜网站犯法吗长沙百度seo代理
  • app网站建设制作seo排名点击首页
  • 西安网站建设是什么bt磁力搜索引擎
  • 网站上线需要怎么做seo优化搜索推广
  • 西安网站建设服务商vivo应用商店
  • 外卖网站开发背景外贸网站推广平台有哪些
  • 一级av做爰片不卡免费网站什么公司适合做seo优化
  • 网站制作过程合理步骤是什么网站建设加推广优化
  • 网络工程师工资上海关键词优化按天计费
  • 信息技术九年级上册网站咋做建一个企业网站多少钱
  • 手机网站wap搜索引擎优化的报告
  • 北京大兴专业网站建设公司东莞海外网络推广
  • 网站怎么做背景不变页面滑动上海搜索排名优化
  • 佛教网站大全网百度关键词查询排名怎么查
  • 成都制作网站app推广是什么意思
  • wordpress个人模板关键词自助优化
  • 做外贸网站服务器要选择哪里的百度账户登录
  • 聊城做手机网站建设福建百度seo排名点击软件
  • 手机做直播官方网站拉新app推广平台排名
  • 南城微信网站建设上海今天最新发布会
  • 深圳个人网站建设厦门网站seo哪家好
  • 做网站如何语音域名查询网站入口