脚本:
这是一个可用的脚本,使用node的fluent-ffmpeg
在视频底部绘制一个20px深红色进度条。它需要安装最新版本的ffmpeg
才能工作(我使用的是4.0.2)。您可以将进度条颜色从DarkRed
更改为任何有效的ffmpeg
颜色,并通过将bar_height
设置为所需像素值来更改高度。
#!/usr/bin/env node
var ffmpeg = require('fluent-ffmpeg');
let bar_height = 20;
let input_file = 'input_file.mp4';
let output_file = 'output_file.mp4';
ffmpeg.ffprobe(input_file, (err, data) => {
let input_duration = data.format.duration;
let progressBarGraph = [
{
inputs: '0',
filter: 'drawbox',
options: {
h: 'iw',
c: 'DarkRed',
width: 'iw',
thickness: 'fill'
},
outputs: 'rectangle'
},
{
inputs: ['0', 'rectangle'],
filter: 'overlay',
options: {
x: `-W+W*(t/${input_duration})`,
y: `H-${bar_height}`
},
outputs: "output"
}
];
ffmpeg(input_file).complexFilter(progressBarGraph, "output").output(output_file).run();
});
示例输出:
这是一个视频文件输出的截图:
您可以使用像flowplayer这样的库,如文档中建议的那样。
此外,在查看插件提供的选项后,您可以编写自己的seekbar,当视频加载时需要遵循以下步骤进行计算: