Research
Security News
Kill Switch Hidden in npm Packages Typosquatting Chalk and Chokidar
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
transcription-lib-grpc-js
Advanced tools
Creates Live Transcription of a media input stream in multiple languages
Java Script Client for live transcription.
The purpose of this project is to allow a user to simply get live transcriptions for a video stream. The user can pass a video url and a sourceLanguage and the library will deliver transcriptions in real time.
to install run
npm i transcription-lib-grpc-js
Then you need to ask for an API key.
To use the library in your node or ts project you can to the following
import * as grpc from '@grpc/grpc-js'
import {LiveSubtitlingClient} from "transcription-lib-grpc-js/src/generated/live-subtitling_grpc_pb";
import {Language} from "transcription-lib-grpc-js/src/generated/language_pb";
import {
LiveTranscriptionReply,
LiveTranscriptionRequest
} from "transcription-lib-grpc-js/src/generated/live-subtitling_pb";
import console = require("console");
// just an example we use green color to show finalized subtitles
const GREEN ="\x1b[0;92m";
const RESET='\x1b[0m';
const host = 'live.citizenjournalist.io:443' ;
const API_KEY = process.env.API_KEY; // pass your API key
const client = new LiveSubtitlingClient(host, grpc.credentials.createSsl(),
{ // to configure timeouts, if you expect that there might be longer phases without text
"grpc.http2.max_pings_without_data" : 0,
"grpc.keepalive_time_ms": 10000,
"grpc.keepalive_permit_without_calls" : 1
}
);
const sampleVideoUrl = 'https://cdn3.wowza.com/1/eGlOcmxqcnMxMXJE/dVVnR3o1/hls/live/playlist.m3u8'; // put in your video target
const request = new LiveTranscriptionRequest();
request.setExternalreference('myexampletest'); // just to be able to reference a request, gets returned in the response
request.setSourceurl(sampleVideoUrl);
request.setSourcelanguage(Language.DE);
// if you want to have multiple languages detected at the same time you can set additional language support
request.addAdditionalsourcelanguages(Language.FR)
const headers = new grpc.Metadata();
headers.add("Authorization", `Bearer ${API_KEY}`);
const stream = client.transcribe(request, headers);
stream.on('data', (response: LiveTranscriptionReply) => {
console.clear()
// final means its the final result for the section we print it in green color
console.log(`${response.getIsfinal() ? GREEN : ''} > ${response.getResult()} ${RESET}`);
// a list of word is returned in addition, for the intermediate results they are estimated. A timestamps consists of a seconds and a nanos part
console.log(`start (s,ms): ${response.getWordsList()[0].getStarttime().getSeconds()}, ${response.getWordsList()[0].getStarttime().getNanos()}`)
console.log(`end (s, ms): ${response.getWordsList()[response.getWordsList().length -1].getStarttime().getSeconds()}, ${response.getWordsList()[response.getWordsList().length -1].getStarttime().getNanos()}`)
})
stream.on('end', () => {
console.log('The End')
// The server has finished sending
});
stream.on('error', (error) => {
// An error has occurred and the stream has been closed.
console.error(error)
});
stream.on('status', function(status) {
// process status
console.log(status);
});
checkout https://github.com/The-Crocop/live-transcription-grpc-sample for an example project
FAQs
Creates Live Transcription of a media input stream in multiple languages
The npm package transcription-lib-grpc-js receives a total of 1 weekly downloads. As such, transcription-lib-grpc-js popularity was classified as not popular.
We found that transcription-lib-grpc-js demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.