这是以秒为单位的视频长度:145
我想像这样输出这个值,80,74,2,
我如何在PHP中获得长度秒145
来像,80,74,2,
一样转换{"length_seconds":"145"}
如何将length_seconds 145
转换为此格式80,74,2
例如JavaScript
videojs('mint').thumbnails(eval("("+mksb('G_0TziI12SE',80,74,2,'wa1cIFpwGxMNbz9bRlRFZCkjlOc')+")"));
好吧,通过挖掘源代码,我在videojs.thumbnails.js:中找到了mksb()
function mksb(vid, img_width, frames, interval, sihg) {
var r = '';
counter = 0;
for (k = 0; k < 50; k++) {
for (j = 0; j < 10; j++) {
for (i = 0; i < 10; i++) {
if (counter == frames) break;
x1 = img_width * i;
x2 = x1 + 40;
x3 = x1 + 80;
y1 = j * 45;
y2 = y1 + 60;
y3 = y1 + 45;
x4 = frames - k * 100;
if (x4 < 100) {
x4 = Math.ceil(x4 / 10) * 45;
} else {
x4 = 450;
};
m = '//img.ytapi.com/sb/' + vid + '/storyboard3_L1/M' + k + '.jpg?sigh=' + sihg;
r += counter++ * interval + ":{src:'" + m + "',style:{left:'-" + x2 + "px',width:'" + img_width * 10;
r += "px',height:'" + x4 + "px',top:'-" + y2 + "px',clip:'rect(" + y1 + "px," + x3 + "px," + y3 + "px," + x1 + "px)'}},";
}
}
}
return '{' + r + '}';
}
所以,'G_0TziI12SE'
是视频ID,80
是缩略图宽度,74
似乎是帧数,2
似乎是以秒为单位的间隔,我不知道'wa1cIFpwGxMNbz9bRlRFZCkjlOc'
是什么,但可能是一个加密签名?
所以,74 * 2
是148,这相当接近145
,但这是我能得到的最接近的。这基本上看起来是一种"帧@帧率"类型的表达。因此,要将秒转换为这种类型的表达式,只需执行(int) $seconds / 2
即可。
这就是我的全部,但我希望它能帮助你指明正确的方向。