All Projects → hipposan → LemonDeer

hipposan / LemonDeer

Licence: MIT License
Make m3u8 parse and video download as white magic.

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to LemonDeer

hls-downloader
Download all video files from HLS (HTTP Live Streaming) VoD (Video on Demand) m3u8 playlist for local playback
Stars: ✭ 121 (+218.42%)
Mutual labels:  download, m3u8
M3u8downloader
M3U8下载库,可以实现M3U8视频的下载,支持M3U8重定向,同时支持其他格式文件下载,例如MP4文件,目前支持kotlin、java、python3.x 三个语言版本
Stars: ✭ 145 (+281.58%)
Mutual labels:  download, m3u8
M3u8 Downloader
M3U8-Downloader 支持多线程、断点续传、加密视频下载缓存。
Stars: ✭ 369 (+871.05%)
Mutual labels:  download, m3u8
m3u8-downloader
chrome插件,支持监控和下载:m3u8流媒体、视频、音频
Stars: ✭ 54 (+42.11%)
Mutual labels:  download, m3u8
thehylia
A script for The Hylia mass downloads. Get anime soundtracks quickly and easily! Also a Python interface.
Stars: ✭ 70 (+84.21%)
Mutual labels:  download
JT1078Gateway
基于Pipeline实现的JT1078Gateway支持TCP/UDP,目前只支持http-flv、ws-flv、hls三种拉流方式
Stars: ✭ 50 (+31.58%)
Mutual labels:  m3u8
ytnef
Yeraze's TNEF Stream Reader - for winmail.dat files
Stars: ✭ 28 (-26.32%)
Mutual labels:  parse
m3u8
Parse and generate m3u8 playlists for Apple HTTP Live Streaming (HLS) in Ruby.
Stars: ✭ 96 (+152.63%)
Mutual labels:  m3u8
twitch-downloader
Download Twitch VODs and Clips
Stars: ✭ 37 (-2.63%)
Mutual labels:  download
downcloud
Download your own Soundcloud tracks (uncompressed)
Stars: ✭ 22 (-42.11%)
Mutual labels:  download
Herbie
Python for downloading model data (HRRR, RAP, GFS, NBM, etc.) from NOMADS, NOAA's Big Data Program partners (Amazon, Google, Microsoft), ECMWF open data, and the University of Utah Pando Archive System.
Stars: ✭ 92 (+142.11%)
Mutual labels:  download
Script.apex
Evaluate Javascript expressions in Apex
Stars: ✭ 18 (-52.63%)
Mutual labels:  parse
anikimiapi
A Simple, LightWeight, Statically-Typed Python3 API wrapper for GogoAnime.
Stars: ✭ 15 (-60.53%)
Mutual labels:  download
parse-function
(!! moved to tunnckoCore/opensource multi-package repository !!) 🔱 Parse a function into an object using espree, acorn or babylon parsers. Extensible through Smart Plugins.
Stars: ✭ 37 (-2.63%)
Mutual labels:  parse
MIRROR-HUNTER
Who are we? We are the Hunters of all Torrent in this world.🗡️.Fork from SlamDevs
Stars: ✭ 86 (+126.32%)
Mutual labels:  download
python-yamlable
A thin wrapper of PyYaml to convert Python objects to YAML and back
Stars: ✭ 28 (-26.32%)
Mutual labels:  parse
LeagueReplayParser
C# library which can read some data from a .rofl file, and start a replay in the client. (no longer actively maintained)
Stars: ✭ 20 (-47.37%)
Mutual labels:  parse
angular-expression-parser
This library helps in achieving AngularJs equivalents of $parse, $eval and $watch in Angular.
Stars: ✭ 17 (-55.26%)
Mutual labels:  parse
pinus-parse-interface
parse interface to pinus-protobuf JSON
Stars: ✭ 25 (-34.21%)
Mutual labels:  parse
gonids
gonids is a library to parse IDS rules, with a focus primarily on Suricata rule compatibility. There is a discussion forum available that you can join on Google Groups: https://groups.google.com/forum/#!topic/gonids/
Stars: ✭ 140 (+268.42%)
Mutual labels:  parse

Make m3u8 parse and video download as white magic.

Pods Version Platforms Carthage Swift Package Manager Swift Version License Twitter


Features
Parse and download m3u8 files
Customize downloading progress
Pure Swift

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

  • Xcode 8.0+
  • iOS 9.0+
  • Swift 3.0+

Note:

  • Your m3u8 file should include #EXFINT information to make parsing pass.
  • Your local server's port should be 8080 to make local video play.

Usage

Define dowloading directory name:

let directoryName = "Name"
let lemonDeer = LemonDeer()
lemonDeer.directoryName = directoryName

Parse and begin downloading m3u8 with URL:

let directoryName = "Name"
let lemonDeer = LemonDeer()
lemonDeer.directoryName = directoryName

let url = "https://urlstring.m3u8"
lemonDeer.m3u8URL = url
lemonDeer.parse()

Manipulate downloading process:

  • Pause
lemonDeer.downloader.pauseDownloadSegment()
  • Resume
lemonDeer.downloader.resumeDownloadSegment()
  • Cancel
lemonDeer.downloader.cancelDownloadSegment()

Delete downloaded contents

  • Delete a specific directory
lemonDeer.downloader.deleteDownloadedContents(with: ("DirectoryNameYouWantToDelete")
  • Delete all downloaded contents
lemonDeer.downloader.deleteAllDownloadedContents()

Define your own after download succeeded

class YourClass: LemonDeerDelegate {
  func videoDownloadSucceeded()
}

Define your own after download failed

class YourClass: LemonDeerDelegate {
  func videoDownloadFailed()
}

Customize downloading progress

class YourClass: LemonDeerDelegate {
  func update(_ progress: Float, with directoryName: String) {}
}

Installation

Installation with CocoaPods

LemonDeer is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "LemonDeer"

Installation with Carthage

Carthage is a lightweight dependency manager for Swift and Objective-C. It leverages CocoaTouch modules and is less invasive than CocoaPods.

To install with carthage, follow the instruction on Carthage

Cartfile

github "hipposan/LemonDeer"

Installation with Swift Package Manager

The Swift Package Manager is a tool for managing the distribution of Swift code. Just add the url of this repo to your Package.swift file as a dependency:

import PackageDescription

let package = Package(
    name: "YourPackage",
    dependencies: [
        .Package(url: "https://github.com/hipposan/LemonDeer.git", majorVersion: 1.0.0)
    ]
)

Author

Contact me at Twitter.

License

LemonDeer is available under the MIT license. See the LICENSE file for more info.

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].