|
@@ -8,14 +8,14 @@ using ServiceStack.ServiceHost;
|
|
namespace MediaBrowser.Api.Playback.Hls
|
|
namespace MediaBrowser.Api.Playback.Hls
|
|
{
|
|
{
|
|
[Route("/Videos/{Id}/stream.m3u8", "GET")]
|
|
[Route("/Videos/{Id}/stream.m3u8", "GET")]
|
|
- [ServiceStack.ServiceHost.Api(Description = "Gets a video stream using HTTP live streaming.")]
|
|
|
|
|
|
+ [Api(Description = "Gets a video stream using HTTP live streaming.")]
|
|
public class GetHlsVideoStream : VideoStreamRequest
|
|
public class GetHlsVideoStream : VideoStreamRequest
|
|
{
|
|
{
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
[Route("/Videos/{Id}/segments/{SegmentId}/stream.ts", "GET")]
|
|
[Route("/Videos/{Id}/segments/{SegmentId}/stream.ts", "GET")]
|
|
- [ServiceStack.ServiceHost.Api(Description = "Gets an Http live streaming segment file. Internal use only.")]
|
|
|
|
|
|
+ [Api(Description = "Gets an Http live streaming segment file. Internal use only.")]
|
|
public class GetHlsVideoSegment
|
|
public class GetHlsVideoSegment
|
|
{
|
|
{
|
|
public string Id { get; set; }
|
|
public string Id { get; set; }
|
|
@@ -154,6 +154,16 @@ namespace MediaBrowser.Api.Playback.Hls
|
|
|
|
|
|
args += " -vsync vfr";
|
|
args += " -vsync vfr";
|
|
|
|
|
|
|
|
+ if (!string.IsNullOrEmpty(state.VideoRequest.Profile))
|
|
|
|
+ {
|
|
|
|
+ args += " -profile:v " + state.VideoRequest.Profile;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (!string.IsNullOrEmpty(state.VideoRequest.Level))
|
|
|
|
+ {
|
|
|
|
+ args += " -level 3 " + state.VideoRequest.Level;
|
|
|
|
+ }
|
|
|
|
+
|
|
if (state.SubtitleStream != null)
|
|
if (state.SubtitleStream != null)
|
|
{
|
|
{
|
|
// This is for internal graphical subs
|
|
// This is for internal graphical subs
|