Caption Core acts as an abstraction layer for Caption’s core functionality. This allows third parties to add new sources or update existing ones. By introducing a simple but powerful API, all other modules that rely on Caption’s core will be able to upgrade smoothly.
npm install --save caption-core
import Caption from "caption-core";
const Caption = require("caption-core");
Caption Core is completely open-source. We've tried to make it as easy as possible to contribute. If you'd like to help out by adding sources or assisting in other parts of development, here's how to get started:
- Fork this repository to your own GitHub account
- Clone it to your
local device:
git clone git@github.com:gielcobben/caption-core.git
- Install the dependencies:
npm install
- Build the module using Rollup:
npm run build
- Run one of the examples:
node examples/search.js
.
Caption currently uses 2 sources to gather subtitles. We're continuously adding sources, but the app's open-source nature also allows you to add your own when desired.
- OpenSubtitles
- Addic7ed
const Caption = require("caption-core");
const ENGLISH = "eng";
const LIMIT = 10;
Caption.searchByQuery("Comedians in Cars", ENGLISH, LIMIT)
.on("fastest", subtitles => {
// Fastest source has been checked.
})
.on("completed", subtitles => {
// All sources are checked.
});
[
{
name: "Comedians in Cars.HDTV.x264.srt",
download: "http://dl.opensubtitles.org/en/download/...",
extention: "",
source: "opensubtitles",
size: "",
score: 4,
},
{
name: "Comedians in Cars.1080p.WEB-DL.H264.srt",
download: "http://dl.opensubtitles.org/en/download/...",
extention: "",
source: "opensubtitles",
size: "",
score: 3,
},
];
const Caption = require("caption-core");
const ENGLISH = "eng";
const LIMIT = 10;
Caption.searchByFiles(
[
"~/Movies/Comedians in Cars.S01E01.mp4",
"~/Movies/Comedians in Cars.S01E02.mp4",
],
ENGLISH,
LIMIT,
).on("completed", subtitles => {
// All sources are checked.
});
[
{
name: "Comedians in Cars.HDTV.x264.srt",
download: "http://dl.opensubtitles.org/en/download/...",
extention: "",
source: "opensubtitles",
size: "",
score: 4,
},
{
name: "Comedians in Cars.1080p.WEB-DL.H264.srt",
download: "http://dl.opensubtitles.org/en/download/...",
extention: "",
source: "addic7ed",
size: "",
score: 3,
},
];
const Caption = require("caption-core");
Caption.download(
{
name: "Comedians in Cars.HDTV.x264.srt",
download: "http://dl.opensubtitles.org/en/download/...",
extention: "",
source: "opensubtitles",
size: "",
score: 4,
},
"opensubtitles",
"~/Movies/Comedians in Cars.S01E01.srt",
);