video streaming
This commit is contained in:
@@ -7,12 +7,12 @@ namespace MediaBrowser.Api.Playback.Progressive
|
||||
/// <summary>
|
||||
/// Class GetAudioStream
|
||||
/// </summary>
|
||||
[Route("/Audio/{Id}.mp3", "GET")]
|
||||
[Route("/Audio/{Id}.wma", "GET")]
|
||||
[Route("/Audio/{Id}.aac", "GET")]
|
||||
[Route("/Audio/{Id}.flac", "GET")]
|
||||
[Route("/Audio/{Id}.ogg", "GET")]
|
||||
[Route("/Audio/{Id}", "GET")]
|
||||
[Route("/Audio/{Id}/stream.mp3", "GET")]
|
||||
[Route("/Audio/{Id}/stream.wma", "GET")]
|
||||
[Route("/Audio/{Id}/stream.aac", "GET")]
|
||||
[Route("/Audio/{Id}/stream.flac", "GET")]
|
||||
[Route("/Audio/{Id}/stream.ogg", "GET")]
|
||||
[Route("/Audio/{Id}/stream", "GET")]
|
||||
public class GetAudioStream : StreamRequest
|
||||
{
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using MediaBrowser.Controller;
|
||||
using MediaBrowser.Common.Net;
|
||||
using MediaBrowser.Controller;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Entities.Audio;
|
||||
using MediaBrowser.Model.Dto;
|
||||
@@ -123,6 +124,8 @@ namespace MediaBrowser.Api.Playback.Progressive
|
||||
// Use the command line args with a dummy playlist path
|
||||
var outputPath = GetOutputFilePath(state);
|
||||
|
||||
Response.ContentType = MimeTypes.GetMimeType(outputPath);
|
||||
|
||||
if (!File.Exists(outputPath))
|
||||
{
|
||||
await StartFFMpeg(state, outputPath).ConfigureAwait(false);
|
||||
|
||||
@@ -1,10 +1,29 @@
|
||||
using MediaBrowser.Controller;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Model.Logging;
|
||||
using System;
|
||||
using ServiceStack.ServiceHost;
|
||||
|
||||
namespace MediaBrowser.Api.Playback.Progressive
|
||||
{
|
||||
/// <summary>
|
||||
/// Class GetAudioStream
|
||||
/// </summary>
|
||||
[Route("/Videos/{Id}/stream.ts", "GET")]
|
||||
[Route("/Videos/{Id}/stream.webm", "GET")]
|
||||
[Route("/Videos/{Id}/stream.asf", "GET")]
|
||||
[Route("/Videos/{Id}/stream.wmv", "GET")]
|
||||
[Route("/Videos/{Id}/stream.ogv", "GET")]
|
||||
[Route("/Videos/{Id}/stream.mp4", "GET")]
|
||||
[Route("/Videos/{Id}/stream.m4v", "GET")]
|
||||
[Route("/Videos/{Id}/stream.mkv", "GET")]
|
||||
[Route("/Videos/{Id}/stream.mpeg", "GET")]
|
||||
[Route("/Videos/{Id}/stream.avi", "GET")]
|
||||
[Route("/Videos/{Id}/stream", "GET")]
|
||||
public class GetVideoStream : StreamRequest
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Class VideoService
|
||||
/// </summary>
|
||||
@@ -19,6 +38,16 @@ namespace MediaBrowser.Api.Playback.Progressive
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the specified request.
|
||||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns>System.Object.</returns>
|
||||
public object Get(GetVideoStream request)
|
||||
{
|
||||
return ProcessRequest(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the command line arguments.
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user