小编Dip*_*gre的帖子

录制视频和音频并上传到服务器

我想在网站上添加视频录制功能.我一直在寻找并尝试所有可能的解决方案,但没有任何工作正常.
我试过下面的解决方案

  • WebRTC
    我知道使用WebRTC我们可以从网络摄像头和麦克风获取流.我发现了很多关于相同的文章,但没有一个解释了如何从该流中提取blob并保存或上传到服务器.我得到的是获取userMediaStream并通过创建blob对象URL在浏览器中显示它

    navigator.getUserMedia  = navigator.getUserMedia ||
                          navigator.webkitGetUserMedia ||
                          navigator.mozGetUserMedia ||
                          navigator.msGetUserMedia;
    
    var video = document.querySelector('video');
    
    if (navigator.getUserMedia) {
      navigator.getUserMedia({audio: true, video: true}, function(stream) {
       video.src = window.URL.createObjectURL(stream);
    }, errorCallback);
    } else {
      video.src = 'somevideo.webm'; // fallback.
    } 
    
    Run Code Online (Sandbox Code Playgroud)

    如何从此流中提取对象,以便保存或上传到服务器?

  • RecorRTC
    RecordRTC是由Mauz Khan编写的用于视频/视频录制的库,实际上很好.使用这个库,我能够录制视频和音频,但是有一些问题,如下所示

    • 在chrome中我得到两个Blob对象一个用于音频,一个用于视频,为了生成最终文件,我需要将这些文件合并到最终视频文件中.我FFMPEG用来转换和合并服务器上的文件.
    • 虽然在服务器上转换文件需要很长时间,但它可以很好地使用短视频,但问题是从长录音文件开始.当blob大小超过时Array memory out of exception ,我正在记录更多4 min10 MB
  • MediaStreamRecorder
    这是Mauz Khan的另一个库,它在特定的时间间隔后给出记录的blob.我认为这将解决我的内存异常问题.所以我实现如下

    • 在间隔上获取blob块并将其发布到服务器

    • 使用转换小视频文件中的blob块 FFMPEG

    • 最后将所有小文件合并到最终使用FFMPEG完整的视频文件

    • 问题是当小blob块保存到小视频文件中时,似乎文件的起始字节已损坏,因此它在每个小文件的开始时间被挂起,并且在将所有文件合并到最终完成的视频之后,视频会挂起并且在那里每个间隔后'trrrrrr'噪音
    • 视频也开始挂长视频

我现在想用纯javascript录制视频,WebRTC UserMedia API但现在我真的很震惊,因为甚至没有一篇文章解释How to record video …

javascript audio video html5 webrtc

12
推荐指数
1
解决办法
6309
查看次数

“nvm”未被识别为内部或外部命令 Windows

这里为 windows 安装 NVM(节点版本管理器)。实际上 NVM 是在管理员帐户中安装的。思想安装它C:\Node\的目录,以便将中找到CMD用户并设置环境变量,提到这里

但没有什么对我有用。

在此处输入图片说明 在此处输入图片说明

操作系统:Windows 10 企业版

node.js nvm nvm-windows

11
推荐指数
6
解决办法
3万
查看次数

IE 11 - 日期不起作用

  1. new Date().toLocaleDateString('en-US'); // "?8?/?17?/?2018"
  2. new Date("8/17/2018") //valid date
  3. new Date(new Date().toLocaleDateString('en-US')) // Invalid Date

我试图创造date,local date string (see screenshot)但它没有工作IE11 only.它可以正常使用date string.

我知道有问题"" double quotes但却无法使其正常工作.

有什么建议吗?

在此输入图像描述

javascript date internet-explorer-11

8
推荐指数
1
解决办法
758
查看次数

Angular CLI中的Web worker

我一直致力于在Angular app客户端进行大量计算,因为它UI被阻止了.我想Web worker在Angular CLI项目中使用在UI一个线程和重处理中运行background thread.

有没有人有想法

  • 如何处理角度的重计算.
  • 如何使用Web WorkersAngular CLI

一些引用
Angular CLI生成的应用程序与Web Workers
https://github.com/angular/angular-cli/issues/5885

javascript multithreading web-worker angular

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

具有变量Angular 2的Concat类名

我想要类似的东西 class = "myClass {{classVar}}"

我试图在范围内使用变量值来连接类名但不起作用.

<div *ngFor="let classVar of classList" >
  <span [ngClass]="'myClass' classVar "></span>                
</div>
Run Code Online (Sandbox Code Playgroud)

classname angular2-template angular

5
推荐指数
2
解决办法
5050
查看次数

动态添加行:Angular Reactive-Form

