All Projects → dotnettools → SharpGrabber

dotnettools / SharpGrabber

Licence: LGPL-3.0 License
Download from YouTube, Vimeo, PornHub, HLS (M3U8 files) with .NET and JavaScript, Library and desktop app for downloading high quality media

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to SharpGrabber

Alltube
Web GUI for youtube-dl
Stars: ✭ 1,925 (+1294.93%)
Mutual labels:  youtube, vimeo, youtube-dl
Candy
🍭 Cross-platform YouTube-downloader with playlist and channel support as well as build-in audio / video converter.
Stars: ✭ 229 (+65.94%)
Mutual labels:  youtube, ffmpeg, youtube-dl
Youtubeexplode
The ultimate dirty YouTube library
Stars: ✭ 1,775 (+1186.23%)
Mutual labels:  youtube, net-standard, net-core
Live Dl
Download live streams from YouTube
Stars: ✭ 82 (-40.58%)
Mutual labels:  youtube, ffmpeg, youtube-dl
Network Avatar Picker
A npm module that returns user's social network avatar. Supported providers: facebook, instagram, twitter, tumblr, vimeo, github, youtube and gmail
Stars: ✭ 74 (-46.38%)
Mutual labels:  instagram, youtube, vimeo
Ytmdl
A simple app to get songs from YouTube in mp3 format with artist name, album name etc from sources like iTunes, Spotify, LastFM, Deezer, Gaana etc.
Stars: ✭ 2,070 (+1400%)
Mutual labels:  youtube, ffmpeg, youtube-dl
Downline
Free cross-platform desktop app to download videos and music from YouTube and many other sites
Stars: ✭ 146 (+5.8%)
Mutual labels:  youtube, ffmpeg, youtube-dl
Webxdownloader
Browser extension to download Webex meeting recordings
Stars: ✭ 52 (-62.32%)
Mutual labels:  ffmpeg, hls, m3u8
Rssbox
📰 I consume the world via RSS feeds, and this is my attempt to keep it that way.
Stars: ✭ 492 (+256.52%)
Mutual labels:  instagram, youtube, vimeo
Embera
A Oembed consumer library, that gives you information about urls. It helps you replace urls to youtube or vimeo for example, with their html embed code. It has advanced features like offline support, responsive embeds and caching support.
Stars: ✭ 268 (+94.2%)
Mutual labels:  instagram, youtube, vimeo
Youtube Fetcher
📺 Youtube Podcasting 🎧
Stars: ✭ 31 (-77.54%)
Mutual labels:  youtube, ffmpeg, youtube-dl
Workflowshare
Workflow实例分享
Stars: ✭ 137 (-0.72%)
Mutual labels:  instagram, youtube, vimeo
React Player
A React component for playing a variety of URLs, including file paths, YouTube, Facebook, Twitch, SoundCloud, Streamable, Vimeo, Wistia and DailyMotion
Stars: ✭ 5,931 (+4197.83%)
Mutual labels:  youtube, vimeo, hls
Vime
Customizable, extensible, accessible and framework agnostic media player. Modern alternative to Video.js and Plyr. Supports HTML5, HLS, Dash, YouTube, Vimeo, Dailymotion...
Stars: ✭ 1,928 (+1297.1%)
Mutual labels:  youtube, vimeo, hls
Pylivestream
Pure Python FFmpeg-based live video / audio streaming to YouTube, Facebook, Periscope, Twitch, and more
Stars: ✭ 442 (+220.29%)
Mutual labels:  youtube, vimeo, ffmpeg
Vidgear
A High-performance cross-platform Video Processing Python framework powerpacked with unique trailblazing features 🔥
Stars: ✭ 2,048 (+1384.06%)
Mutual labels:  youtube, ffmpeg, hls
Savify
Download Spotify songs to mp3 with full metadata and cover art!
Stars: ✭ 227 (+64.49%)
Mutual labels:  youtube, ffmpeg, youtube-dl
Socialcounters
jQuery/PHP - Collection of Social Media APIs that display number of your social media fans. Facebook Likes, Twitter Followers, Instagram Followers, YouTube Subscribers, etc..
Stars: ✭ 104 (-24.64%)
Mutual labels:  instagram, youtube, vimeo
smart rtmpd
RTMP server, smart, compact, high performance(c, c++), high concurrency, easy to maintain, easy to deploy, (supports multiple operating systems Windows and Linux, ARM, FreeBSD)
Stars: ✭ 159 (+15.22%)
Mutual labels:  ffmpeg, hls, m3u8
cordova-plugin-tencent-liteav
A cordova plugin for video playing with Tencent's LiteAV SDK. Support RTMP/HLS/FLV/MP4.
Stars: ✭ 24 (-82.61%)
Mutual labels:  hls, m3u8

SharpGrabber

SharpGrabber

GitHub NuGet download count

