jjzjj

MediaStream

全部标签

javascript - 如何使用网络音频 api 获取原始 pcm 音频?

usergetmedia如何在chrome中使用麦克风然后流式传输以获取原始音频?我需要获得线性16的音频。 最佳答案 不幸的是,MediaRecorder不支持原始PCM捕获。(在我看来,这是一个可悲的疏忽。)因此,您需要获取原始样本并自行缓冲/保存它们。您可以使用ScriptProcessorNode来做到这一点.通常,此节点用于以编程方式修改音频数据,用于自定义效果等等。但是,您没有理由不能将其用作捕获点。未经测试,但尝试像这样的代码:constcaptureNode=audioContext.createScriptProc

javascript - 将 desktopCapturer 保存到 Electron 中的视频文件

desktopCapturerapi示例显示了如何将屏幕捕获流写入元素。//Intherendererprocess.vardesktopCapturer=require('electron').desktopCapturer;desktopCapturer.getSources({types:['window','screen']},function(error,sources){if(error)throwerror;for(vari=0;i我尝试用以下内容替换gotStream函数:functiongotStream(stream){varfs=require('fs');fs.

javascript - WebRTC:使用 getStats()

我正在尝试获取webRTC应用程序的统计信息以测量音频/视频流带宽。我检查了这个question我发现它非常有用;但是,当我尝试使用它时,我得到了TypeError:NotenoughargumentstoRTCPeerConnection.getStats.我认为这是因为2016年webRTC发生了一些变化,现在有了mediaStreamTracks;但是我在没有使用mediaStreamTracks的情况下构建了项目,我不知道如何更改此功能以使其正常工作。你有什么想法吗?感谢您的支持!更新:我的电话是peer.pc.onaddstream=function(event){peer.

javascript - 如何从视频文件创建 MediaStream?

大多数Mediastream示例由webCam-stream解释。但我需要从本地视频文件(.webm或mp4)创建MediaStream。请告诉我。 最佳答案 2017年5月4日更新:captureStreamAPI现在在Chrome和Firefox上均受支持。varstream_from_WebM_or_Mp4_File=videoTag.captureStream();varstream_from_Canvas2D=canvasTag.captureStream(25);参数“25”是请求的帧速率。现在您可以使用RTCPeerC

javascript - 如何从 MediaStream 和 "stop"网络摄像头中删除轨道?

我正在尝试从MediaStream中删除轨道。MediaStream.removeTrack()从流中删除轨道,但摄像头灯保持亮起,表示摄像头仍处于事件状态。https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack?redirectlocale=en-US&redirectslug=DOM%2FMediaStreamTrack这引用了一个stop()方法,我想它会完全停止相机,但是在chrome中我得到"ObjectMediaStreamTrackhasnomethod'stop'"有没有办法解决这个问题,还是我

javascript - 如何在 Chrome DesktopCapture API 中监听 "Stop sharing"点击

我目前正在编写一个使用Chrome'sDesktopCaptureAPI的chrome扩展程序.当有人点击“停止共享”时,我很难设置回调。我尝试使用onendedEventHandler的MediaStream,但MediaStream的ended属性在单击按钮后仍设置为true。我能在流(单击按钮之前和之后)之间找到的唯一区别是videoTracks.readyState设置为ended。编辑:我还想注意用户是否关闭了他们之前正在播放的窗口。 最佳答案 我通过在videoTrack的onended属性上分配一个EventHandl

javascript - 将音频和视频轨道组合到新的 MediaStream 中

我需要使用来自不同MediaStreams的音频和视频创建一个MediaStream。在Firefox中,我可以从轨道数组中实例化一个新的MediaStream:varoutputTracks=[];outputTracks=outputTracks.concat(outputAudioStream.getTracks());outputTracks=outputTracks.concat(outputVideoStream.getTracks());outputMediaStream=newMediaStream(outputTracks);不幸的是,这在Chrome中不起作用:Re

javascript - Blob 视频时长元数据

这个问题在这里已经有了答案:HowcanIaddpredefinedlengthtoaudiorecordedfromMediaRecorderinChrome?(5个答案)关闭4年前。我正在编写一个在Firefox中操作相机流视频的软件。我正在生成一个Blob,其视频类型是使用MediaRecorderAPI录制的。我正在使用FileSaver库将blob保存为本地存储中的视频:FileSaver.saveAs(BlobVideo,"video.mp4");视频似乎没有任何最长持续时间,因此我无法在VLC中新生成的视频的时间轴中导航,例如。有没有办法在blob视频上设置持续时间元数据

javascript - MediaStream 同时捕获 Canvas 和音频

我正在从事一个项目,我想:加载视频js并将其显示在Canvas上。使用滤镜改变Canvas(以及视频)的外观。使用MediaStreamcaptureStream()方法和MediaRecorder对象记录Canvas表面和原始视频的音频。在HTML视频元素中播放Canvas和音频流。通过调整以下WebRTC演示代码,我已经能够在视频元素中显示Canvas记录:https://webrtc.github.io/samples/src/content/capture/canvas-record/就是说,我不知道如何在Canvas旁边录制视频的音频。是否可以创建一个包含来自两个不同源/元素

javascript - 更改 RTCPeerConnection 的 MediaStream

我想从音频/视频流更改为“屏幕共享”流:peerConnection.removeStream(streamA)//__o_j_sep...inScreenshotsbelowpeerConnection.addStream(streamB)//SSTREAMinScreenshotsbelowstreamA是来self的相机和麦克风的视频/音频流。streamB是我从扩展程序中获取的屏幕截图。他们都是MediaStream看起来像这样的对象:*1备注但如果我删除streamA来自peerConnection和addStream(streamB)像上面一样,似乎什么也没发生。以下按预期