encoders/generic: Implement generic encoder for all ffmpeg encoders

This commit is contained in:
Michael Fabian 'Xaymar' Dirks
2019-07-06 13:08:23 +02:00
parent 143b7f585f
commit 9a58a6a5ff
5 changed files with 898 additions and 11 deletions
+39 -10
View File
@@ -1,15 +1,44 @@
Bitrate="Bitrate"
Bitrate.Description="Bitrate in kbit/s"
KeyFrame.Type="Key Frame Type"
KeyFrame.Type.Frames="Frames"
KeyFrame.Type.Seconds="Seconds"
KeyFrame.Interval="Key Frame Interval"
KeyFrame.Interval.Description="Interval in which a Key Frame is placed."
CustomParameters="Custom Parameters"
CustomParameters.Description="Format: key1=val1 key2=val2 key3='val3 val4'"
# ProRes
ProRes.Profile.Proxy="Proxy (PXY)"
ProRes.Profile.Light="Light (LT)"
ProRes.Profile.Standard="Standard"
ProRes.Profile.HighQuality="High Quality (HQ)"
# Rate Control
RateControl="Rate Control"
RateControl.Bitrate="Bitrate"
RateControl.Bitrate.Description="Bitrate in kbit/s. Not supported by all encoders."
RateControl.Profile="Profile"
RateControl.Profile.None="None"
RateControl.KeyFrame="Key-Frames / Group of Pictures (GOP)"
RateControl.KeyFrame.Type="Key-Frame Interval Type"
RateControl.KeyFrame.Type.Description="Defines how the interval value should be read."
RateControl.KeyFrame.Type.Frames="Frames"
RateControl.KeyFrame.Type.Seconds="Seconds"
RateControl.KeyFrame.Interval="Key Frame Interval"
RateControl.KeyFrame.Interval.Description="Interval in which a Key Frame is placed. Not all encoders support this."
# Threading
MultiThreading="Multi-Threading"
MultiThreading.Model="Threading Model"
MultiThreading.Model.Description="Some encoders offer multi threading capabilities which can take advantage of multi-core systems."
MultiThreading.Model.Automatic="Automatic"
MultiThreading.Model.None="Single Threaded"
MultiThreading.Model.Frame="Frame-Threading"
MultiThreading.Model.Slice="Slice-Threading"
MultiThreading.ThreadCount="Number of Threads"
MultiThreading.ThreadCount.Description="The number of threads to use, with 0 being automatic.\nEncoders with 'Automatic-Threading' in the name control threads themselves and will behave different with the 0 value."
MultiThreading.FrameQueue="Enable Frame Queue"
MultiThreading.FrameQueue.Description="Some encoders require us to keep a frame in memory while it is being processed by the encoder.\nThis option fixes corruption due to this, but adds significant latency and memory usage."
# FFmpeg
FFmpeg="FFmpeg Options"
FFmpeg.CustomSettings="Custom Settings"
FFmpeg.CustomSettings.Description="Custom settings that override any detected options above, use with caution.\nThe input should be in the format 'key=value;key=value;...'."
FFmpeg.StandardCompliance="Standard Compliance"
FFmpeg.StandardCompliance.Description="How strict should the encoder keep to the standard? A strictness below 'Normal' may cause issues with playback."
FFmpeg.StandardCompliance.VeryStrict="Very Strict"
FFmpeg.StandardCompliance.Strict="Strict"
FFmpeg.StandardCompliance.Normal="Normal"
FFmpeg.StandardCompliance.Unofficial="Unofficial"
FFmpeg.StandardCompliance.Experimental="Experimental"