js检测视频是不是h264编码格式

const video = document.createElement('video'); // 创建video节点
video.src = URL.createObjectURL(uploadFile.raw);video.addEventListener('loadedmetadata', () => {
  if (video.canPlayType('video/mp4; codecs="avc1.64001E"')) {
    // 文件是H.264编码
    this.videoh264 = true // 是
  } else {
    // 文件不是H.264编码
    this.videoh264 = false // 不是
  }
});
video.addEventListener('error', (e) => {
  // 视频加载出错,处理错误情况
  this.videoh264 = false // 不是
});
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个 HTML 页面,可以采集摄像头视频,并将视频编码为 H.264 格式: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>摄像头视频采集</title> </head> <body> <video id="camera-feed" autoplay></video> <canvas id="video-canvas" style="display:none;"></canvas> <script type="text/javascript"> // 获取视频流 navigator.mediaDevices.getUserMedia({ video: true }) .then(function(stream) { var video = document.getElementById('camera-feed'); video.srcObject = stream; }) .catch(function(error) { console.log(error); }); // 将视频编码为 H.264 格式 var canvas = document.getElementById('video-canvas'); var ctx = canvas.getContext('2d'); var encoder = new Whammy.Video(30); function encodeVideoFrame() { ctx.drawImage(video, 0, 0, canvas.width, canvas.height); var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height); encoder.add(imageData); setTimeout(encodeVideoFrame, 1000 / 30); } setTimeout(encodeVideoFrame, 1000 / 30); setTimeout(function() { encoder.compile(false, function(output) { var blob = new Blob([output], { type: 'video/mp4' }); var url = URL.createObjectURL(blob); window.open(url); }); }, 10000); </script> <script type="text/javascript" src="https://cdn.jsdelivr.net/gh/antimatter15/whammy/whammy.min.js"></script> </body> </html> ``` 这个页面使用了 `Whammy` 库来将视频编码为 H.264 格式。在页面加载后,它会获取摄像头的视频流,并将其展示在一个 `video` 元素中。同时,它还创建了一个 `canvas` 元素,并使用 `ctx.drawImage()` 方法从视频流中获取图像数据,并将其添加到 `Whammy.Video` 实例中。最后,它使用 `encoder.compile()` 方法将视频编码为 MP4 格式,并在新的窗口中打开它。 需要注意的是,这个页面中使用了 `Whammy` 库,你需要在页面中引入该库才能正常使用。你可以将 `whammy.min.js` 文件下载到本地,或者使用外部链接来引入它。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值