Пример #1
0
        public static MkvInfo Parse(string mkv)
        {
            Process          p   = new Process();
            ProcessStartInfo psi = new ProcessStartInfo(Utils.MkvMergeExecutable, "--identify-verbose \"" + mkv + "\"");

            psi.WindowStyle            = ProcessWindowStyle.Hidden;
            psi.UseShellExecute        = false;
            psi.CreateNoWindow         = true;
            psi.RedirectStandardOutput = true;
            p.StartInfo = psi;
            p.Start();
            p.WaitForExit();
            StreamReader sr = p.StandardOutput;

            string[] tracks = sr.ReadToEnd().Split(new string[] { "\r\n", "\r" }, StringSplitOptions.RemoveEmptyEntries);
            var      ret    = new MkvInfo();

            foreach (string line in tracks)
            {
                var track = MkvTrack.Parse(line);
                if (track != null)
                {
                    ret.Tracks.Add(track);
                }
            }
            return(ret);
        }