@echo off setlocal enabledelayedexpansion

set input_folder=C:\Users\input_folder set output_folder=C:\Users\output_folder

for %%a in ("%input_folder%*.mp4") do ( ffmpeg -i "%%a" -ss 00:00:05 -to 00:00:55 -c copy "%output_folder%\new_%%~na.mp4" )

echo All done! pause

解释:

  1. @echo off 表示关闭命令行窗口的回显功能,只输出执行结果。

  2. setlocal enabledelayedexpansion 告诉批处理程序在执行过程中启用延迟环境变量扩展,这样可以动态地获取变量的值。

  3. set input_folder=C:\Users\input_folder 设置输入视频文件夹的路径。

  4. set output_folder=C:\Users\output_folder 设置输出视频文件夹的路径。

  5. for %%a in ("%input_folder%*.mp4") do ( ) 遍历输入文件夹中所有的.mp4格式的视频文件,%%a表示当前正在处理的文件。

  6. ffmpeg -i "%%a" -ss 00:00:05 -to 00:00:55 -c copy "%output_folder%\new_%%~na.mp4" 使用FFmpeg命令行工具去除视频的片头和片尾,并将新视频文件保存到输出文件夹中,文件名以new_为前缀,后面跟原文件名(去掉扩展名),最后加上.mp4扩展名。

  7. echo All done! 输出“处理完成”的提示信息。

  8. pause 暂停程序的执行,等待用户按下任意键继续

在windows下写一个批处理程序使用了FFmpeg 60版本命令行工具来批量去除视频的片头和片尾并保存为新视频文件。并解释代码注意:ffmpeg已加入系统环境变量

原文地址: https://www.cveoy.top/t/topic/cT2T 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录