示例#1
0
        public override void Start()
        {
            ffmpeg.StarByte();
            String s;

            //debug
            // int i = 0;

            byte[] temp;
            while (true)
            {
                if (token.token)
                {
                    break;
                }

                while ((s = ffmpeg.ErrorString()) != "")
                {
                    //   Console.WriteLine(s);
                }

                if (ffmpeg.IsRunning)
                {
                    temp = ffmpeg.Read();
                    if (temp == null)
                    {
                        continue;
                    }
                }
                else
                {
                    temp = ffmpeg.Read();
                    if (temp == null)
                    {
                        break;
                    }
                }
                //debug
                //   i += temp.Length;

                Output.Add(temp);
            }
            //debug

            Output.Complete();
            ffmpeg.Terminate();
        }
示例#2
0
文件: MP4Info.cs 项目: vbra/Videofy
        public int GetWidthFromPath(String path)
        {
            DFffmpeg ffmpeg = new DFffmpeg(GenerateArgs(path));

            ffmpeg.StarByte();
            String s = "";
            String temp;

            while (true)
            {
                ffmpeg.Wait(100);
                temp = ffmpeg.ErrorString();
                if (temp != "")
                {
                    s += temp;
                    continue;
                }
                else if ((s.Length > 0) & (!ffmpeg.IsRunning))
                {
                    break;
                }
            }
            ffmpeg.Terminate();

            int l = s.IndexOf("Stream #");

            l = s.IndexOf("yuv", l);
            l = s.IndexOf("x", l) + 1;
            int r = s.IndexOf(",", l);

            s = s.Substring(l, r - l);
            r = s.IndexOf(" ");
            if (r > 0)
            {
                s = s.Substring(0, r);
            }
            return(int.Parse(s));
        }