mirror of https://github.com/jellyfin/jellyfin.git
Merge pull request #10183 from nyanmisaka/fix-av1-livetv
This commit is contained in:
commit
fe63b7d35a
|
@ -1651,7 +1651,7 @@ public class DynamicHlsController : BaseJellyfinApiController
|
|||
_encodingHelper.GetInputArgument(state, _encodingOptions, segmentContainer),
|
||||
threads,
|
||||
mapArgs,
|
||||
GetVideoArguments(state, startNumber, isEventPlaylist),
|
||||
GetVideoArguments(state, startNumber, isEventPlaylist, segmentContainer),
|
||||
GetAudioArguments(state),
|
||||
maxMuxingQueueSize,
|
||||
state.SegmentLength.ToString(CultureInfo.InvariantCulture),
|
||||
|
@ -1814,8 +1814,9 @@ public class DynamicHlsController : BaseJellyfinApiController
|
|||
/// <param name="state">The <see cref="StreamState"/>.</param>
|
||||
/// <param name="startNumber">The first number in the hls sequence.</param>
|
||||
/// <param name="isEventPlaylist">Whether the playlist is EVENT or VOD.</param>
|
||||
/// <param name="segmentContainer">The segment container.</param>
|
||||
/// <returns>The command line arguments for video transcoding.</returns>
|
||||
private string GetVideoArguments(StreamState state, int startNumber, bool isEventPlaylist)
|
||||
private string GetVideoArguments(StreamState state, int startNumber, bool isEventPlaylist, string segmentContainer)
|
||||
{
|
||||
if (state.VideoStream is null)
|
||||
{
|
||||
|
@ -1907,7 +1908,7 @@ public class DynamicHlsController : BaseJellyfinApiController
|
|||
}
|
||||
|
||||
// TODO why was this not enabled for VOD?
|
||||
if (isEventPlaylist)
|
||||
if (isEventPlaylist && string.Equals(segmentContainer, "ts", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
args += " -flags -global_header";
|
||||
}
|
||||
|
|
|
@ -1216,6 +1216,12 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|||
|
||||
int bitrate = state.OutputVideoBitrate.Value;
|
||||
|
||||
// Bit rate under 1000k is not allowed in h264_qsv
|
||||
if (string.Equals(videoCodec, "h264_qsv", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
bitrate = Math.Max(bitrate, 1000);
|
||||
}
|
||||
|
||||
// Currently use the same buffer size for all encoders
|
||||
int bufsize = bitrate * 2;
|
||||
|
||||
|
|
Loading…
Reference in New Issue