我想在单击 时动态添加行button。我为此使用反应形式。 这就是我要说的

这是我的 html 代码

<table>
    <thead>
        <tr class='tableHeader'>
            <div fxLayout="row" fxLayoutAlign="start center" fxFlex="1 0 auto">
                <td fxFlex="22" class="pr-4">Name</td>
                <td fxFlex="15" class="pr-4">Price</td>
                <td fxFlex="15" class="pr-4">Loan Term</td>
                <td fxFlex="15" class="pr-4">Quantity</td>
                <td fxFlex="15" class="pr-4">Deposit</td>
                <td fxFlex="15" class="pr-4">Total</td>
            </div>
        </tr>
    </thead>
    <tbody>
        <tr [formGroup]="loanProductForm">
            <div fxLayout="row" fxLayoutAlign="start center" fxFlex="1 0 auto">
                <td fxFlex="22">
                    <mat-form-field appearance="outline" fxFlex="100" class="pr-4">
                        <mat-label>Product </mat-label>
                        <mat-select formControlName="productId" required>
                            <mat-option *ngFor="let product of productList" [value]="product.productId">
                                {{product.name}}
                            </mat-option>
                        </mat-select>
                    </mat-form-field>
                </td>
                <td fxFlex="15">
                    <mat-form-field appearance="outline" fxFlex="100" class="pr-4">
                        <mat-label>Price </mat-label> …
Run Code Online (Sandbox Code Playgroud)

javascript angular angular-reactive-forms

5
推荐指数
1
解决办法
4212
查看次数

在页面重新加载时正在进行的Ajax请求会发生什么

我们有报告页面,用户可以从CSV导出报告.在服务器中,C# MVC我们MemoryStream在数据转换后创建并写入每一行,最后发送响应为File.完成请求后,浏览器会自动下载此文件.由于报告需要很长时间才能生成,因此用户必须在阻塞状态下等待它.
为了解决这个问题,我通过创建发送Async Ajax request和保存响应. 这很好用如果用户停留在报告页面上,直到所有报告都被下载,但是如果用户从报告页面导航到其他页面则会丢失. 所以我有一些以下问题 CSV fileBlob URL
Ajax request response

  1. Ajax request在页面重新加载过程中会发生什么
  2. 页面重新加载取消在服务器上启动和正在进行的请求
  3. 如果浏览器已经重新加载页面,服务器响应会发生什么
  4. 有没有办法在重新加载之后保持这种请求,这需要进一步

javascript c# ajax jquery

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

什么是 Visual Studio 中的 Application Insight

我可以在 Visual Studio 2017 中看到以千为单位的 Application Insights。我阅读了 Application Insights,但并没有完全理解它的用途。

如下图所示,它在 Application Insights 中显示为 25K,并且还在不断增加。Messaging_TestApp是用于 NService 总线的 SQL 数据库名称。

谁能解释一下什么是 Application Insights 以及为什么数字会增加?

在此处输入图片说明

azure-application-insights visual-studio-2017

3
推荐指数
1
解决办法
2377
查看次数

从对象数组中添加/替换对象JavaScript

我想添加/替换objectarray of objects通过测试一些properties反对array object

  • 更换 object if name and id matches

  • 添加objectarray if name and id does not match from array objects

我正在使用下面的代码,它的工作正常,但我不确定这是一个好的解决方案。

let arr = [{name: 'test1', id:1, data: {a:1} }, {name:'test2', id:2, data: {a:2}}]
let obj = {name:'test3', id:3, data: {a:3}}
let itemFound = false;
let newArr = arr.map((item)=>{
  let test = item.name === obj.name && item.id === obj.id;
  if(test){
	itemFound = true;
  }
  return test ? obj …
Run Code Online (Sandbox Code Playgroud)

javascript arrays

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

正则表达式 从语言环境字符串中获取国家代码

我想从区域设置字符串中检索国家/地区代码。

/^([a-z]{2})-([A-Z]{2})$/这适用于固定大小的区域设置代码,但不适用于动态。我知道国家/地区代码位于末尾由破折号分隔的两个字符。

代码 :

const REG = /^([a-z]{2})-([A-Z]{2})$/;
getCountryCode(code) {
    var match = code.match(REG)
    if(!match || match.length < 1) return ''
    return match[1]
  }

Run Code Online (Sandbox Code Playgroud)

输入 ==> 预期输出

en-US ==> US 
quc-Latn-GT ==> GT
sw-KE ==> KE
en ==> ''
Run Code Online (Sandbox Code Playgroud)

javascript regex

0
推荐指数
1
解决办法
1290
查看次数