问题标签 [mediastream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
549 浏览

javascript - 使用 webrtc 在流之前放大 MediaStreamTrack(音频)

我用来getAudioTracks()从视频元素中获取音频。然后我需要放大(增加音量)这个audioTrack,然后再将它添加到画布中,addTrack()并使用webrtc 将它们流走。

有没有办法在客户端使用 javascript 做到这一点?

0 投票
0 回答
2345 浏览

javascript - 使用 Media * API 录制时支持的媒体类型的完整列表在哪里?

我正在尝试学习如何在浏览器中录制媒体,我可能会让事情变得过于复杂。Blob有大量直接的示例,但是当录制被推送到具有任意选择的媒体类型的对象而不检查是否支持该格式时,我陷入了困境。因此,我假设有一个列表,或者人们只是继续建立过去的经验。

例如,来自Mido22/MediaRecorder-sample

或来自MDN 的 Using the Media Stream Recording API

规范及其各种 文档大多是通用描述,这是完全可以 理解的,因为用户代理需要实现它们。

这个问题的第一个答案几乎就是我的想法,但我想知道在某个地方是否有更容易访问和最新的列表?


更新:我几乎感觉就像我刚从岩石下爬出来一样,因为我一发布这个我就意识到两种最明显的方式......

  1. 在http://caniuse.com/上查询媒体格式
  2. MDN 支持的媒体格式

在@Kaiido 的指点之后:

  1. 媒体记录器 APIisTypeSupported
  2. getSupportedTypes()
0 投票
0 回答
365 浏览

mediastream - 将媒体流连接到画布

我正在尝试从媒体流源中读取数据,进行一些 webgl 调用,然后使用修改后的媒体流更新纹理。如何将媒体流连接到画布,以便读取/操作图像数据?使用 drawImage 从视频反复绘制到画布上的速度在移动设备上慢得令人无法接受。

使用 chrome 56 我可以 captureStream() 一个视频元素,但我不确定如何将其路由到画布进行操作。任何提示表示赞赏。

0 投票
0 回答
46 浏览

webrtc - WebRTC 并在使用声音花重定向后不会播放 GarageBand 操纵的声音。只是不能在 chrome 中工作

我正在编写一个基于网络的应用程序,它需要实时音频操作,特别是用户声音的音高变化。现在,我的原型使用 GarageBand 来进行音高转换和 soundflower 将音频重定向为我在浏览器上的输入音频源。然后使用 webRTC(简单的 webRTC 库)我将用户的网络摄像头视频和操纵的 webRTC 流发送到其他浏览器。这在 Firefox 中效果很好,但我对 chrome 没有运气。视频通道接收良好,但音频仅在 chrome 上无声。有任何想法吗 ?

0 投票
2 回答
931 浏览

javascript - 我可以使用 Javascript 将 Twilio 设备与 MediaStream 连接吗?

我正在使用 Twilio Client Javascript SDK并希望将传入呼叫连接到 MediaStream。

目前我的 Twilio 客户端只接受这样的来电:

下面的代码片段显示了我如何从浏览器获取麦克风并将其用作媒体流:

现在,我想使用来电连接,而不是使用麦克风。我怎样才能做到这一点?

0 投票
1 回答
1864 浏览

javascript - 如何使用 dash js 音频播放器仅播放特定比特率?

我正在使用 dash.js 库并为我的音频播放器使用 DASH 协议实现自适应比特率。

我在其中一种情况下面临问题,当我不想自适应地改变比特率时,我希望它是特定的,即 320 kbps。我正在使用 dash.js 库中提供的方法,如下所示。但无法为我的整个音频文件获取静态比特率段。

所以基本上有两个选项:: auto 和 320kbps

auto 将允许自适应比特率,但在此后的任何时间选择 320 kbps 时,它应该只获取该比特率的片段。

对于后一种情况,我面临着这个问题。

有什么方法可以做到吗?我在这里错过了什么吗?

0 投票
0 回答
690 浏览

javascript - fluent-ffmpeg 可以将 WebRTC 流作为输入吗?

我正在探索 fluent-ffmpeg 并看到在 Shell 版本 (ffmpeg)中可以使用 RTMP 流作为参数并逐帧收集

我想知道这在 fluent-ffmpeg 中是否可行,以及是否可以使用 WebRTC MediaStream 而不是 RTMP url

提前致谢

0 投票
2 回答
8996 浏览

javascript - 无法获取未定义或空引用的属性“enumerateDevices”

我正在使用enumerateDevices请参阅此处的参考)来获取用户的相机和麦克风列表。

此代码在 Chrome 上运行良好:

但由于它在 IE 上不受支持,因此会引发错误:

无法获取未定义或空引用的属性“enumerateDevices”

我的问题:有没有可以在所有浏览器中使用的替代方法?

0 投票
1 回答
193 浏览

php - 为什么程序写入 Socket Empty?

我正在制作一个记录视频的程序,并每 5 秒将其 blob 发送到套接字。它似乎工作正常,但是当我查看服务器接收到的文件时,我看到套接字客户端编写的所有程序都是空的 = 0kb。你能帮我吗?我的 HTML/JS 和 PHP 代码如下。

和下面的 PHP Socket 客户端:

0 投票
1 回答
3530 浏览

javascript - GetUserMedia - facesMode 无法识别,尽管 adapter.js

我想在 Ionic 应用程序中获取后置摄像头的视频流。为此,我使用了适用于前置摄像头的 getUserMedia。

当我将面对模式更改为“环境”时,出现此错误:

Unknown constraint named facingMode rejected ConstraintNotSatisfiedError

在我的 Ionic 应用程序中,我已经安装了 npm 包“webrtc-adapter”。

这是我从后置摄像头获取流的代码:

我认为这是一个兼容性问题。任何人都可以帮助我吗?

谢谢你。