New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

mkv-subtitle-extractor

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mkv-subtitle-extractor - npm Package Compare versions

Comparing version 1.0.1 to 1.0.2

bin.js

101

index.js

@@ -1,2 +0,1 @@

#!/usr/bin/env node
const fs = require('fs')

@@ -8,59 +7,64 @@ const path = require('path')

if (process.argv.length < 3) {
exitWithUsage(0)
}
/**
* Reads mkv file and writes srt files in same location
*/
module.exports = function (mkvPath) {
var file = fs.createReadStream(mkvPath)
var mkvPath = process.argv[2]
var file = fs.createReadStream(mkvPath)
file.on('error', function (err) {
console.error('Error:', err.message)
process.exit(1)
})
file.on('error', function (err) {
console.error('Error:', err.message + '\n')
exitWithUsage(1)
})
var dir = path.dirname(mkvPath)
var name = path.basename(mkvPath, path.extname(mkvPath))
var dir = path.dirname(mkvPath)
var name = path.basename(mkvPath, path.extname(mkvPath))
// create srt path from language suffix
var srtPath = function (language) {
var languageSuffix = language ? '.' + language : ''
return path.join(dir, name + languageSuffix + '.srt')
}
var srtPath = function (language) {
var languageSuffix = language ? '.' + language : ''
return path.join(dir, name + languageSuffix + '.srt')
}
var tracks = new Map()
var subs = matroskaSubtitles()
var tracks = new Map()
var subs = matroskaSubtitles()
subs.on('data', function (data) {
if (data[0] === 'new') {
var subtitlePath = srtPath(data[1].language)
subs.on('data', function (data) {
if (data[0] === 'new') {
var subtitlePath = srtPath(data[1].language)
// obtain unique filename (don't overwrite)
for (var i = 2; fileExists(subtitlePath); i++) {
subtitlePath = srtPath(data[1].language + i || i)
}
// obtain unique filename (don't overwrite)
for (var i = 2; fileExists(subtitlePath); i++) {
subtitlePath = srtPath(data[1].language + i || i)
tracks.set(data[1].track, {
index: 1,
file: fs.createWriteStream(subtitlePath)
})
} else {
var track = tracks.get(data[0])
var sub = data[1]
// convert to srt format
track.file.write(`${track.index++}\r\n`)
track.file.write(`${msToTime(sub.time)} --> ${msToTime(sub.time + sub.duration)}\r\n`)
track.file.write(`${sub.text}\r\n\r\n`)
}
})
tracks.set(data[1].track, {
index: 1,
file: fs.createWriteStream(subtitlePath)
})
} else {
var track = tracks.get(data[0])
var sub = data[1]
subs.on('end', function () {
console.log(mkvPath)
// convert to srt format
track.file.write(`${track.index++}\r\n`)
track.file.write(`${msToTime(sub.time)} --> ${msToTime(sub.time + sub.duration)}\r\n`)
track.file.write(`${sub.text}\r\n\r\n`)
}
})
if (tracks.size === 0) {
return console.log(' No subtitle tracks found.')
}
subs.on('end', function () {
if (tracks.size === 0) return console.log('No subtitle tracks found.')
tracks.forEach(function (track, i) {
track.file.end()
console.log(`Track ${z(2, i)} → ${track.file.path}`)
tracks.forEach(function (track, i) {
track.file.end()
console.log(` Track ${z(2, i)} → ${track.file.path}`)
})
})
})
file.pipe(subs)
file.pipe(subs)
}

@@ -78,8 +82,1 @@ // https://stackoverflow.com/questions/9763441/milliseconds-to-time-in-javascript

}
function exitWithUsage (code) {
var pkg = require('./package.json')
console.log(`Version ${pkg.version}`)
console.log(`Usage: ${pkg.name} <file.mkv>`)
process.exit(code)
}
{
"name": "mkv-subtitle-extractor",
"version": "1.0.1",
"version": "1.0.2",
"description": "Extract subtitles from .mkv files",
"main": "index.js",
"bin": {
"mkv-subtitle-extractor": "index.js"
"mkv-subtitle-extractor": "bin.js"
},

@@ -21,3 +22,2 @@ "scripts": {

"license": "MIT",
"main": "index.js",
"dependencies": {

@@ -24,0 +24,0 @@ "file-exists": "^1.0.0",

@@ -10,5 +10,5 @@ # mkv-subtitle-extractor [![npm][npm-img]][npm-url] [![dependencies][dep-img]][dep-url] [![license][lic-img]][lic-url]

Extract subtitles from `.mkv` files.
Extract subtitles from .mkv files.
Currently only supports the `.srt` format.
> Currently only supports the .srt format.

@@ -24,3 +24,3 @@ ## install

```
mkv-subtitle-extractor file.mkv
mkv-subtitle-extractor file.mkv ...
```

@@ -27,0 +27,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc