caption-core

Caption Core acts as an abstraction layer for Caption’s core functionality.

MIT License

Downloads
76
Stars
36
Committers
6

🛠 Install

Setup:
npm install --save caption-core
ES6
import Caption from "caption-core";
CommonJS
const Caption = require("caption-core");

⚡️ Contribute

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:

To begin working locally:
  1. Fork this repository to your
    own GitHub account
  2. Clone it to your
    local device: git clone [email protected]:gielcobben/caption-core.git
  3. Install the dependencies: npm install
  4. Build the module using Rollup:
    npm run build
  5. Run one of the examples: node examples/search.js.

📦 Sources

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.

Standard sources:
  • OpenSubtitles
  • Addic7ed

🔎 Search by query

Code:
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.
  });
Output:
[
  {
    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,
  },
];

🎞 Search by file

Code:
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.
});
Output:
[
  {
    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,
  },
];

📺 Download subtitle

Code:
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",
);

⭐️ Links

Authors:
Repositories:

🔑 License

MIT © Giel Cobben & Vernon de Goede