「FFmpeg 依赖插件」是一款面向浏览器插件开发者的开发工具包,它将 FFmpeg 强大的多媒体处理能力封装为易用的依赖包。此工具包让开发者能在自身的插件中轻松实现图像、视频和音频格式的编解码,以及流媒体处理和格式转换等高级功能。通过集成「FFmpeg 依赖插件」,开发者可无缝拓展其插件的多媒体处理能力,为用户带来更多富有创意和实用性的功能。
{
"id": "LBCZE8V6LPCKD",
"version": "1.0.0",
"platform": "all",
"arch": "all",
"name": "窗口插件",
"logo": "/logo.png",
"keywords": [],
"dependencies": ["ffmpeg"],
"devTools": false,
"main":
{
"url": "index.html",
"width": 640,
"height": 480,
}
}
eagle.onPluginCreate(async (plugin) => {
// 检查 FFmpeg 依赖插件是否已经安装
const isFFemptInstalled = await eagle.extraModule.ffmpeg.isInstalled();
// 从打开插件中心,弹出安装 FFmpeg 依赖插件页面。
if (!isFFemptInstalled) {
await eagle.extraModule.ffmpeg.install();
return;
}
// 获取 FFmpeg 二进制文件所在位置
const ffmpegPaths= await eagle.extraModule.ffmpeg.getPaths();
const ffmpegBinaryPath = ffmpegPaths.ffmpeg;
const ffprobeBinaryPath = ffmpegPaths.ffprobe;
// 使用 spwan 指令执行相关操作
const spawn = require('child_process').spawn;
const ffprobe = spawn(ffprobePath, [
'-v', 'error',
'-print_format', 'json',
'-show_format',
'-show_streams',
"C:\\your_file.mp4"
]);
});
module.exports = async ({ src, dest, item, plugin, extraModule }) => {
return new Promise(async (resolve, reject) => {
try {
const ffmpegModule = extraModule.ffmpeg;
// 检查 FFmpeg 依赖插件是否已经安装
if (!ffmpegModule.isInstalled) {
return reject(new Error(`ffmpeg is not installed.`));
}
// 获取 FFmpeg 二进制文件所在位置
const { ffmpeg, ffprobe } = ffmpegModule.paths;
// 使用 spwan 指令执行相关操作
const spawn = require('child_process').spawn;
const ffprobe = spawn(ffprobePath, [
'-v', 'error',
'-print_format', 'json',
'-show_format',
'-show_streams',
"C:\\your_file.mp4"
]);
return resolve(item);
}
catch (err) {
return reject(err);
}
});
}