diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index cbb98f0fe3..5ecff74f9f 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -428,6 +428,8 @@ namespace MediaBrowser.Api.Playback { return "wmav2"; } + + return codec.ToString().ToLower(); } return "copy"; @@ -460,6 +462,8 @@ namespace MediaBrowser.Api.Playback { return "libtheora"; } + + return codec.ToString().ToLower(); } return "copy"; diff --git a/MediaBrowser.Api/Playback/Progressive/VideoService.cs b/MediaBrowser.Api/Playback/Progressive/VideoService.cs index 14ad454193..6c9cc8903d 100644 --- a/MediaBrowser.Api/Playback/Progressive/VideoService.cs +++ b/MediaBrowser.Api/Playback/Progressive/VideoService.cs @@ -250,7 +250,11 @@ namespace MediaBrowser.Api.Playback.Progressive { args = "-preset superfast"; } - + else if (videoCodec.Equals("mpeg4", StringComparison.OrdinalIgnoreCase)) + { + args = "-mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -bf 2"; + } + if (request.VideoBitRate.HasValue) { args += " -b:v " + request.VideoBitRate; diff --git a/MediaBrowser.Api/Playback/StreamRequest.cs b/MediaBrowser.Api/Playback/StreamRequest.cs index d4da11e3f3..07f9d31e94 100644 --- a/MediaBrowser.Api/Playback/StreamRequest.cs +++ b/MediaBrowser.Api/Playback/StreamRequest.cs @@ -70,7 +70,7 @@ namespace MediaBrowser.Api.Playback /// Gets or sets the video codec. /// /// The video codec. - [ApiMember(Name = "VideoCodec", Description = "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, theora, vpx, wmv.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] + [ApiMember(Name = "VideoCodec", Description = "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public VideoCodecs? VideoCodec { get; set; } /// diff --git a/MediaBrowser.Model/DTO/StreamOptions.cs b/MediaBrowser.Model/DTO/StreamOptions.cs index 79be9fb4b1..edb88a18f5 100644 --- a/MediaBrowser.Model/DTO/StreamOptions.cs +++ b/MediaBrowser.Model/DTO/StreamOptions.cs @@ -168,6 +168,11 @@ /// H264, + /// + /// The mpeg4 + /// + Mpeg4, + /// /// The theora ///