极致视频压缩日记 - 1.2GB=>200MB - 低码率高画质 - 批量多目录自动转换脚本

article/2025/8/21 12:55:51

效果图

格式av1@0.3M的码率,跟格式h.264@5M的码率,画质竟然差不多!

GPU拉满全速编码!

目标

1.视频瘦身储存,画质不变
2.自动批量压缩视频,多层目录递归处理 (脚本https://www.amjun.com/2327.html)
3.免费 (ffmpeg)
4.转换快 (CUDA硬件加速)

硬件要求

cpu: 随便
gpu: GTX 1060 或 Quadro P400 及以上

压缩方案对比

编码

文件大小

(仅编码不同)

发布优点缺点其他
H.2641G2003.05 支持广泛占地方软硬件支持超好
H.265300M2013.04文件小设备解码累需版权,导致软硬件支持不好
AV1200M2018.03文件更小设备解码累开源免费

实现步骤

  1. 下载安装“ffmpeg-git-full.7z”
    https://www.gyan.dev/ffmpeg/builds/
  2. 准备显卡 - N卡1060以上
  3. 安装好显卡驱动
  4. 安装 cuda tool kit
    CUDA Toolkit 12.9 Downloads | NVIDIA Developer
  5. 查询当前环境下 ffmpeg&cuda支持的格式
    ./ffmpeg.exe -hide_banner -encoders | grep nvenc

    然后看到支持av1的格式为:av1_nvenc
     
  6. 准备好 D:\原视频.mp4
  7. 开始转换 (具体参数参考手册 https://ffmpeg.p2hp.com/ffmpeg.html)
    ./ffmpeg.exe -hwaccel cuda -i "源文件路径" -c:v av1_nvenc -preset p7 -crf 30 -b:v 512k -vf scale=-1:720 -cpu-used 6 -threads 0 -c:a aac -b:a 128k -movflags +faststart -strict -2 "输出文件路径"
  8. 批量转换 (目录下多层目录,多视频)
    需要修改三个地方:

    bat脚本:
    @echo off
    chcp 65001 > nul
    setlocal enabledelayedexpansionrem 设置 ffmpeg 路径、需要压缩的文件目录,输出文件目录
    set "ffmpeg_path=D:\Rudon\Tools\ffmpeg\bin\ffmpeg.exe"
    set "input_dir=D:\全局共享\压缩前"
    set "output_root_dir=D:\全局共享\压缩后"for /r "%input_dir%" %%F in (*.mp4) do (set "input_file=%%F"echo 待压缩文件: !input_file!call set "output_file=!input_file:%input_dir%=%output_root_dir%!"rem echo 压缩后文件: !output_file!for %%I in ("!output_file!") do set "output_dir=%%~dpI"rem echo 输出目录: !output_dir!mkdir "!output_dir!" 2>nulrem 检查输入文件是否存在if exist "!output_file!" (rem 调用函数比较输入文件和输出文件的时长echo 输出文件已存在: !output_file!call :compare_durations "!input_file!" "!output_file!")else (call :compress_file "!input_file!" "!output_file!")echo "================================分隔符================================"
    )echo 脚本执行完成!!!!!按任意键退出.
    pauserem  方法===比较视频时长
    :compare_durations
    set "input_file=%~1"
    set "output_file=%~2"rem 获取输入文件、输出文件的时长
    for /F "delims=" %%A in ('%ffmpeg_path% -i "!input_file!" 2^>^&1 ^| findstr /C:"Duration"') do (set "input_duration=%%A"
    )
    for /F "delims=" %%B in ('%ffmpeg_path% -i "!output_file!" 2^>^&1 ^| findstr /C:"Duration"') do (set "output_duration=%%B"
    )for /F "tokens=2 delims= " %%C in ("!input_duration!") do (set "input_duration=%%C" 
    )
    for /F "tokens=2 delims= " %%D in ("!output_duration!") do (set "output_duration=%%D"
    )rem 忽略毫秒级别比较
    for /F "tokens=1 delims=." %%F in ("!input_duration!") do (set "input_duration=%%F"
    )
    for /F "tokens=1 delims=." %%G in ("!output_duration!") do (set "output_duration=%%G"
    )rem 比较输入文件和输出文件的时长
    rem echo "%input_file%"  时长 ==== "!input_duration!"
    rem echo "%output_file%" 时长 ==== "!output_duration!"
    if "!input_duration!" neq "!output_duration!" (echo 时长不一致,重新压缩文件...call :compress_file "!input_file!" "!output_file!"
    ) else (echo 时长一致,无需重新压缩文件.
    )goto :eofrem 方法===压缩文件
    :compress_file
    set "input_file=%~1"
    set "output_file=%~2"
    echo 正在压缩文件: !input_file! 请稍等...
    "%ffmpeg_path%" -loglevel quiet  -hwaccel cuda -i "!input_file!" -c:v av1_nvenc  -preset p7 -crf 30 -b:v 512k -vf scale=-1:720 -cpu-used 6 -threads 0 -c:a aac -b:a 128k -movflags +faststart -strict -2 "!output_file!" -y -progress progress.txt 2>&1 | findstr "time=" > con
    echo 压缩完成,输出文件为: !output_file! 请稍等...
    call :compare_durations "!input_file!" "!output_file!"goto :eof
    

    参考自 https://www.amjun.com/2327.html

更高目标

Web前端视频压缩省流,最小av1、中等h265、兼容h264,参考
https://zhuanlan.zhihu.com/p/1900946363786691369

ending...


http://www.hkcw.cn/article/XGyekrevrk.shtml

相关文章

媒体:升学不再只有“独木桥” 职教贯通培养拓宽道路

媒体:升学不再只有“独木桥” 职教贯通培养拓宽道路!随着职教贯通培养模式的不断推进,我国学生的升学选择已经更加多元。高考不再是唯一的出路。5月28日,教育部公布2025年全国高考报名人数为1335万人,比2024年的1342万人减少7万人。这是自2017年以来高考报名人数首次减少。…

多地曝“谷子店”闭店消息 “谷子经济”面临转型挑战

手办模玩生产车间里,年轻人正在参与“谷子”涂装工作。消费者正在挑选“谷子”。“谷子经济”还能像过去那样“丰收”吗?挣“二次元”的钱,难不难?不只是做单一的“谷子”销售,还自主开发产品,做IP代运营,一步一步介入“谷子经济”全链条。自己开发App,为平台用户建立“…

我国入境游出境游持续升温 双向奔赴激发市场活力

走进2025上海国际旅游交易博览会现场,可以感受到入境和出境旅游市场的繁荣。中外客商、展商根据满满的时间表,听宣讲、看项目、谈合作,为世界旅游市场注入动力。今年的上海国际旅游交易博览会于5月27日至29日举行,吸引了来自全球80多个国家和地区的700多家展商参展,展会规…

白宫称美国法院“叫停”关税是司法越权

美国联邦巡回上诉法院当地时间29日批准特朗普政府的请求,暂时中止美国国际贸易法院此前做出的禁止执行特朗普政府对多国加征关税措施的行政令的裁决。自美国国际贸易法院28日裁定禁止执行美政府多个关税行政令后,特朗普政府多名官员就指责这一裁决,提起了上诉。△白宫新闻秘…

运镜决定节奏:AI视频创作中的动态叙事法则

在AI视频创作工具日益普及的今天,如何通过镜头语言精准掌控节奏,成为创作者的核心竞争力。运镜——即镜头的移动方式(如推、拉、摇、移)与视角选择(如仰拍、俯拍、主观视角)——不仅是技术操作,…

【Redis】string

String 字符串 字符串类型是 Redis 最基础的数据类型,关于字符串需要特别注意: 首先 Redis 中所有的键的类型都是字符串类型,而且其他几种数据结构也都是在字符串的基础上构建的。字符串类型的值实际可以是字符串,包含一般格式的…

Java 文件操作 和 IO(3)-- Java文件内容操作(1)-- 字节流操作

Java 文件操作 和 IO(3)-- Java文件内容操作(1)-- 字节流操作 文章目录 Java 文件操作 和 IO(3)-- Java文件内容操作(1)-- 字节流操作观前提醒:1. Java中操作文件的简单介…

MySQL进阶篇(存储引擎、索引、视图、SQL性能优化、存储过程、触发器、锁)

MySQL进阶篇 存储引擎篇MySQL体系结构存储引擎简介常用存储引擎简介存储引擎的选择 索引篇索引简介索引结构(1)BTree索引(2)hash索引 索引分类索引语法SQL性能分析指标(1)SQL执行频率(2)慢查询日志(3)profile详情(4)explain或desc执行计划 索引使用引起索引的失效行为SQL提示覆…

造血干细胞移植中,选择合适供者需综合多因素考量

KIR 单体型即杀伤细胞免疫球蛋白样受体(KIR)单体型,是指 KIR 基因在染色体上特定的组合形式 。主要内容如下: 分类 着丝粒单体型(C 型):含有较多的抑制性 KIR 基因,这些基因编码的…

四.MySQL数据类型

数据类型分类 一.数值类型 1.tinyint类型 MySQL 整数类型范围(有符号 / 无符号) 类型字节最小值(有符号/无符号)最大值(有符号/无符号)TINYINT1-128 / 0127 / 255SMALLINT2-32,768 / 032,767 / 65,535ME…

深度解构:Profinet转Profibus网关如何重塑产品分离装置的控制逻辑

PROFINET是一种基于以太网的工业以太网通讯协议,而PROFIBUS则是一种国际化的现场总线标准。在很多工业生产环境中,这两种通讯方式都有其各自的应用场合和优势。当产品分离装置需要同时使用PROFINET和PROFIBUS进行通信时,无锡耐特森PROFINET转…

EasyVoice:开源的文本转语音工具,让文字“开口说话“

名人说:博观而约取,厚积而薄发。——苏轼《稼说送张琥》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、EasyVoice是什么?1. 核心特性一览2. 技术架构概览 二、安装部署指南…

外航飞机疑盲降国内在建跑道 机组认错跑道复飞

5月28日,有网友发帖称,一架外国航空公司的飞机在降落西安咸阳国际机场时发生意外状况,疑似盲降正在建设中的跑道,接地后复飞。该事件引发网友关注。据网友所述,该飞机在准备降落时,地面指令让落23L(南一跑道),结果落向24L(正在建的南二跑道),然后指挥复飞了,最后落…

[Redis] Redis:高性能内存数据库与分布式架构设计

标题:[Redis] 浅谈分布式系统 水墨不写bug 文章目录 一、什么是Redis?一、核心定位二、核心优势三、典型应用场景四、Redis vs 传统数据库 二、架构选择与设计1、单机架构(应用程序 数据库服务器)2、应用程序和数据库服务器分离3…

论坛项目测试报告

一、项目背景 1.1 测试目标 验证论坛功能完整性,确保用户个人中心、发布/删除管理、模块分类控制、搜索功能等核心模块 符合需求。 1.2 项目技术栈 后端:Spring Boot/Spring MVC 数据库:MySQL 前端:原生 HTML/CSS/AJAX 二、…

(LeetCode 每日一题)3373. 连接两棵树后最大目标节点数目 II(贪心+深度优先搜索dfs)

题目:3373. 连接两棵树后最大目标节点数目 II 思路:贪心深度优先搜索dfs,时间复杂度0(nm)。 第二棵树:对每个节点进行分类,0或1,相邻的节点肯定不同啦,这样就可以统计出0和1 各自的节点个数。 …

开疆智能Profinet转Profibus网关连接EC-CM-P1 PROFIBUS DP从站通讯模块配置案例

本案例是通过开疆智能Profibus转Profinet网关将正弦研发的Profibus从站模块连接的EM600变频器接入到西门子1200PLC的配置案例。 配置过程 1. 打开网关配置软件“”新建项目并添加模块PN2DPM并设置参数 2. 设置网关的Profibus参数。如站地址,波特率等。(…

【计算机常识】--环境变量

在 Linux/Unix 系统中,​​环境变量(Environment Variables)​​是操作系统或用户设置的全局参数,用于存储系统或程序的配置信息。其中,​​PATH​​ 是最重要的环境变量之一,它决定了系统在哪些目录中查找…

孙颖莎含泪感谢邱贻可 坚定追求大满贯梦想

孙颖莎含泪感谢邱贻可 坚定追求大满贯梦想!5月29日,在多哈世乒赛上,孙颖莎实现了混双三连冠并卫冕女单冠军。她坦言为自己感到骄傲与感动。当被问及是否还怀揣着实现大满贯的梦想时,孙颖莎坚定回答:“必须的!”采访中,她眼含热泪向邱贻可指导表示感谢,并表示希望未来能…

行为型:观察者模式

目录 1、核心思想 2、实现方式 2.1 模式结构 2.2 实现案例 3、优缺点分析 4、适用场景 5、注意事项 1、核心思想 目的:针对被观察对象与观察者对象之间一对多的依赖关系建立起一种行为自动触发机制,当被观察对象状态发生变化时主动对外发起广播&…