All Projects → Last-Order → Minyami

Last-Order / Minyami

Licence: gpl-3.0
A lovely video downloader for HLS videos

Programming Languages

typescript
32286 projects

Labels

Projects that are alternatives of or similar to Minyami

Hls Server
Middleware for serving HTTP Live Streaming (HLS) compatible media streams.
Stars: ✭ 146 (-34.53%)
Mutual labels:  hls
Lenet5 hls
FPGA Accelerator for CNN using Vivado HLS
Stars: ✭ 167 (-25.11%)
Mutual labels:  hls
Blss
NGINX-based Live Media Streaming Server
Stars: ✭ 187 (-16.14%)
Mutual labels:  hls
Ott Packager
OTT/ABR streaming encoder (H264/HEVC) and packager for DASH and HLS
Stars: ✭ 148 (-33.63%)
Mutual labels:  hls
Fpga readings
Recipe for FPGA cooking
Stars: ✭ 164 (-26.46%)
Mutual labels:  hls
Media Server
A brpc-based server to host and proxy live streams
Stars: ✭ 175 (-21.52%)
Mutual labels:  hls
Digital video introduction
A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding).
Stars: ✭ 12,184 (+5363.68%)
Mutual labels:  hls
Chimee
a video player framework aims to bring wonderful experience on browser
Stars: ✭ 2,332 (+945.74%)
Mutual labels:  hls
Mediasdk
The library is working for downloading video while playing the video, the video contains M3U8/MP4
Stars: ✭ 164 (-26.46%)
Mutual labels:  hls
Griffith
A React-based web video player
Stars: ✭ 2,287 (+925.56%)
Mutual labels:  hls
Mamba
Mamba is a Swift iOS, tvOS and macOS framework to parse, validate and write HTTP Live Streaming (HLS) data.
Stars: ✭ 151 (-32.29%)
Mutual labels:  hls
P2p Cdn Sdk Javascript
Free p2p cdn github javascript sdk to reduce video streaming costs of live and on demand video using webrtc by upto 90% and improve scalability by 6x - 🚀 Vadootv 🚀
Stars: ✭ 158 (-29.15%)
Mutual labels:  hls
Haishinkit.swift
Camera and Microphone streaming library via RTMP, HLS for iOS, macOS, tvOS.
Stars: ✭ 2,237 (+903.14%)
Mutual labels:  hls
Playease
This is not only an HTML5 FLV Player, but also supports HTTP/WS-fMP4, MPEG-DASH, HLS and Original HTML5 Media Resources, with an independent UI framework.
Stars: ✭ 146 (-34.53%)
Mutual labels:  hls
M3u8parser
A light weight M3U8 parser. Support X-Key & X-Session-Key.
Stars: ✭ 187 (-16.14%)
Mutual labels:  hls
Srs
SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT and GB28181.
Stars: ✭ 16,734 (+7404.04%)
Mutual labels:  hls
Magicalexoplayer
The Easiest Way To Play/Stream Video And Audio Using Google ExoPlayer In Your Android Application
Stars: ✭ 171 (-23.32%)
Mutual labels:  hls
M3u8
A mini M3U8 downloader written in Golang for downloading and merging TS(Transport Stream) files. 一个迷你 M3U8 视频下载工具。
Stars: ✭ 215 (-3.59%)
Mutual labels:  hls
Ovenplayer
OvenPlayer is Open-Source HTML5 Player. OvenPlayer supports WebRTC Signaling from OvenMediaEngine for Sub-Second Latency Streaming.
Stars: ✭ 196 (-12.11%)
Mutual labels:  hls
Openwifi Hw
FPGA/hardware design of openwifi
Stars: ✭ 181 (-18.83%)
Mutual labels:  hls

README

Build Status

中文说明

Dependencies

  • mkvmerge (optional, mkv output required)

! Minyami requires Node 10.22.0+

Make sure you had put the binary files into your system PATH.

Installation

npm install minyami -g

Please also install the following extension to work with Minyami

  1. Install Chrome extension (recommended): https://chrome.google.com/webstore/detail/minyami/cgejkofhdaffiifhcohjdbbheldkiaed (which is also open-sourced here)

Usage

Help:
     Commands                      Description                   Alias

     --help <command>              Show help documentation       -h
         <command>                 Show help of a specified comma
     --version                     Show version
     --download <input_path>       Download video                -d
         <input_path>              m3u8 file path
         --threads <limit>         Threads limit
             <limit>               (Optional) Limit of threads, defaults to 5
         --retries <limit>         Retry limit
             <limit>               (Optional) Limit of retry times
         --output, o <path>        Output path
             <path>                (Optional) Output file path, defaults to ./output.mkv
         --key <key>               Set key manually (Internal use)
             <key>                 (Optional) Key for decrypt video.
         --cookies <cookies>       Cookies to download
             <cookies>
         --headers <headers>       HTTP Headers used to download
             <headers>             Multiple headers should be splited with \n. eg. --headers "Cookie: a=1\nUser-Agent: X-UA". Don't forget to escape. This option will override --cookies.
         --live                    Download live
         --format <format_name>    (Optional) Set output format. default: ts
             <format_name>         Format name. ts or mkv.
         --proxy <proxy-server>    Download via Socks proxy (Deprecated)
             <proxy-server>        Set proxy in [protocol://<host>:<port>] format. eg. --proxy "http://127.0.0.1:1080".
         --slice <range>           Download specified part of the stream
             <range>               Set time range in [<hh:mm:ss>-<hh:mm:ss> format]. eg. --slice "45:00-53:00"
         --nomerge, keep           Do not merge m3u8 chunks.
     --resume <input_path>         Resume a download. (Archive)  -r
         <input_path>              m3u8 file path
     --clean                       Clean cache files

Options:

     Options                       Description
     --verbose, debug              Debug output

FAQ

Q: Should I keep the browser open when downloading?

A: It's not necessary.

Q: How to set proxy for Minyami.

A: You can use --proxy to set proxy server for Minyami. HTTP/SOCKS5 proxy are supported. Or you can use environment variables HTTP_PROXY/HTTPS_PROXY/ALL_PROXY to provide proxy configuration for Minyami.

Use as a library (3.1.0+)

import { ArchiveDownloader } from 'minyami';
import { LiveDownloader } from 'minyami';

Event: chunk-downloaded

  • currentChunkInfo <object> The information of the chunk which is just downloaded.

The 'chunk-downloaded' event is emitted when every media chunk is downloaded.

Event: chunk-error

  • error: Error

The 'chunk-error' event is emitted when failed to download or decrypt media chunks.

Event: downloaded

The 'downloaded' event is emitted after all chunks are downloaded but before starting merge.

Event: finished

The 'finished' event is emitted after all the works are done. CLI program exits after this event is emitted.

Event: merge-error

  • error: Error

The merge-error event is emitted when a merge progress is failed.

Event: critical-error

  • error: Error

The critical-error is emitted when a error that Minyami can't handle happens.

Contribution

Minyami is developed with TypeScript. You need to install TypeScript Compiler before you start coding.

Install development dependencies

npm install -g typescript
git clone https://github.com/Last-Order/Minyami
cd Minyami
npm install

To build the project, just run tsc.

Copyright

Open-sourced under GPLv3. © 2018-2021, Eridanus Sora, member of MeowSound Idols.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].