twitch vod downloading done
ffmpeg essentials fix Project reorganized git lfs ffmpeg removed ffmpeg added
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using System.Text.Json.Serialization;
|
||||
namespace VDownload.Sources.Twitch.Configuration.Models{
|
||||
|
||||
public class Api
|
||||
{
|
||||
[ConfigurationKeyName("auth")]
|
||||
public Auth Auth { get; set; }
|
||||
|
||||
[ConfigurationKeyName("helix")]
|
||||
public Helix Helix { get; set; }
|
||||
|
||||
[ConfigurationKeyName("gql")]
|
||||
public Gql Gql { get; set; }
|
||||
|
||||
[ConfigurationKeyName("usher")]
|
||||
public Usher Usher { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
namespace VDownload.Sources.Twitch.Configuration.Models{
|
||||
|
||||
public class Auth
|
||||
{
|
||||
[ConfigurationKeyName("token_schema")]
|
||||
public string TokenSchema { get; set; }
|
||||
|
||||
[ConfigurationKeyName("client_id")]
|
||||
public string ClientId { get; set; }
|
||||
|
||||
[ConfigurationKeyName("endpoints")]
|
||||
public EndpointsAuth Endpoints { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.Json.Serialization;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace VDownload.Sources.Twitch.Configuration.Models
|
||||
{
|
||||
public class Authentication
|
||||
{
|
||||
[ConfigurationKeyName("url")]
|
||||
public string Url { get; set; }
|
||||
|
||||
[ConfigurationKeyName("redirect_url")]
|
||||
public string RedirectUrl { get; set; }
|
||||
|
||||
[ConfigurationKeyName("redirect_url_regex")]
|
||||
public string RedirectUrlRegex { get; set; }
|
||||
|
||||
[ConfigurationKeyName("client_id")]
|
||||
public string ClientId { get; set; }
|
||||
|
||||
[ConfigurationKeyName("response_type")]
|
||||
public string ResponseType { get; set; }
|
||||
|
||||
[ConfigurationKeyName("scopes")]
|
||||
public List<string> Scopes { get; } = new List<string>();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
namespace VDownload.Sources.Twitch.Configuration.Models{
|
||||
|
||||
public class Download
|
||||
{
|
||||
[ConfigurationKeyName("vod")]
|
||||
public Vod Vod { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
namespace VDownload.Sources.Twitch.Configuration.Models{
|
||||
|
||||
public class EndpointsAuth
|
||||
{
|
||||
[ConfigurationKeyName("validate")]
|
||||
public string Validate { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
|
||||
namespace VDownload.Sources.Twitch.Configuration.Models
|
||||
{
|
||||
public class EndpointsHelix
|
||||
{
|
||||
[ConfigurationKeyName("get_videos")]
|
||||
public string GetVideos { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
|
||||
namespace VDownload.Sources.Twitch.Configuration.Models
|
||||
{
|
||||
public class EndpointsUsher
|
||||
{
|
||||
[ConfigurationKeyName("get_video_playlist")]
|
||||
public string GetVideoPlaylist { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
namespace VDownload.Sources.Twitch.Configuration.Models{
|
||||
|
||||
public class GetVideoToken
|
||||
{
|
||||
[ConfigurationKeyName("operation_name")]
|
||||
public string OperationName { get; set; }
|
||||
|
||||
[ConfigurationKeyName("query")]
|
||||
public string Query { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
namespace VDownload.Sources.Twitch.Configuration.Models{
|
||||
|
||||
public class Gql
|
||||
{
|
||||
[ConfigurationKeyName("client_id")]
|
||||
public string ClientId { get; set; }
|
||||
|
||||
[ConfigurationKeyName("endpoint")]
|
||||
public string Endpoint { get; set; }
|
||||
|
||||
[ConfigurationKeyName("queries")]
|
||||
public Queries Queries { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
namespace VDownload.Sources.Twitch.Configuration.Models{
|
||||
|
||||
public class Helix
|
||||
{
|
||||
[ConfigurationKeyName("token_schema")]
|
||||
public string TokenSchema { get; set; }
|
||||
|
||||
[ConfigurationKeyName("client_id")]
|
||||
public string ClientId { get; set; }
|
||||
|
||||
[ConfigurationKeyName("endpoints")]
|
||||
public EndpointsHelix Endpoints { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
namespace VDownload.Sources.Twitch.Configuration.Models{
|
||||
|
||||
public class Queries
|
||||
{
|
||||
[ConfigurationKeyName("get_video_token")]
|
||||
public GetVideoToken GetVideoToken { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
namespace VDownload.Sources.Twitch.Configuration.Models{
|
||||
|
||||
public class Search
|
||||
{
|
||||
[ConfigurationKeyName("general_regexes")]
|
||||
public List<string> GeneralRegexes { get; } = new List<string>();
|
||||
|
||||
[ConfigurationKeyName("vod")]
|
||||
public Vod Vod { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
namespace VDownload.Sources.Twitch.Configuration.Models{
|
||||
|
||||
public class Thumbnail
|
||||
{
|
||||
[ConfigurationKeyName("width")]
|
||||
public int Width { get; set; }
|
||||
|
||||
[ConfigurationKeyName("height")]
|
||||
public int Height { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
namespace VDownload.Sources.Twitch.Configuration.Models{
|
||||
|
||||
public class Usher
|
||||
{
|
||||
[ConfigurationKeyName("endpoints")]
|
||||
public EndpointsUsher Endpoints { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
namespace VDownload.Sources.Twitch.Configuration.Models{
|
||||
|
||||
public class Vod
|
||||
{
|
||||
[ConfigurationKeyName("regexes")]
|
||||
public List<string> Regexes { get; } = new List<string>();
|
||||
|
||||
[ConfigurationKeyName("thumbnail")]
|
||||
public Thumbnail Thumbnail { get; set; }
|
||||
|
||||
[ConfigurationKeyName("stream_playlist_regex")]
|
||||
public string StreamPlaylistRegex { get; set; }
|
||||
|
||||
[ConfigurationKeyName("chunk_regex")]
|
||||
public string ChunkRegex { get; set; }
|
||||
|
||||
[ConfigurationKeyName("file_name")]
|
||||
public string FileName { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user