html5-canvas - 通过画布在 antmedia 直播中嵌入 logo
问题描述
我正在关注https://antmedia.io/how-to-merge-live-stream-and-canvas-in-webrtc-easily/上的博客,该博客解释了如何在 antmedia 直播中嵌入徽标。但是,我不太清楚如何使用 javascript SDK 初始化 localStream,如博客中所示。具体来说,initWebRTCAdaptor()的实现在哪里:
//initialize the webRTCAdaptor with the localStream created.
//initWebRTCAdaptor method is implemented below
initWebRTCAdaptor(localStream);
一个完整的工作样本将非常有帮助。
解决方案
博客文章似乎不是最新的。让我分享如何拥有此功能。
只需在构造函数中添加一个localStream
参数WebRTCAdaptor
。其次,使用下面的代码代替initWebRTCAdaptor
有关完整代码,请查看此要点。 https://gist.github.com/mekya/d7d21f78e7ecb2c34d89bd6ec5bf5799
确保在 image.src 中使用自己的图像。(使用本地图像)
var canvas = document.getElementById('canvas');
var vid = document.getElementById('localVideo');
var image=new Image();
image.src="images/play.png";
function draw() {
if (canvas.getContext) {
var ctx = canvas.getContext('2d');
ctx.drawImage(vid, 0, 0, 200, 150);
ctx.drawImage(image,50, 10, 100, 30);
}
}
setInterval(function() { draw(); }, 50);
//capture stream from canvas
var localStream = canvas.captureStream(25);
navigator.mediaDevices.getUserMedia({video: true, audio:true}).then(function (stream) {
var video = document.querySelector('video#localVideo');
video.srcObject = stream;
video.onloadedmetadata = function(e) {
video.play();
};
//initialize the webRTCAdaptor with the localStream created.
//initWebRTCAdaptor method is implemented below
localStream.addTrack(stream.getAudioTracks()[0]);
initWebRTCAdaptor(false, autoRepublishEnabled);
});
推荐阅读
- javascript - 如何使用 DICOM 文件中的像素数据创建画布?
- ruby - 将变量从 bash 脚本传递到 ruby 脚本
- android - 无法使用动态 sip 端口号在 Android 7.0 上注册 sipcall
- node.js - 为什么使用 axios 向不同域发送 GET 请求时未附加 cookie?
- python - 如何在 Django orm 中链接和过滤来自 3 个表的数据
- python-2.7 - 在python中打印时如何摆脱方括号和单引号
- powershell - 尝试使用特定字符串编辑 txt 文件
- jquery - JQ Grid 工具栏搜索不适用于日期列
- c# - 为 SingleOrDefault Linq 方法定义默认值
- dynamics-crm - 创建一个工作流/对话,提示更新现有字段?