如何将NodeJS二进制缓冲区转换为JavaScript ArrayBuffer?
根据电子 API和这个问题,我试图将录制的用户屏幕保存到根应用程序文件夹中视频文件夹中的 .webm 文件。
实际上它几乎可以工作,因为它保存了 .webm 文件,但保存的文件是空的,它的重量为 0B.. 我不知道我在这里缺少什么。
所以看起来由于文件为空而无法正确录制。
调试时进行编辑我发现记录可能正常工作,因为我控制台记录的 blob 内部具有价值,而在toArrayBuffer我的 blob 内部不再具有价值之后。
代码是:
(function () {
'use strict';
var fs = require('fs');
var { desktopCapturer } = require('electron');
var recorder, blobs = [];
angular
.module('app')
.controller('loggedScreen', Controller);
Controller.$inject = ['$scope'];
function Controller($scope) {
var startRecord = function () {
console.log('started');
desktopCapturer.getSources({types: ['window', 'screen']}, function(error) {
if (error) throw error;
navigator.webkitGetUserMedia({
audio: false,
video: {
mandatory: {
chromeMediaSource: 'desktop',
minWidth: 1280, …Run Code Online (Sandbox Code Playgroud) 我想将从网络摄像头捕获的视频保存到本地文件。到目前为止,我已经能够:
getUserMedia RecordRTCRecordRTC我不知道如何将视频保存到文件中。调用save()上RecordRTC让我下载的视频文件,但我想要的一切,以对的NodeJS进一步处理发生。无论如何,该文件是可播放的。我试图将 blob 和 dataURL 写入文件,但该文件无法播放。
electron ×2
javascript ×2
node.js ×2
arraybuffer ×1
binary ×1
blob ×1
buffer ×1
getusermedia ×1
mediastream ×1
recordrtc ×1
video ×1
webrtc ×1