作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在批处理中有一个名为 %timecode% 的环境变量,如果存在并定义了时间码,则输出这种类型的字符串:
HH:MM:SS:FF
例如 01:32:21:05
在PAL模式下,25fps,我想把这个时间码转换成他对应的帧号,对于01:32:21:05情况下的rxample是138530
所以转换处理应该输出138530
Another examples: 00:00:00:00 ----------------> 0
00:00:00:01 ----------------> 1
........
00:00:00:24 ----------------> 24
00:00:01:00 ----------------> 25
00:00:01:01 ----------------> 26
等等我该怎么办?
最佳答案
@echo off
setlocal enableextensions disabledelayedexpansion
set "frameRate=25"
set "timecode=01:32:21:05"
for /f "tokens=1-4 delims=:" %%a in (
"100%timecode::0=: %"
) do set /a "frame=((%%a %% 100)*3600 + (%%b0)*60/10 + (%%c0)/10) * %frameRate% + (%%d0)/10"
echo %frame%
此代码使用冒号作为分隔符来拆分时间码变量内容。为了解决零前缀字段(以八进制形式考虑并且在 08
或 09
的情况下有问题),丢失或格式错误的数据,使用了一些“技巧”。
要更正小时部分,输入数据以 100
为前缀,该字段将以 100 为模进行处理。
为了处理有问题的零前缀字段,输入数据中的冒号后跟零被替换为相同的冒号后跟空格。
为了处理缺失字段的问题,在进行计算时,所有提取的数据都以零作为后缀(乘以 10),并且该字段中的运算结果除以 10
关于windows - 将 TIMECODE 转换为帧号的批处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26268335/
在批处理中有一个名为 %timecode% 的环境变量,如果存在并定义了时间码,则输出这种类型的字符串: HH:MM:SS:FF 例如 01:32:21:05 在PAL模式下,25fps,我想把这个时
我有一个变量叫做 posts_object[i].updated_time 它始终是一个 utf 时间码。它似乎总是发送太多的三个零。几个例子: Unix Date 133970
我是一名优秀的程序员,十分优秀!