【发布时间】:2021-12-09 10:04:45
【问题描述】:
我写了一个 nodejs 插件,用 node-gyp 编译。 它不适用于电子,但 nodejs 工作。 nodejs 和 electron 节点版本相同。
插件做这些事情:
- 加载 ffmpeg 静态库并打开 rtsp 或本地文件。
- 将帧转换为 rgba 颜色到 arraybuffer 并调用电子的主进程。
- 渲染器进程处理数据事件并将数据渲染到画布元素。
在电子中,以下代码总是返回Protol not found
int status = avformat_open_input(&pFormatContext, url, NULL, NULL);
if (0 != status) {
av_log(NULL, AV_LOG_ERROR, "ffmpeg open error: %s\n", av_err2str(status));
return status;
}
node-gyp 配置:
{
"targets": [{
"target_name": "ffmpeg",
"sources": ["src/ffmpeg/api/addon.c", "src/ffmpeg/api/ffmpeg.c"],
"include_dirs": [
"/home/my/ffmpeg_build/include"
],
"libraries": [
"-L$$PWD/../lib/ffmpeg-kylinux-aarch64",
"-lavformat",
"-lavcodec",
"-lavutil",
"-lswscale",
"-lswresample",
"-lx264",
"-lx265"
]
}]
}
【问题讨论】:
标签: node.js electron node-gyp node-addon-api n-api