javascript - 如何在html5和js中下载部分视频
问题描述
我想下载或保存在我的 HTML 中播放的视频的一部分,我不想访问网络摄像头和麦克风我只需要下载或播放另一个视频标签中的视频标签的一部分或下载它.. . 我该怎么做?... 我看到的任何东西 正在访问麦克风和网络摄像头
<video id="yourVideoplayer" width="640" height="480" preload="auto"> //preload="auto" buffers the video if initialize. you cannot seek a video which isn t buffering already
<source src="test.mp4" type="video/mp4" />
<source src="test.ogv" type="video/ogg" />
This browser is not compatible with HTML 5
</video>
我想要一个按钮从播放的视频开始录制然后我想保存它
解决方案
<!DOCTYPE html>
<html>
<body>
<video id="original-video" width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
<video width="320" height="240" data-from="original-video" data-start="5" data-end="10" data-autoreplay="true" autoplay>
</video>
<video width="320" height="240" data-from="original-video" data-start="5" data-end="10" data-autoreplay="false" autoplay>
</video>
<script>
const body = document.querySelector('body');
const videos = document.querySelectorAll('video[data-from]');
videos.forEach(video=>{
const originalVideo = document.getElementById(video.dataset.from);
[...originalVideo.children].forEach(child=>{
video.appendChild(child.cloneNode())
});
video.duration = Number(video.dataset.end) - Number(video.dataset.start);
video.currentTime = video.dataset.start;
video.addEventListener('timeupdate', (e)=>{
if(video.currentTime>=video.dataset.end){
video.pause();
video.currentTime=video.dataset.start;
if(video.dataset.autoreplay==="true"){
video.play();
}
}
});
});
</script>
</body>
这是我能达到的最接近您的要求。您使用data
属性来指定:
- 原始视频
- 开始
- 结束
- 如果它应该不停地重播
推荐阅读
- java - 如何使用 Maven 安装 unirest?
- php - 如何将消息从 PHP 页面返回到 AJAX 调用
- java - 如何获取相同视图组件的列表
- python - 错误计算区域“IndexError:维度 1 的张量的索引过多”
- dockerfile - docker hyperledger indy 上的 node-gyp 重建错误
- containers - Podman oci .containerenv:不是目录
- python - 设置 DeepDiff 以很好地识别删除
- sql - 如何通过算法从帐户树中选择适当的帐户
- github - 仅在 GitHub Actions 中发布更改的项目
- r - 在 R 包中使用 %>%