小编JD3*_*333的帖子

DOMException:“src 属性或分配的媒体提供程序对象指示的媒体资源不合适。” HTML 5 Node.js

我会尽力使其尽可能简洁。

概述

使用 MediaRecorder,我将流的 blob 发送到我的节点服务器。从我的节点服务器,我将 Uint8Arrays 发送回客户端。然后,我将 blob 设置为从节点服务器检索的 Uint8Array,类型为video/webm;编解码器=vp9

这是我的概述的代码:

客户端启动流时:

  successCallback(stream) {
    if (MediaRecorder.isTypeSupported('video/webm;codecs=vp9')) {
      this.options = { mimeType: 'video/webm; codecs=vp9' };
    } 

    this.video.srcObject = stream;
    this.video.play();
    this.mediaRecorder = new MediaRecorder(stream, this.options);
    this.mediaRecorder.ondataavailable = this.handleDataAvailable.bind(this);
    this.mediaRecorder.start(3000);
  }


  handleDataAvailable(blob) {
    // POST/PUT "Blob" using FormData/XHR2
    this.signalHub.sendStream(blob.data);
  }

  public sendStream(stream) {
    this.socket.emit('send-stream', stream);
  }
Run Code Online (Sandbox Code Playgroud)

服务器在sendStream()方法之后接收到来自客户端的流时:

socket.on('send-stream', (newStreamBuff) => {
  stream = Buffer.concat([stream, new Uint8Array(newStreamBuff)]);
    socket.emit('stream-stream', new Uint8Array(newStreamBuff));
});
Run Code Online (Sandbox Code Playgroud)

请注意,在发送时,我们将blob作为Uint8Array …

javascript video-streaming node.js html5-video

6
推荐指数
0
解决办法
8998
查看次数

ElasticSearch 中的模糊搜索不适用于空格

我在 ElasticSearch 中使用模糊搜索选项。它太酷了。

但是我在搜索有空格的值时遇到了一个问题。例如说我有两个值:

"Pizza"
"Pineapple Pizza"
Run Code Online (Sandbox Code Playgroud)

我使用以下查询搜索 Pizza:

        client.search({
            index: 'food_index',
            body: {
                query: {
                    fuzzy: {
                        name: {
                            value: "Pizza",
                            transpositions: true,
                        }
                    },
                }
            }
        })
Run Code Online (Sandbox Code Playgroud)

返回的值是:

"Pizza"
"Pineapple Pizza"
Run Code Online (Sandbox Code Playgroud)

这是预期的。但是,如果我在查询中输入值“Pineapple Pizza”:

        client.search({
            index: 'food_index',
            body: {
                query: {
                    fuzzy: {
                        name: {
                            value: "Pineapple Pizza",
                            transpositions: true,
                        }
                    },
                }
            }
        })
Run Code Online (Sandbox Code Playgroud)

返回的值是:

""
Run Code Online (Sandbox Code Playgroud)

空的

这是为什么?它应该是完全匹配的。我正在考虑将所有包含空格的名称切换为下划线。所以“Pineapple Pizza”将是“Pineapple_Pizza”(这个解决方案对我有用)。但我问这个问题是希望找到更好的选择。我在这里做错了什么?

javascript search fuzzy-search node.js elasticsearch

6
推荐指数
1
解决办法
2137
查看次数

AWS 上的弹性搜索服务。或者别的地方

我在使用 AWS 通过名为“ElasticSearch Service”的服务托管 ElasticSearch 实例时遇到了问题。

我希望这个问题已经得到解决,但这个月我几乎不得不因为使用该服务而意外运行多个 ES 实例而支付 300 美元。我傻了,没读书。

因此,我们的想法是仅保持一个实例运行,每月最多支付 150 美元。

现在,我不是企业主,但我正在尝试启动自己的网站。是否没有其他服务可以让我以更便宜的价格托管 ES 服务?当我从我正在测试的业务中获得 0 回报时,每月 150 美元已经是很多了。或者 AWS ElasticSearch Service 是唯一的解决方案吗?我想避免在本地计算机上托管该服务。

任何帮助都会很棒,我不知道还能在哪里问这个问题。

amazon-web-services elasticsearch

4
推荐指数
1
解决办法
1858
查看次数