예제 #1
0
        internal AvDictionary ToOptions()
        {
            // CBR mode = -b:a
            // VBR

            // Constant Bitrate
            // -b:a

            var options = new AvDictionary();

            if (BitRate != null)
            {
                // Activate CBR mode
                // defaults to 128kbs
                options.Set("b", BitRate.Value.Value); // in bits per second

                // setting this activated the bitrate mode
            }
            else if (Quality != null)
            {
                // options.Set("q", (int)Quality.Value);
            }

            if (CutoffFrequency != null)
            {
                // If unspecified will allow the encoder to dynamically adjust the cutoff to improve clarity on low bitrates.
                options.Set("cutoff", CutoffFrequency.Value);
            }

            if (Coder != null)
            {
                options.Set("aac_coder", Coder.ToString().ToLower());
            }

            // aac_ms
            // aac_is
            // aac_pns
            // aac_tns
            // aac_ltp
            // aac_pred


            switch (Profile)
            {
            case AacProfile.LC: options.Set("profile", "aac_low"); break;

            case AacProfile.LTP: options.Set("profile", "aac_ltp"); break;

            case AacProfile.Main: options.Set("profile", "aac_main"); break;
            }

            return(options);
        }
예제 #2
0
        internal AvDictionary ToOptions()
        {
            // CBR mode = -b:a
            // VBR

            // Constant Bitrate
            // -b:a

            var options = new AvDictionary();

            // options.Set("codec", "libmp3lame");

            if (BitRate != null)
            {
                // Activate CBR mode
                // defaults to 128kbs
                options.Set("b", BitRate.Value.Value); // in bits per second

                // setting this activated the bitrate mode
            }

            return(options);
        }