captureSystemAudio
offscreen-webrtc
captureSystemAudio | offscreen-webrtc | |
---|---|---|
46 | 10 | |
39 | 2 | |
- | - | |
2.8 | 10.0 | |
about 2 months ago | over 1 year ago | |
JavaScript | JavaScript | |
- | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
captureSystemAudio
-
JavaScript Standard Input/Output: Unspecified
Synchronous. Though non-blocking when we read the message from the browser, execute the command, then stream data output from the local application to the browser piped from QuickJS std.popen(), capture_system_audio.js
-
IAMA senior javascript dev, ask me anything
I've already achieved the requirement multiple ways, already; from using Native Messaging https://github.com/guest271314/native-messaging-espeak-ng, to using GNU Core Utilities tail, to Deno.watchFs() https://github.com/guest271314/fs, et al., see captureSystemAudio. The one approach I have not yet achieved is compiling to Emscripten - with SSML support.
-
Need help with ytdl-core and ExpressJS
Sure, see https://github.com/guest271314/captureSystemAudio/blob/master/native_messaging/capture_system_audio/background.js, in pertinent part
-
Kindly review this C QuickJS HTTP streaming Web server module
This is my second time writing C source code capture_system_audio.c. I got a lot of help doing that, too . I basically implemented the same Native Messaging host algorithm in C, C++, Python, WASI/WebAssembly, and JavaScript (Node.js, QuickJS) which is the programming language I write code most using.
-
Termino.js: Create command based apps on any website - great for games, chat-bots, animations and real world apps!
I just fetch the nightly node executable, get rid of everything else in the archive, use .mjs extension for import to work without package.json, then I can connect to the host https://github.com/guest271314/native-messaging-nodejs, and start subprocesses, e.g., raw PCM streams, where stdout is streamed to the client (browser), e.g, https://github.com/guest271314/captureSystemAudio/blob/master/native_messaging/capture_system_audio/capture_system_audio_node.js.
-
How to serve exactly 1 HTML file and 1 JavaScript file, then exit the program?
Technically I can just serve the raw data as long as the server is capable of opening creating sub-processes, e.g., using EventSource https://plnkr.co/edit/qX5tepJ38BuDOSZj?preview, in which case I would just need to convert this https://github.com/guest271314/captureSystemAudio/blob/master/native_messaging/capture_system_audio/capture_system_audio.c to accept GET request, read the URL, and send the named event stream to the client.
-
[AskJS] Has anybody implemented and compiled ServiceWorker specification to a standalone executable?
Chromium and Chrome refuses to capture monitor devices on Linux. Read this https://github.com/edisionnano/Screenshare-with-audio-on-Discord-with-Linux README and the README at https://github.com/guest271314/captureSystemAudio very carefully. At best you can capture tab audio, not whatever is output to speakears and headphones, in spite of the systemAudio constraints, which is poorly named, and actually misleading.
-
[AskJS] Do specification authors and implementers listen to developers in the field?
How is capturing speechSynthesis.speak() a security vector https://github.com/guest271314/captureSystemAudio?
-
What chrome extensions are you using in 2023?
Capture audio output to speakers or headphones to MP3 or Opus in WebM https://github.com/guest271314/captureSystemAudio/tree/master/native_messaging/capture_system_audio
-
You can learn React and Python in browser without dev environment.
An example of using Native Messaging to capture "What-U-Hear", sound output to speakers and headphone, launching native GUI's https://github.com/guest271314/captureSystemAudio/tree/master/native_messaging/capture_system_audio; an adapter for espeak-ng so we can capture the output of speech synthesis engine and stream output to the browser https://github.com/guest271314/native-messaging-espeak-ng.
offscreen-webrtc
-
Client side Rest server?
Using an extension we can create an offscreen document, connect to a Native Messaging host, stream stdin to a local application, and stream stdout to the browser (Web page), see offscreen-webrtc.
-
Is websockets is good for sending files?
There are multiple ways to upload and send files, including WebRTC datachannels, e.g., https://github.com/guest271314/offscreen-webrtc, WebTransport, WebTorrent https://github.com/jeremyckahn/secure-file-transfer, WebSocket, WebSocketStream, or just using Fetch and Streams. fetch() on Chromium-based browsers also supports duplex:'half' in request init for bi-directional streaming capability.
-
How to serve exactly 1 HTML file and 1 JavaScript file, then exit the program?
To achieve this specific task, once an HTML page is loaded into the browser, and a ServiceWorker is registered for that scope, the server does not need to remain active to maintain the functionality of intercepting requests from the Web page (popup window) to the ServiceWorker, where the ServiceWorker can itself make requests to, for example, the same local server to execute parec and pipe output to multiple EventSource responses within the same initial connection, or pipe data to a single ReadableStream served with Response() and event.respondWith(), e.g., see https://github.com/guest271314/offscreen-webrtc, https://github.com/guest271314/sw-transfer-stream.
-
[AskJS] Has anybody implemented and compiled ServiceWorker specification to a standalone executable?
I've already built it https://github.com/guest271314/captureSystemAudio#web-accessible-resources-transferable-streams-media-capture-transform-breakout-box, https://github.com/guest271314/captureSystemAudio/blob/master/native_messaging/capture_system_audio/capture_system_audio.js; see also https://github.com/guest271314/sw-transfer-stream and https://github.com/guest271314/offscreen-webrtc. I'm just trying to reduce steps https://github.com/guest271314/requestClient.
-
Run untrusted code in a Web Worker
Yes, you can create an iframe and/or a new window that you have complete control of to execute arbitrary code using either localhost or an extension; e.g., https://github.com/guest271314/sw-transfer-stream, https://github.com/guest271314/offscreen-webrtc.
-
Is there any way to write code on one screen and see output on another?
Yes. You can use WebRTC. See https://gist.github.com/guest271314/53e00c6765aa256362fb52c08e82d189, https://github.com/guest271314/offscreen-webrtc.
-
What chrome extensions are you using in 2023?
Establish WebRTC connection between offscreen document and arbitrary Web page to transfer data from ServiceWorker to Web page https://github.com/guest271314/offscreen-webrtc
-
[AskJS] What are the worst case scenarios for programmatically setting arbitrary Web pages (Origins) as Client or WindowClient of a ServiceWorker?
There are workarounds which involve using an iframe https://github.com/guest271314/persistent-serviceworker/tree/main/chromium_extension_web_accessible_resources_iframe_message_event or window.open() https://github.com/guest271314/sw-transfer-stream or and offscreen document https://github.com/guest271314/offscreen-webrtc with WebRTC - however that involves loading an entire HTML document, and each has its own deficienfies - with all of the Window features that we do not really need just to transfer data between the Web page I have control of and the ServiceWorker I have control of.
- Transfer ArrayBuffer from ServiceWorker to Web page
- ServiceWorker WebRTC signaling
What are some alternatives?
libdatachannel - C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets
chrome-extensions-samples - Chrome Extensions Samples
proposal-do-expressions - Proposal for `do` expressions
native-messaging-bun - Bun Native Messaging host
comet - Browser extension to replace Youtube comments with Reddit comments or view the Reddit comments of any webpage.
native-messaging-deno - Deno Native Messaging Host
native-messaging-bash - Bash Native Messaging host.
partytown - Relocate resource intensive third-party scripts off of the main thread and into a web worker. 🎉
webextensions-examples - Example Firefox add-ons created using the WebExtensions API
native-messaging-nodejsNative
GoogleNetworkSpeechSynthesis - Google's Network Speech Synthesis: Bring your own Google API key and proxy
quickjs-rs - Rust wrapper for the quickjs Javascript engine.