bat 批处理实现 FFmpeg 命令压缩 MP4

视频拖放到 BAT 上执行,结果输出到原视频目录

bash 复制代码
@echo off
chcp 65001 >nul 2>&1  # 支持中文路径

:: ==================== 配置FFmpeg路径(必改!)====================
:: 请将下面的路径替换为你电脑中ffmpeg.exe的实际位置
:: 示例:set "ffmpeg_path=D:\ProgramFiles\ffmpeg\bin\ffmpeg.exe"
set "ffmpeg_path=D:\ProgramFiles\ffmpeg\bin\ffmpeg.exe"
:: ================================================================

:: 检查FFmpeg文件是否存在
if not exist "%ffmpeg_path%" (
    echo 未找到FFmpeg!请检查路径是否正确:
    echo %ffmpeg_path%
    pause
    exit /b 1
)

:: 检查是否拖放了文件
if "%~1"=="" (
    echo 请将视频文件拖放到本脚本上!
    pause
    exit /b 1
)

:: 获取输入文件的路径、文件名和扩展名
set "input_file=%~1"
set "output_dir=%~dp1"
set "file_name=%~n1"
set "file_ext=%~x1"

:: 输出文件名:原文件名 + _compressed + 原扩展名
set "output_file=%output_dir%%file_name%_compressed%file_ext%"

:: 执行压缩命令
echo 正在压缩:%input_file%
echo 输出路径:%output_file%
echo 请等待压缩完成...

"%ffmpeg_path%" -hide_banner -loglevel error -i "%input_file%" ^
    -c:v libx265 -crf 28 -preset medium ^
    -c:a aac -b:a 128k ^
    -pix_fmt yuv420p ^
    -vf "scale=-2:720" ^
    "%output_file%"

:: 检查压缩是否成功
if %errorlevel% equ 0 (
    echo 压缩完成!文件已保存至:
    echo %output_file%
) else (
    echo 压缩失败!请检查视频文件是否正常。
    if exist "%output_file%" del "%output_file%"  # 删除可能的损坏文件
)

pause
相关推荐
feiyangqingyun8 小时前
使用ffmpeg播放不同节目/实时切换节目并推流/推流不同的节目流
ffmpeg·推节目流·广播节目
左直拳1 天前
利用海康CVR实现视频流历史回放
ffmpeg·cvr·视频回放·历史视频
MR.欻2 天前
ZLMediaKit 源码分析(四):RTP/RTCP 协议栈实现分析
c++·人工智能·vscode·ffmpeg·音视频
晓py2 天前
音视频基础概念入门_FFmpeg学习笔记
学习·ffmpeg·音视频
daqinzl2 天前
Mpegts.js+FFmpeg+WebSocket+Node实时视频流实现方案
websocket·ffmpeg·node·mpegts.js
qq_369224333 天前
打开剪辑/直播/播放器提示ffmpeg.dll丢失?专属场景修复方法汇总
ffmpeg·dll·dll修复·dll错误
愿天垂怜3 天前
【C++脚手架】ffmpeg 库的介绍与使用
linux·服务器·开发语言·c++·ide·git·ffmpeg
韶博雅3 天前
oracle优化用到的sql
sql·oracle·ffmpeg
kkoral4 天前
视频二进制流RAW文件转图片完整教程
运维·python·ffmpeg·音视频
weixin_421607555 天前
短剧出海的AI 视频翻译技术方案:从单集打样到批量交付的工程全链路
人工智能·ffmpeg