我发现要使用ffmpeg来获取视频时长的每个答案都包含grep
,而这cmd
本来就不是。
我知道有一个“用于Windows的Grep”东西,但是我宁愿使用命令行附带的函数。
所以,当我这样做ffmpeg -i input
,我得到
Input #0, flv, from 'vid_test001.flv':
Metadata:
creationdate : Fri Sep 19 15:58:17
Duration: 00:00:12.44, start: 0.000000, bitrate: 806 kb/s
Stream #0:0: Video: flv1, yuv420p, 320x240, 1k tbr, 1k tbn, 1k tbc
Stream #0:1: Audio: nellymoser, 22050 Hz, mono, flt
我想从中获取持续时间,在这种情况下为“ 00:00:12.44”
ffmpeg -i "inputFile" 2>&1 | for /f "tokens=2 delims=, " %a in ('findstr /r /c:"^ *Duration:"') do echo %a
ffmpeg
在输入文件上执行,将stderr的输出(默认情况下ffmpeg将其信息写入其中)发送到标准输出。用过滤列表findstr
以检索以空格开头的行,后跟Duration:
。对于找到的每一行,将空格和逗号视为字段定界符,并请求该行中的第二个标记,即Duration:
标签后的时间。该值被检索到for
可替换参数中%a
,该参数将回显到控制台。
要从批处理文件中使用,请转义百分号,替换%
为%%
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句