This repository contains multiple related projects:

  • SharpGrabber is a .NET Standard library for scraping top media providers and grabbing high quality video, audio and information.
  • SharpGrabber.Converter is a .NET Standard library based on ffmpeg shared libraries to join audio and video streams. This is particularly useful when grabbing high quality YouTube media that might be separated into audio and video files. It is also used for merging HLS stream segments.
  • SharpGrabber.BlackWidow is a .NET Standard library for grabbing with JavaScript, which has many advantages over using scattered NuGet packages.
  • SharpGrabber.Desktop A cross-platform desktop application which utilizes all three libraries mentioned above to expose their functionality to desktop end-users.

How to Use

Please give a star if you find this project useful!

Go to Documentation

Quick Start

Package Installation

The SharpGrabber package defines abstractions only. The actual grabbers have their own packages and should be installed separately.

SharpGrabber - Core Package

Install-Package SharpGrabber -Version 2.1

SharpGrabber.Converter

It's an optional package to work with media files. Using this package, you can easily concatenate video segments, or mux audio and video channels. It uses ffmpeg shared libraries underneath.

Install-Package SharpGrabber.Converter -Version 1.0

HLS - M3U8 playlists

This package adds the capability to parse M3U8 playlist files - including master playlists - and download video segments. With the help of the SharpGrabber.Converter package, segments may be joined together. This package also supports AES-128 decryption.

Install-Package SharpGrabber.Hls -Version 1.2

YouTube

Adds support to download high-quality videos from YouTube, even if they are served as separate video and audio files only. The high-quality output is possible thanks to the SharpGrabber.Converter library.

Install-Package SharpGrabber.YouTube -Version 1.3

Vimeo

Install-Package SharpGrabber.Vimeo -Version 1.0

Instagram

Warning: This grabber is not guaranteed to work. It works only for clients that Instagram allows anonymous access to public content.

Install-Package SharpGrabber.Instagram -Version 0.1

Adult - PornHub, xnxx, and xvideos

Install-Package SharpGrabber.Adult -Version 1.0.1

Quick Start

1. Start with building a Grabber

var grabber = GrabberBuilder.New()
	.UseDefaultServices()
	.AddYouTube()
	.AddVimeo()
	.Build();

This will result in the creation of a "multi-grabber".

What grabbers you can "add" depends on what packages you've installed. In this example, we have installed YouTube and Vimeo packages.

2. Grab from a URI

var result = await grabber.GrabAsync(new Uri("https://www.youtube.com/watch?v=LTseTg48568"));

No matter what website the URI refers to, the multi-grabber will detect the provider and put the right grabber to use.

3. Process the Result

var info = result.Resource<GrabbedInfo>();
Console.WriteLine("Time Length: {0}", info.Length);
var images = result.Resources<GrabbedImage>();
var videos = result.Resources<GrabbedMedia>();

Upgrade From 1.x to 2.x

ATTENTION! Beware of the breaking changes since v2.0 that requires you to update your code. The good news is no functionality has been removed, so with a minor refactoring, you should be good to go! I strongly recommend that you upgrade, v2 has a much cleaner structure and code.

SharpGrabber.Desktop

Version 4.2

  • Grabs from every source supported by official grabbers.
  • Displays information and downloads videos, audios, images etc.
  • Merges YouTube separated audio and video streams into complete media files. It can join HLS segments as well!
  • BlackWidow integrated

Requirements of the cross-platform desktop application to run and operate correctly:

  • .NET Core 3.1
  • Shared libraries of ffmpeg copied into ffmpeg directory alongside app executable files for media manipulation support.

Download the latest binaries from the releases page.

SharpGrabber.Desktop Application

Introducing BlackWidow

SharpGrabber

BlackWidow executes scripts written specifically for grabbing, rather than relying on .NET assemblies.

  • Always Up-to-date: The scripts are always kept up-to-date at runtime; so the functionality of the host application won't break as the sources change - at least not for long!
  • ECMAScript Support: Supports JavaScript/ECMAScript out of the box.
  • Easy Maintenance: JavaScript is darn easy to code and understand! This helps contributors to quickly write new grabbers or fix the existing ones.
  • Secure: The scripts are executed in a sandbox environment, and they only have access to what the BlackWidow API exposes to them.
  • Highly Customizable: Almost everything is open for extension or replacement. Make new script interpreters, custom grabber repositories, or roll out your own interpreter APIs

Read more + Documentation

Contribution

You are most welcome to contribute!

  • Authentication mechanisms for grabbers e.g. Instagram Login
  • Support for more media providers such as DailyMotion, Facebook, Twitch etc.
  • Accelerate downloads in the desktop app (like a download manager)

Disclaimer

SharpGrabber library, BlackWidow and other projects and libraries provided in this repository are developed for educational purposes. Since it's illegal to extract copyrighted data, you should make sure your usage of the tools provided here complies with copyright laws. Contributors to these tools are not responsible for any copyright infringement that may occur per usage.

License

Copyright © 2022 SharpGrabber contributors

This project is licensed under the GNU Lesser General Public License (LGPL) version 3.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

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