mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-07-07 18:24:14 -04:00
The player now load transmuxed videos.
This commit is contained in:
parent
b129a2d84d
commit
4fa5a6b30f
@ -339,7 +339,7 @@ export class PlayerComponent implements OnInit
|
||||
init()
|
||||
{
|
||||
var dashPlayer = MediaPlayer().create();
|
||||
dashPlayer.initialize(this.player, "http://localhost:5005/" + this.item.link + "/" + this.item.link + ".mpd", true);
|
||||
dashPlayer.initialize(this.player, "/video/transmux/" + this.item.link + "/", true);
|
||||
|
||||
let sub: string = this.route.snapshot.queryParams["sub"];
|
||||
if (sub != null)
|
||||
|
@ -1,6 +1,8 @@
|
||||
using Kyoo.InternalAPI;
|
||||
using Kyoo.Models;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using System.IO;
|
||||
|
||||
namespace Kyoo.Controllers
|
||||
{
|
||||
@ -10,11 +12,13 @@ namespace Kyoo.Controllers
|
||||
{
|
||||
private readonly ILibraryManager libraryManager;
|
||||
private readonly ITranscoder transcoder;
|
||||
private readonly string transmuxPath;
|
||||
|
||||
public VideoController(ILibraryManager libraryManager, ITranscoder transcoder)
|
||||
public VideoController(ILibraryManager libraryManager, ITranscoder transcoder, IConfiguration config)
|
||||
{
|
||||
this.libraryManager = libraryManager;
|
||||
this.transcoder = transcoder;
|
||||
transmuxPath = config.GetValue<string>("transmuxTempPath");
|
||||
}
|
||||
|
||||
[HttpGet("{showSlug}-s{seasonNumber}e{episodeNumber}")]
|
||||
@ -28,7 +32,7 @@ namespace Kyoo.Controllers
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
[HttpGet("transmux/{showSlug}-s{seasonNumber}e{episodeNumber}")]
|
||||
[HttpGet("transmux/{showSlug}-s{seasonNumber}e{episodeNumber}/")]
|
||||
public IActionResult Transmux(string showSlug, long seasonNumber, long episodeNumber)
|
||||
{
|
||||
WatchItem episode = libraryManager.GetWatchItem(showSlug, seasonNumber, episodeNumber);
|
||||
@ -45,6 +49,15 @@ namespace Kyoo.Controllers
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
[HttpGet("transmux/{episodeLink}/dash/{chunk}")]
|
||||
public IActionResult GetTransmuxedChunk(string episodeLink, string chunk)
|
||||
{
|
||||
string path = Path.Combine(transmuxPath, episodeLink);
|
||||
path = Path.Combine(path, "dash" + Path.DirectorySeparatorChar + chunk);
|
||||
|
||||
return PhysicalFile(path, "video/iso.segment");
|
||||
}
|
||||
|
||||
[HttpGet("transcode/{showSlug}-s{seasonNumber}e{episodeNumber}")]
|
||||
public IActionResult Transcode(string showSlug, long seasonNumber, long episodeNumber)
|
||||
{
|
||||
|
@ -11,11 +11,11 @@ namespace Kyoo.InternalAPI
|
||||
{
|
||||
public class Transcoder : ITranscoder
|
||||
{
|
||||
private readonly string tempPath;
|
||||
private readonly string transmuxPath;
|
||||
|
||||
public Transcoder(IConfiguration config)
|
||||
{
|
||||
tempPath = config.GetValue<string>("tempPath");
|
||||
transmuxPath = config.GetValue<string>("transmuxTempPath");
|
||||
|
||||
Debug.WriteLine("&Api INIT (unmanaged stream size): " + TranscoderAPI.Init() + ", Stream size: " + Marshal.SizeOf<Models.Watch.Stream>());
|
||||
}
|
||||
@ -33,7 +33,7 @@ namespace Kyoo.InternalAPI
|
||||
|
||||
public string Transmux(WatchItem episode)
|
||||
{
|
||||
string folder = Path.Combine(tempPath, episode.Link);
|
||||
string folder = Path.Combine(transmuxPath, episode.Link);
|
||||
string manifest = Path.Combine(folder, episode.Link + ".mpd");
|
||||
|
||||
Directory.CreateDirectory(folder);
|
||||
@ -48,7 +48,8 @@ namespace Kyoo.InternalAPI
|
||||
|
||||
public string Transcode(string path)
|
||||
{
|
||||
return @"D:\Videos\Anohana\AnoHana S01E01.mp4";
|
||||
//NOT IMPLEMENTED YET
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
"AllowedHosts": "*",
|
||||
|
||||
"databasePath": "C://Projects/database.db",
|
||||
"tempPath": "C:\\\\Projects\\temp",
|
||||
"transmuxTempPath": "C:\\\\Projects\\temp\\transmux",
|
||||
"peoplePath": "D:\\\\Videos\\People",
|
||||
"plugins": "C:\\Projects\\Kyoo\\Debug",
|
||||
"providerPlugins": "C://Projects/Plugins/Providers",
|
||||
|
Loading…
x
Reference in New Issue
Block a user