Skip to content

Latest commit

 

History

History
57 lines (41 loc) · 2.86 KB

README.md

File metadata and controls

57 lines (41 loc) · 2.86 KB

Adocasts

Adocasts provides education lessons, screencasts, and livestreams on AdonisJS, NodeJS, JavaScript, and more. We have a vast library of free lessons and resources that expands weekly to help get you up and running with AdonisJS.

Get even more by joining Adocasts Plus

📚 Ready to learn? Check out adocasts.com
🎉 New lessons every week!


YouTube Badge Twitter Badge Twitch Badge


Adocasts Transcoder

MacOS desktop application that transcodes a queue of video files into an HLS streamable playlist consisting of video segments for the desired resolutions.

For the output destination selected, when the output id option is deselected each video's transcoded playlist will be placed inside a folder named after the file. When the output id option is selected, each video will be placed inside a folder named with a unique id. For each playlist, the resolution segments will be placed in a subfolder named for the resolution.

For example, if the video is called adonisjs-quick-tip.mp4 and the resolutions 2160p and 1080p are selected, the output will look as such:

.
└── [selected destination]/
    └── adonisjs-quick-tip/
        ├── 1080p/
        │   ├── adonisjs-quick-tip_1080_001.ts
        │   ├── adonisjs-quick-tip_1080_002.ts
        │   ├── adonisjs-quick-tip_1080_003.ts
        │   └── adonisjs-quick-tip_1080.m3u8
        ├── 2160p/
        │   ├── adonisjs-quick-tip_2160_001.ts
        │   ├── adonisjs-quick-tip_2160_002.ts
        │   ├── adonisjs-quick-tip_2160_003.ts
        │   └── adonisjs-quick-tip_2160.m3u8
        ├── video.mp4 [compressed original]
        ├── video.webp [6s animated webp]
        └── master.m3u8

Todos

  • Include compressed video file (for downloading)
  • Generate 6s animated webp image
  • Killing NodeJS spawn (cancelling) doesn't cascade through to ffmpeg
  • Upload generated files to Cloudflare R2

Thank Yous

The transcoding process (sidecar-node-transcoder/src/transcoder) is based on work done by: