javascript - 在视频上叠加 DOM 元素

标签 javascript css html video canvas

是否有一种方法可以使用 Web 技术将 DOM 元素放置在特定视频帧的特定坐标上?我正在尝试将我的脸部照片 float 到视频中 Actor 的脸上。

任何提示或建议或算法将不胜感激!

最佳答案

如果您知道要放置对象的时间(以毫秒为单位),那么是的。您可以使用 video.currentTime() 设置计时器来检查视频的当前时间位置。 , 然后通过绝对定位将对象放置在视频上。

var objects = {
    [
        object: $("<div></div>").addClass("myObject"),
        timeShow: 3;
        timeHide: 9;
    ]
};

var myVideo = document.getElementById('myPlayer');
var currentTime = 0;

setInterval(function() {
    currentTime = myVideo.currentTime();

    for(var i=0; i<objects.length; i++) {
        if(objects[i].timeShow > currentTime && objects[i].timeEnd < currentTime)
            objects[i].object.show();
    }
}, 1000); // loops at 1 second

关于javascript - 在视频上叠加 DOM 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21444428/

相关文章:

javascript - 如何选择新添加的元素并进行编辑?

javascript - 如何用JS建立自己的甘特图

javascript - 与 jQuery 中的工具提示交互

java - 将 HTML 的字体大小属性转换为 CSS 字体大小属性

html - 如果源在AUDIO标签中无效,则回退到默认值

javascript - 使用 ChartJS 在条形图中分页

javascript - 将左边距设置为等于前一个元素的宽度之和

html - 改变一个 :link background image on a:hover

javascript - 将 HTML5 Canvas 保存到服务器上的文件夹中

html - 更改 <img> 标签保存图像的位置