gpt4 book ai didi

node.js - 环回上的 Kurento 媒体管道覆盖图像不起作用

转载 作者:行者123 更新时间:2023-12-01 03:02:23 24 4
gpt4 key购买 nike

我无法让图像叠加显示在环回视频上。我可以使用 rtpEndpoint.connect(rtpEndpoint, function....) 对脚本进行环回但是当我尝试添加 ImageOverlayFilter 时,出现了一些我无法解决的错误。

错误:“MediaType”的值无效

“错误”:{“代码”:40001,“数据”:{“类型”:“MARSHALL_ERROR”},“消息”:“'MediaType'的无效值”}

   var overlayparams = {
id: "TESTTEST",
uri: "file://tmp/media/sample.png",
offsetXPercent: 0,
offsetYPercent: 0,
widthPercent: 0,
heightPercent: 0,
keepAspectRatio: true,
center: true,
mediaPipeline: pipeline
}

pipeline.create("ImageOverlayFilter", overlayparams, function (error, filter) {
if (error) return console.log(">>>>>"+ error);

return callback(null, rtpEndpoint, filter);

});

稍后在文件中
    rtpEndpoint.connect(rtpEndpoint, imageOverlay, rtpEndpoint, function (error) {
if (error) return onError(error);
console.log("Added overlay to loopback");
});

/*
// This works for normal loopback
rtpEndpoint.connect(rtpEndpoint, function (error) {
if (error) return onError(error);
console.log("loopback works");
});
*/

我也尝试过使用 filter.addVideo 方法而不是 overlayparams 对象,但它产生了相同的结果。

最佳答案

更新!
假设 imageoverlayfilter 与 Kurento 中的 faceoverlayfilter 类似,则引用的文件必须是 http(s) url。如果您在本地存储文件,则需要使用网络服务器为它们提供服务器或远程托管它们。

所以,而不是...
“文件://tmp/media/sample.png”

取决于您拥有 http(s) 服务器根目录的位置,您将拥有...
"https://localhost/tmp/media/sample.png "

另请注意,在 kurento 6.11 之前确认 imageoverlay 过滤器存在问题。最新的是6.13所以它可以解决...
https://github.com/Kurento/bugtracker/issues/350

除了上面描述的更改之外,您还可以尝试使用下面的代码将 FaceOverlayFilter 替换为 ImageOverlayFilter 并将 setOverlayedImage 替换为 addImage,因为这两个过滤器的用法和实现几乎相同。

所以换...

pipeline.create("FaceOverlayFilter", (error, faceOverlayFilter) => {
if (error) {
return callback(error);
}
// This adds the Mario hat
faceOverlayFilter.setOverlayedImage(
url.format(asUrl) + "img/mario-wings.png",
-0.35,
-1.2,
1.6,
1.6,
function(error) {
if (error) {
return callback(error);
}
return callback(null, webRtcEndpoint, faceOverlayFilter);
}
);
});

到...
pipeline.create("ImageOverlayFilter ", (error, ImageOverlayFilter ) => {
if (error) {
return callback(error);
}
// This adds the image
ImageOverlayFilter .addImage (
"https://localhost/tmp/media/sample.png",
0,
0,
0,
0,
true,
true
function(error) {
if (error) {
return callback(error);
}
return callback(null, webRtcEndpoint, ImageOverlayFilter );
}
);
});

关于node.js - 环回上的 Kurento 媒体管道覆盖图像不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60232249/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com