예제 #1
0
        public static string GetName(VideoSizeEnum videoSize, string prefix = null, string suffix = null)
        {
            string videoSizeName = videoSize == VideoSizeEnum.Automatic
                                ? ((int)VideoSizeEnum.Automatic).ToString()
                                : videoSize.GetDisplayName();

            return(string.Concat(prefix ?? string.Empty, videoSizeName, suffix ?? string.Empty));
        }
예제 #2
0
        public static IEnumerable <ConversionOptions> FindVideoSizeConversions(VideoSizeEnum videoSize, VideoSizeEnum?maxVideoSize = null, ConversionSearchRestriction?restriction = null, ConversionPreset?preset = null)
        {
            if (videoSize < VideoSizeEnum.SQCIF)
            {
                yield break;
            }
            maxVideoSize ??= MaximumVideoSize();
            restriction ??= __conversionSearchRestriction;
            preset ??= __conversionPreset;

            // for more info on video size, check out: https://en.wikipedia.org/wiki/Graphics_display_resolution
            foreach (VideoSize size in AllSizes.Values.Where(e => e.Enabled && e.Value <= maxVideoSize))
            {
                //Fill VideoSize, MaxBitRate (=VideoSize.BitRate * 1.5~2)
                if (restriction == ConversionSearchRestriction.None || restriction == ConversionSearchRestriction.MP4)
                {
                    ConversionOptions mp4 = ConversionOptions.Mp4;
                    mp4.AspectRatio = VideoAspectRatio.R16T9;
                    mp4.Preset      = preset;
                    mp4.Threads     = __maxThreads;
                    mp4.VideoSize   = size;
                    AdjustBitRate(mp4);
                    yield return(mp4);
                }

                if (restriction == ConversionSearchRestriction.None || restriction == ConversionSearchRestriction.WebMedia)
                {
                    ConversionOptions webM = ConversionOptions.WebM;
                    webM.AspectRatio = VideoAspectRatio.R16T9;
                    webM.Preset      = preset;
                    webM.Threads     = __maxThreads;
                    webM.VideoSize   = size;
                    AdjustBitRate(webM);
                    yield return(webM);
                }
            }
        }
예제 #3
0
 public VideoSize(VideoSizeEnum videoSize)
 {
     Enabled = true;
     Value   = videoSize;
 }