找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 35213|回复: 3

[数值计算] [已解决]ffmpeg如何获取时长用于计算,批量删除片头片尾?

[复制链接]
发表于 2018-9-27 11:32:41 | 显示全部楼层 |阅读模式
本帖最后由 xp3000 于 2018-9-29 12:29 编辑

操作系统XP,

比如其中一个视频文件总时长为
00:55:09.095

含有片头2分 13秒150毫秒
00:02:13.150
含有片尾3分 13秒030毫秒
00:03:13.030
获得了视频时间,计算和分割不知道怎么弄了
  1. @CD /D "%~dp0"
  2. @echo off&title ffmpeg获取视频时间
  3. for %%a in (*.avi *.mkv *.mp4 *.flv) do (
  4. ffmpeg -i "%%a" 2>&1 | grep -oP "(?<=from ')%%a(?=')|(?<=DURATION        : )[^\.]+\.\d{3}(?=0+)" | sed.exe "3,$d"
  5. )>> 视频时间长度.txt

  6. pause
复制代码
想00:55:09.095减去片尾时间00:03:13;030,从片头00:02:13;150到00:51:56.065处保存为新视频文件。

某文件夹内很多个视频,视频总长时间不等,所有视频片头片尾时间一致,如何获取视频总长时间后去掉片头片尾,直接截取中间部分放入目录下的“已切割”文件夹?
发表于 2018-9-29 11:54:37 | 显示全部楼层
本帖最后由 WHY 于 2018-9-29 21:38 编辑

片头:s1=00:00:45.240
片尾:s2=00:01:30.090
  1. @echo off & setlocal enabledelayedexpansion
  2. set "s1=00:00:45.240"
  3. set "s2=00:01:30.090"
  4. for /f "tokens=1-4delims=:." %%a in ("%s2%") do (
  5.     set /a "t2=(1%%a %% 100 *3600 + 1%%b %% 100 * 60 + 1%%c %% 100) * 1000 + 1%%d %% 1000"
  6. )

  7. md NEW 2>nul
  8. for %%i in (*.avi *.mkv *.mp4 *.flv) do (
  9.     for /f "tokens=2-5delims=:., " %%a in ('ffmpeg -i "%%i" 2^>^&1 ^| find "Duration:"') do (
  10.         set /a "t=(1%%a%%100*3600+1%%b%%100*60+1%%c%%100)*1000+1%%d0%%1000,t-=t2,ms=t%%1000,t/=1000"
  11.         set /a h=t/3600,m=t%%3600/60,s=t%%60,h+=100,m+=100,s+=100,ms+=1000
  12.         set "t=!h:~1!:!m:~1!:!s:~1!.!ms:~1!"
  13.         ffmpeg -i "%%i" -ss !s1! -to !t! -vcodec copy -acodec copy "NEW\%%i" -y
  14.     )
  15. )
  16. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
xp3000 + 1 感谢分享

查看全部评分

 楼主| 发表于 2018-9-29 12:28:46 | 显示全部楼层
谢谢了,解决了问题
发表于 2021-9-9 02:37:03 | 显示全部楼层
本帖最后由 胖子不胖 于 2022-3-7 20:54 编辑

回复 2# WHY




    弄好了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 06:02 , Processed in 0.020772 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表