Example #1
0
 private void btnStartStopVideo_Click(object sender, EventArgs e)
 {
     if (lbCameras.SelectedIndex < 0)
     {
         MessageBox.Show("当前没有选择相机,请先选择一个相机!");
         return;
     }
     if (videoStream.IsRunning)
     {
         videoStream.Stop();
         videoWriter.Close();    // 保存视频文件
         File.Move("_video_saved\\recording.avi",
                   string.Format("_video_saved\\{0}-{1}.avi",
                                 curCamera.ToString(),
                                 DateTime.Now.ToString("yyyy-MM-dd_HH.mm.ss")));
         curCamera = null;
         timerGetData.Stop();   // 关闭同时关闭计时器
         pbCameraView.Image          = global::Monitor.Properties.Resources.no_video;
         btnStartStopVideo.Text      = "显示视频";
         btnStartStopVideo.BackColor = Color.LightGreen;
         labelVideoInfo.Text         = "请先在左侧选择相机,然后点击“显示视频”";
     }
     else
     {
         curCamera          = cameras[lbCameras.SelectedIndex];
         videoStream.Source = string.Format(videoUrlFormatter, curCamera.ip, curCamera.port);
         videoStream.Start();
         videoWriter.Open("_video_saved\\recording.avi", 352, 288); // 创建视频文件
         timerGetData.Start();                                      // 启动同时开始计时器
         btnStartStopVideo.Text      = "关闭视频";
         btnStartStopVideo.BackColor = Color.LightCoral;
         labelVideoInfo.Text         = curCamera.ToFullString();
     }
 }
Example #2
0
        private void makeVideo(object _param)
        {
            isNowVideoSaving = true;
            photoThreadsCounter++;

            VideoParameters param = (VideoParameters)_param;

            Accord.Video.VFW.AVIWriter wr;
            wr = new AVIWriter();

            wr.FrameRate = Convert.ToInt32(param.FPS);
            wr.Open(param.path, 2 * param.halfWidth, 2 * param.halfHeight);

            int frameCount = param.movie.frameCount();

            for (int i = 0; i < frameCount; i++)
            {
                wr.AddFrame(param.movie[i].getFrame(param.halfWidth, param.halfHeight, grid));
                Console.WriteLine("Frame {0} out of {1} is done!", i + 1, frameCount);
                statusFrames = String.Format("{0}/{1}", i + 1, frameCount);
            }

            wr.Close();

            photoThreadsCounter--;
            isNowVideoSaving = false;
            statusFrames     = "";
        }
Example #3
0
        private void SaveAnimationButton_Click(object sender, EventArgs e)
        {
            if (bitmaps.Count == 0)
            {
                MessageBox.Show(StringResources.NoFrame);
                return;
            }
            SaveFileDialog sfd = new SaveFileDialog();

            sfd.DefaultExt   = "avi";
            sfd.AddExtension = true;
            sfd.Filter       = "(*.avi)|*.avi";
            if (sfd.ShowDialog() == DialogResult.OK)
            {
                AVIWriter aw = new AVIWriter("MSVC");
                aw.FrameRate = Settings.framerate;
                aw.Open(sfd.FileName, FrameWidth, FrameHeight);
                for (int j = 0; j < bitmaps.Count; j++)
                {
                    Bitmap bitmap = (Bitmap)bitmaps[j].Clone();
                    double secs   = FrameDurations[j];
                    for (int i = 0; i < secs * Settings.framerate; i++)
                    {
                        aw.AddFrame(bitmap);
                    }
                }
                aw.Quality = 1;
                aw.Close();
            }
        }
Example #4
0
        private void Camera_NewFrame(object sender, EventArgs e)
        {
            if ((intervalsToSave != 0) && (saveOnMotion == true))
            {
                // lets save the frame
                if (writer == null)
                {
                    string fileName = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss") + ".avi";
                    try
                    {
                        writer = new AVIWriter("wmv3");                                                 // create AVI writer
                        writer.Open(fileName, _CameraWindow.Camera.Width, _CameraWindow.Camera.Height); // open AVI file
                    }
                    catch (ApplicationException ex)
                    {
                        if (writer != null)
                        {
                            writer.Dispose();
                            writer = null;
                        }
                    }
                }

                Camera camera = _CameraWindow.Camera;   // save the frame
                camera.Lock();
                writer.AddFrame(camera.LastFrame);
                camera.Unlock();
            }
        }
        private void video_NuevoFrame(object sender, NewFrameEventArgs eventArgs)
        {
            //entra aqui mientras no se haya detectado movimiento

            Bitmap Imagen = (Bitmap)eventArgs.Frame.Clone();

            video = (Bitmap)eventArgs.Frame.Clone();
            if (detector != null)
            {
                Single motionLevel = detector.ProcessFrame(Imagen);

                if (motionLevel > motionAlarmLevel)
                {
                    //"Si hay Movimiento";
                    if (!IsRecording && timeLeft <= 0)
                    {
                        //txtMensajes.Text += "Inicio de grabación...! " + "\r\n";
                        time_stop     = DateTime.Now.AddSeconds(10);
                        IsRecording   = true;
                        VideoFileName = "C:/Users/Alex/Desktop/DEMO/video_" + DateTime.Now.ToShortDateString().Replace("/", "-") + DateTime.Now.ToShortTimeString().Replace(":", "_") + ".avi";
                        writer.Open(VideoFileName, video.Width, video.Height);
                        //FileWriter.Open("D:/video.avi", 320, 240, 25, VideoCodec.MPEG4, 5000000);
                    }
                }
                else
                {
                    //"No hay Movimiento";
                    foto = (Bitmap)eventArgs.Frame.Clone();
                }

                pcb_video.Image = Imagen;
            }
        }
        private void recordVideo()
        {
            AVIWriter writer = new AVIWriter("wmv3");

            writer.Open("test.avi", 320, 240);
            Bitmap image = new Bitmap(320, 240);

            for (int i = 0; i < 240; i = i + 5)
            {
                if (i == 235)
                {
                    break;
                }
                if (i > 4)
                {
                    image.SetPixel(i - 1, i - 1, Color.Black);
                    image.SetPixel(i - 2, i - 2, Color.Black);
                    image.SetPixel(i - 3, i - 3, Color.Black);
                    image.SetPixel(i - 4, i - 4, Color.Black);
                    image.SetPixel(i - 5, i - 5, Color.Black);
                }

                image.SetPixel(i, i, Color.Red);
                image.SetPixel(i + 1, i + 1, Color.Red);
                image.SetPixel(i + 2, i + 2, Color.Red);
                image.SetPixel(i + 3, i + 3, Color.Red);
                image.SetPixel(i + 4, i + 4, Color.Red);

                writer.AddFrame(image);
            }
            writer.Close();
        }
Example #7
0
 public void Start()
 {
     //mStream.Start();
     // create new AVI file and open it
     mAviWriter.Open("test.avi", mBitmap.Width, mBitmap.Height);
     mAviWriter.AddFrame(mBitmap);
 }
Example #8
0
 private void button3_Click(object sender, EventArgs e)
 {
     if (recording)
     {
         aviWriter.Close();
         recordBtn.Text   = "Start Recording";
         recording        = false;
         statusTxt.Text   = "Stopped.";
         contBtn.Enabled  = false;
         pauseBtn.Enabled = false;
     }
     else
     {
         SaveFileDialog sfd = new SaveFileDialog();
         sfd.Filter = "Audio Video Interleave File | *.avi";
         DialogResult result = sfd.ShowDialog();
         if (result == DialogResult.OK)
         {
             statusTxt.Text = "Recording...";
             aviWriter.Close();
             String file = sfd.FileName;
             aviWriter.Open(file, pictureBox1.Size.Width, pictureBox1.Size.Height);
             recordBtn.Text   = "Stop Recording";
             recording        = true;
             paused           = false;
             pauseBtn.Enabled = true;
         }
     }
 }
        private void GrabarVideo()
        {
            AVIWriter grabadorVideo = new AVIWriter();

            try
            {
                Bitmap   imagen       = Camaras.CapturarImagen(visorCamara1);
                DateTime Hoy          = DateTime.Now;
                string   fecha_actual = Hoy.ToString("dd-MM-yyyy HH-mm-ss");
                grabadorVideo.Open(rutaCapturas + "\\video_" + fecha_actual + ".avi", imagen.Width, imagen.Height);
                while (true)
                {
                    if (grabandoVideo1)
                    {
                        grabadorVideo.AddFrame(Camaras.CapturarImagen(visorCamara1));
                        Thread.Sleep(50);
                    }
                    else
                    {
                        break;
                    }
                }
                grabadorVideo.Close();
            }
            catch (Exception)
            {
                grabadorVideo.Close();
            }
        }
Example #10
0
        private void RecordButton_Click(object sender, EventArgs e)
        {
            if (!recordVideo)
            {
                SaveFileDialog dialog = new SaveFileDialog();

                dialog.Filter           = "Plik AVI (*.avi)|*.avi";
                dialog.FilterIndex      = 1;
                dialog.RestoreDirectory = true;
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    writer           = new AVIWriter("cvid");
                    writer.FrameRate = 5;
                    var width  = videoSource.VideoResolution.FrameSize.Width;
                    var height = videoSource.VideoResolution.FrameSize.Height;

                    writer.Open(dialog.FileName, width, height);
                    recordVideo       = true;
                    RecordButton.Name = "Stop recording";
                }
            }
            else
            {
                recordVideo = false;
                captureThread.Join();
                writer.Close();
                RecordButton.Name = "Recording";
            }
        }
Example #11
0
        //generate files for analyser
        private void generate_initialization()
        {
            var openFileDialog = new OpenFileDialog {
                Title = "Select filename", Filter = "Replay files|*.replay"
            };

            if (openFileDialog.ShowDialog() == true)
            {
                //get the pure filename(without path and extension)
                string path     = openFileDialog.FileName;
                string filename = openFileDialog.SafeFileName;
                System.Console.WriteLine("path = " + path + "purepath= ");
                string pathwithoutextension = path.Remove(path.IndexOf('.'));
                replay  = new KinectReplay(openFileDialog.FileName);
                message = string.Format("Replaying {0}", RecordOptions.ToString());
                videoWriter.FrameRate = 30;
                videoWriter.Open(pathwithoutextension + ".avi", 640, 480);
                //xmlwriter
                xmlwriter = new XMLWriter(pathwithoutextension + "_jointsdata.xml", pathwithoutextension + "_keyframes.xml", filename);

                IsGenerating           = true;
                replay.AllFramesReady += ReplayAllFramesReady;
                replay.ReplayFinished += CleanupGeneration;
                replay.Start();
                generationstatus.Content = "generating analysis files, please wait";
            }
        }
Example #12
0
        //视频录制函数
        public void RecordOpen()
        {
            DateTime date     = DateTime.Now;
            String   fileName = String.Format("{0}-{1}-{2} {3}-{4}-{5}", date.Year, date.Month, date.Day, date.Hour, date.Minute, date.Second);

            aviWriter.Open(String.Format(".\\SmartVision\\视频\\Camera_Vision_{0}_{1}.avi", name, fileName), width, height);
            aviWriter.FrameRate = 25;
            aviWriter.Quality   = 100;
        }
Example #13
0
        public API_AForge_Video newVideo(string pathToVideo)
        {
            PathToAviVideo        = pathToVideo;
            VideoWriter           = new AVIWriter(VideoCodec);
            VideoWriter.FrameRate = FrameRate;

            VideoWriter.Open(PathToAviVideo, VideoWidth, VideoHeight);
            return(this);
        }
Example #14
0
        //private void jpgToAVIByFFpeg(String[] pic, String newPic, int delayTime)
        //{
        //    int frameRate = 25;

        //    if (delayTime > 0)
        //        frameRate = Convert.ToInt32(1000f / delayTime);

        //    VideoFileWriter writer = new VideoFileWriter();


        //    Image im;
        //    if (tVLeft.Nodes.Count > 0)
        //    {
        //        im = Image.FromFile(tVLeft.Nodes[0].Name.ToString());
        //        int w = im.Width;
        //        int h = im.Height;
        //        progressBar1.Maximum = tVLeft.Nodes.Count;
        //        if (w % 2 != 0)
        //            w += 1;
        //        if (h % 2 != 0)
        //            h += 1;

        //        writer.Open(newPic, w, h, frameRate, VideoCodec.MPEG4);

        //        for (int i = 0; i < tVLeft.Nodes.Count; i++)
        //        {
        //            im.Dispose();
        //            im = Image.FromFile(tVLeft.Nodes[i].Name.ToString());
        //            im = BitmapToBlowUp(im, w, h);

        //            this.pictureBox1.Image = im;
        //            this.pictureBox1.Refresh();
        //            if ((im.Height != h) | (im.Width != w))
        //                MessageBox.Show(tVLeft.Nodes[i].Name.ToString() + " 文件大小与首张不符!");
        //            writer.WriteVideoFrame((Bitmap)im);

        //            progressBar1.Value += 1;

        //            curFile.Text = i.ToString() + ">>> " + getFileNameOnly(pic[i]);
        //            curFile.Refresh();
        //        }
        //        writer.Close();
        //        writer.Dispose();

        //        MessageBox.Show("AVI 动画文件转换完毕!");
        //    }
        //} // FFPEG 类生成AVI,使用 MPG4 格式压缩
        // 如果使用 FFPEG 类,则需要:
        // 1、引用如下类库:
        //  AForge.Video.FFMPEG
        // 2、将如下类库 Copy 到目标程度所在文件夹,如 bin\debug 等。
        // AForge.Net FrameWork \Externals\FFMPEG\BIN文件夹下的所有 DLL 文件
        // avcodec-53.dll,avdevice-53.dll,avfilter-2.dll,avformat-53.dll,avutil-51.dll,postproc-52.dll,swresample-0.dll,swscale-2.dll
        private void jpgToAVI(String[] pic, String newPic, int delayTime)
        {
            int frameRate = 25;

            if (delayTime > 0)
            {
                frameRate = Convert.ToInt32(1000f / delayTime);
            }

            AVIWriter aviWriter = new AVIWriter("wmv3");

            aviWriter.FrameRate = frameRate;

            Image im;

            if (tVLeft.Nodes.Count > 0)
            {
                im = Image.FromFile(tVLeft.Nodes[0].Name.ToString());
                int w = im.Width;
                int h = im.Height;
                progressBar1.Maximum = tVLeft.Nodes.Count;

                if (w % 2 != 0)
                {
                    w += 1;
                }
                if (h % 2 != 0)
                {
                    h += 1;
                }

                aviWriter.Open(newPic, w, h);  // 输出到指定的文件

                for (int i = 0; i < tVLeft.Nodes.Count; i++)
                {
                    im.Dispose();
                    im = Image.FromFile(tVLeft.Nodes[i].Name.ToString());
                    im = BitmapToBlowUp(im, w, h);

                    this.pictureBox1.Image = im;
                    this.pictureBox1.Refresh();
                    if ((im.Height != h) | (im.Width != w))
                    {
                        MessageBox.Show(tVLeft.Nodes[i].Name.ToString() + " 文件大小与首张不符!");
                    }
                    aviWriter.AddFrame((Bitmap)im);
                    progressBar1.Value += 1;

                    curFile.Text = i.ToString() + ">>> " + getFileNameOnly(pic[i]);
                    curFile.Refresh();
                }
                aviWriter.Close();
                aviWriter.Dispose();
                MessageBox.Show("AVI 动画文件转换完毕!");
            }
        } // WMV3 格式压缩
Example #15
0
 private void button3_Click(object sender, EventArgs e)
 {
     usbCams = new FilterInfoCollection(FilterCategory.VideoInputDevice);
     cam     = new VideoCaptureDevice(usbCams[0].MonikerString);
     cam.DesiredFrameSize = new Size(320, 240);
     writer.Open("test.avi", 320, 240);
     cam.NewFrame        += new NewFrameEventHandler(cam_NewFrame);
     cam.DesiredFrameRate = 25;
     cam.Start();
 }
Example #16
0
 public static void WriteAvi(string path, int width, int height, VideoType videoType = VideoType.Default)
 {
     avi = new AVIWriter();
     if (videoType != VideoType.Default)
     {
         avi.Codec = videoType.ToString();
     }
     avi.FrameRate = 10;
     avi.Open(path, width, height);
 }
Example #17
0
        public void Record(Bitmap frame)
        {
            // int width = frame.Width - (frame.Width % 2);
            // int height = frame.Width - (frame.Height % 2);
            if (!isRecording)
            {
                isRecording = true;
                writer.Open(@"C:\Users\navar\OneDrive\Pictures\FaceDetection\Face-" + numOfImg + ".avi", frame.Width, frame.Height);
            }

            writer.AddFrame(frame);
        }
Example #18
0
        private void button2_Click(object sender, EventArgs e)
        {
            writer = new AVIWriter("DIB ");
            writer.Open("video.avi", 160, 120);
            Bitmap image = new Bitmap(160, 120);

            videoSource           = new VideoCaptureDevice(videoDevices[comboBox1.SelectedIndex].MonikerString);
            videoSource.NewFrame += new NewFrameEventHandler(video_NewFrame);
#pragma warning disable CS0612
            videoSource.DesiredFrameSize = new Size(160, 120);
#pragma warning restore CS0612
            videoSource.Start();
        }
Example #19
0
        public void startSave(string fid = "", int max_frames = 1000, int max_size_mb = 1000)
        // buffer size is only required if compress is true
        {
            writeFileName = fileName;
            if (fid.Length > 0)
            {
                writeFileName = fid;
            }
            frameCount = 0;
            if (writeFileName.EndsWith(".avi"))
            {
                aviWriter           = new AVIWriter("MRLE");
                aviWriter.FrameRate = 30;
                Console.WriteLine("Codec:" + aviWriter.Codec);
                if (File.Exists(writeFileName))
                {
                    File.Delete(writeFileName);  // otherwise it will not run
                }
                aviWriter.Open(writeFileName, Convert.ToInt32(640), Convert.ToInt32(480));
                // always crashes here anyway - something to do with Windows7 I think
                // found some advice at http://code.google.com/p/aforge/issues/detail?id=312

                /*
                 * Type     Name              Format Binary             Version
                 * ICM  Microsoft RLE     MRLE  msrle32.dll     6.1.7600.16490
                 * ICM  Microsoft Video 1 MSVC  msvidc32.dll    6.1.7600.16490
                 * ICM  Microsoft YUV     UYVY  msyuv.dll   6.1.7600.16490
                 * ICM  Intel IYUV codec  IYUV  iyuv_32.dll     6.1.7600.16490
                 * ICM  Toshiba YUV Codec   Y411    tsbyuv.dll  6.1.7600.16490
                 * ICM  Cinepak Codec by Radius     cvid    iccvid.dll  1.10.0.13
                 * DMO  Mpeg4s Decoder DMO  mp4s, MP4S, m4s2, M4S2, MP4V, mp4v, XVID, xvid, DIVX, DX50  mp4sdecd.dll    6.1.7600.16385
                 * DMO  WMV Screen decoder DMO  MSS1, MSS2  wmvsdecd.dll    6.1.7600.16385
                 * DMO  WMVideo Decoder DMO     WMV1, WMV2, WMV3, WMVA, WVC1, WMVP, WVP2    wmvdecod.dll    6.1.7600.16385
                 * DMO  Mpeg43 Decoder DMO  mp43, MP43  mp43decd.dll    6.1.7600.16385
                 * DMO  Mpeg4 Decoder DMO   MPG4, mpg4, mp42, MP42  mpg4decd.dll    6.1.7600.16385
                 * */
            }
            else
            {
                toCompress  = !writeFileName.EndsWith(".vid");
                writePos    = 0;
                maxFrames   = max_frames;
                maxSizeMb   = max_size_mb;
                frameWriter = new BinaryWriter(File.Open(writeFileName, FileMode.Create));
                if (toCompress)
                {
                    writeFramePosList = new List <Int32>();
                }
                saveMode = true;
            }
        }
Example #20
0
        private void btnRecord_Click(object sender, EventArgs e)
        {
            AVIWriter writer = new AVIWriter("wmv3");

            writer.Open("test.avi", 320, 240);
            Bitmap image = new Bitmap(320, 240);

            for (int i = 0; i < 240; i++)
            {
                image.SetPixel(i, i, Color.Red);
                writer.AddFrame(image);
            }
            writer.Close();
        }
Example #21
0
        public void sendFrame(Bitmap frame, string Name)
        {
            if (alarmInterval > 0)
            {
                if (!audioPlayed && options.EnableAlertSound)
                {
                    try
                    {
                        Log.debug(String.Format("Playing audio file {0} for camera {1}", options.AlertSoundFile, options.Name));
                        audioPlayed = true;
                        SoundPlayer simpleSound = new SoundPlayer(options.AlertSoundFile);
                        simpleSound.Play();
                    }
                    catch (Exception e)
                    {
                        Log.error(String.Format("Unable to play audio file for {0}. Error: {1}", options.Name, e.Message));
                    }
                }
                if (recording && options.EnableRecording && frameDropThreshold <= MAX_FRAME_DROP)
                {
                    try
                    {
                        if (videoWriter == null)
                        {
                            DateTime now      = DateTime.Now;
                            string   file     = String.Format("{0}-{1:D4}.{2:D2}.{3:D2}-{4:D2}.{5:D2}.{6:D2}.avi", options.Name, now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second);
                            string   fullpath = Path.Combine(options.RecordFolder, file);

                            Log.debug(String.Format("Creating new Video Writer {0} with codec {1}",
                                                    fullpath, options.Codec));

                            videoWriter = new AVIWriter(options.Codec.Code);
                            videoWriter.Open(fullpath, frame.Width, frame.Height);
                        }

                        videoWriter.AddFrame(frame);
                    }
                    catch (Exception io)
                    {
                        frameDropThreshold++;
                        videoWriter = null;
                        Log.warn(String.Format("Error writing video frame for {0}. Record Folder: {1}. Message: {2}", options.Name, options.RecordFolder, io.Message));
                        if (frameDropThreshold == MAX_FRAME_DROP)
                        {
                            Log.error(String.Format("Maximum ({0}) frames failed for {1}. Dropping all frames until next motion alert", MAX_FRAME_DROP, options.Name));
                        }
                    }
                }
            }
        }
 private void button5_Click(object sender, EventArgs e)
 {
     if (toggleRec == false)
     {
         SaveFileDialog saveAVI = new SaveFileDialog();
         saveAVI.Filter = "AVI Files (*.avi)|*.avi";
         if (saveAVI.ShowDialog() == DialogResult.OK)
         {
             writer = new AVIWriter("XVID");
             writer.Open(saveAVI.FileName, 480, 640);
             toggleRec = true;
             Label lblRec = new Label();
         }
     }
 }
Example #23
0
 void videoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
 {
     currentFrame = (Bitmap)eventArgs.Frame.Clone();
     if ((captureThread == null || !captureThread.IsAlive) && recordVideo)
     {
         writer.Open("test.avi", 320, 240);
         Bitmap threadFrame = (Bitmap)currentFrame.Clone();
         for (int i = 0; i < 240; i++)
         {
             writer.AddFrame(threadFrame);
         }
         writer.Close();
     }
     pictureBox1.Invoke(new Action(delegate { pictureBox1.Image = currentFrame; }));
 }
Example #24
0
 public AviWriter(String path, int width = 0, int height = 0)
 {
     if (width == 0 || height == 0)
     {
         path       += ".stream";
         videoStream = File.Create(path, 1392640);
     }
     else
     {
         path                 += ".avi";
         videoWriter           = new AVIWriter("ffds");
         videoWriter.FrameRate = 12;
         videoWriter.Open(path, width, height);
     }
 }
Example #25
0
            public SaveVideo(Stegonography steg)
            {
                stegonography = steg;
                //Saving into new AVI
                // create instance of video writer

                //Uncommented till VideoFileWriter is compressing the data!
                //writer = new VideoFileWriter();
                //writer.Open("test.avi", stegonography.Width + 1, stegonography.Height + 1, stegonography.FPS, VideoCodec.MPEG4);

                //Empty constructor is creating writer with DIB codec which means no compression
                writer           = new AVIWriter();
                writer.FrameRate = steg.FPS;
                writer.Open("test.avi", steg.Width + 1, steg.Height + 1);
            }
Example #26
0
        private void btnVer_Click(object sender, EventArgs e)
        {
            //Establecemos el objeto seleccionado como fuente de video
            fuenteDeVideo = new VideoCaptureDevice(dispositivos[comboCamaras.SelectedIndex].MonikerString);
            //Iniciamos la cámara
            fuenteDeVideo.Start();

            //Inicializamos el control
            videoSourcePlayer1.VideoSource = fuenteDeVideo;
            //Iniciamos recepción de imágenes

            videoSourcePlayer1.Start();
            //Habilitamos el botón para grabar
            btnParar.Enabled = true;

            /*Si el usuario marcó que quería destacar el movimiento, creamos un detector
             * de movimiento con destaque, caso contrario, uno que sólo detecte movimiento sin destacar áreas */
            if (resaltarMovimiento)
            {
                detectorDeMovimiento = new MotionDetector(new SimpleBackgroundModelingDetector(), new MotionAreaHighlighting());
            }
            else
            {
                detectorDeMovimiento = new MotionDetector(new SimpleBackgroundModelingDetector());
            }
            try
            {
                if (videoSourcePlayer1.GetCurrentVideoFrame() != null)
                {
                    int    alto  = videoSourcePlayer1.Height;
                    int    ancho = videoSourcePlayer1.Width;
                    Bitmap image = new Bitmap(ancho, alto);
                    image = videoSourcePlayer1.GetCurrentVideoFrame();


                    archivo += "/test.avi";


                    writer.Open(archivo, image.Width, image.Height);

                    estaGrabando = true;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Example #27
0
        void _experiment_NewTrack(object sender, EventArgs e)
        {
            AudioFileEventArgs audioTrack = (AudioFileEventArgs)e;

            try
            {
                // create new AVI file and open it
                //string writerfile = "..\\" + _currentUser + ".avi"
                //_writer.FrameRate = 17;
                _writer.Open("..\\" + _currentUser + Path.GetFileName(audioTrack.AudioFile) + ".avi", _videoSource.VideoResolution.FrameSize.Width, _videoSource.VideoResolution.FrameSize.Height);
            }
            catch (Exception exp)
            {
                MessageBox.Show(exp.Message, Control.ApplicationName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                throw;
            }

            string filename1 = "..\\" + _currentUser + Path.GetFileName(audioTrack.AudioFile) + "_Shimmer1.csv";
            string filename2 = "..\\" + _currentUser + Path.GetFileName(audioTrack.AudioFile) + "_Shimmer2.csv";

            try
            {
                _writeToFileShimmer1 = new Logging(filename1, _delimeter);
                _writeToFileShimmer2 = new Logging(filename2, _delimeter);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, Control.ApplicationName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                throw;
            }

            ////ECG-HR Conversion
            if (_enableECGtoHRConversion)
            {
                ECGtoHR = new ECGToHR(ShimmerDevice1.GetSamplingRate(), TrainingPeriodECG, NumberOfHeartBeatsToAverageECG);
            }
            ExGLeadOffCounter     = 0;
            ExGLeadOffCounterSize = (int)ShimmerDevice1.GetSamplingRate();
            ShimmerIdSetup.Clear();

            ShimmerDevice1.StartStreaming();
            ShimmerDevice2.StartStreaming();

            _writeData = true;
        }
 private void button1_Click(object sender, EventArgs e)
 {
     if (this.toggleButton.Text == "Start Rec.")
     {
         this.toggleButton.Text      = "STOP Rec.";
         this.toggleButton.BackColor = Color.Black;
         toggleButton.ForeColor      = Color.White;
         saveVideo           = new AVIWriter("wmv3");
         saveVideo.FrameRate = 15;
         saveVideo.Open("video.avi", 640, 480);
     }
     else
     {
         this.toggleButton.Text = "Start Rec.";
         toggleButton.ForeColor = Color.Black;
         toggleButton.BackColor = Color.White;
         saveVideo.Close();
     }
 }
Example #29
0
        public Video(String input, String output, int length, String extension, int LSB, String password)
        {
            Length       = length;
            Extension    = extension;
            this.LSB     = LSB;
            Password     = ToPasswordSeed(password);
            SumPNSRFrame = 0;
            SumPNSR      = 0;
            PNSR         = 0;

            reader = new AVIReader();
            writer = new AVIWriter();

            reader.Open(input);
            writer.Open(output, reader.Width, reader.Height);
            ResetWriteByte();

            HideHeader();
        }
Example #30
0
        static void Main(string[] args)
        {
            foreach (FilterInfo videoDevice in new FilterInfoCollection(FilterCategory.VideoInputDevice))
            {
                Console.WriteLine(videoDevice.Name);
            }

            FilterInfo codec = null;

            foreach (FilterInfo videoDevice in new FilterInfoCollection(FilterCategory.VideoCompressorCategory))
            {
                codec = videoDevice;
                Console.WriteLine(videoDevice.Name);
            }

            // instantiate AVI writer, use WMV3 codec
            AVIWriter writer = new AVIWriter(codec.MonikerString);

            // create new AVI file and open it
            writer.Open("test.avi", 320, 240);
            // create frame image
            Bitmap image = new Bitmap(320, 240);

            int j = 1;

            for (int i = 0; i < 240; i++)
            {
                // update image
                image.SetPixel(i, i, Color.Red);
                // add the image as a new frame of video file
                writer.AddFrame(image);

                j = j == 1 ? -1 : 1;
            }

            //Bitmap bitmap = Image.FromFile("Files/grab.mjpeg");
            //writer.AddFrame(bitmap);



            writer.Close();
        }
        public void Start(int framesPerSecond)
        {
            string filename;
            if (recordingWindow != null) {
                string windowTitle = Regex.Replace(recordingWindow.Text, @"[^\x20\d\w]", "");
                if (string.IsNullOrEmpty(windowTitle)) {
                    windowTitle = "greenshot-recording";
                }
                filename = Path.Combine(conf.OutputFilePath, windowTitle + ".avi");

            } else {
                filename = Path.Combine(conf.OutputFilePath, "greenshot-recording.avi");
            }
            if (File.Exists(filename)) {
                try {
                    File.Delete(filename);
                } catch {}
            }
            LOG.InfoFormat("Capturing to {0}", filename);

            if (recordingWindow != null) {
                LOG.InfoFormat("Starting recording Window '{0}', {1}", recordingWindow.Text, recordingWindow.ClientRectangle);
                recordingSize = recordingWindow.ClientRectangle.Size;
            } else {
                LOG.InfoFormat("Starting recording rectangle {0}", recordingRectangle);
                recordingSize = recordingRectangle.Size;
            }
            if (recordingSize.Width % 8 > 0) {
                LOG.InfoFormat("Correcting width to be factor 8, {0} => {1}", recordingSize.Width, recordingSize.Width + (8-(recordingSize.Width % 8)));
                recordingSize = new Size(recordingSize.Width + (8-(recordingSize.Width % 8)), recordingSize.Height);
            }
            if (recordingSize.Height % 8 > 0) {
                LOG.InfoFormat("Correcting Height to be factor 8, {0} => {1}", recordingSize.Height, recordingSize.Height + (8-(recordingSize.Height % 8)));
                recordingSize = new Size(recordingSize.Width, recordingSize.Height + (8-(recordingSize.Height % 8)));
            }
            this.framesPerSecond = framesPerSecond;
            // "P/Invoke" Solution for capturing the screen
            hWndDesktop = User32.GetDesktopWindow();
            // get te hDC of the target window
            hDCDesktop = User32.GetWindowDC(hWndDesktop);
            // Make sure the last error is set to 0
            Win32.SetLastError(0);

            // create a device context we can copy to
            hDCDest = GDI32.CreateCompatibleDC(hDCDesktop);
            // Check if the device context is there, if not throw an error with as much info as possible!
            if (hDCDest == IntPtr.Zero) {
                // Get Exception before the error is lost
                Exception exceptionToThrow = CreateCaptureException("CreateCompatibleDC", recordingSize);
                // Cleanup
                User32.ReleaseDC(hWndDesktop, hDCDesktop);
                // throw exception
                throw exceptionToThrow;
            }

            // Create BitmapInfoHeader for CreateDIBSection
            BitmapInfoHeader bitmapInfoHeader = new BitmapInfoHeader(recordingSize.Width, recordingSize.Height, 32);

            // Make sure the last error is set to 0
            Win32.SetLastError(0);

            // create a bitmap we can copy it to, using GetDeviceCaps to get the width/height
            hDIBSection = GDI32.CreateDIBSection(hDCDesktop, ref bitmapInfoHeader, BitmapInfoHeader.DIB_RGB_COLORS, out bits0, IntPtr.Zero, 0);

            if (hDIBSection == IntPtr.Zero) {
                // Get Exception before the error is lost
                Exception exceptionToThrow = CreateCaptureException("CreateDIBSection", recordingSize);
                exceptionToThrow.Data.Add("hdcDest", hDCDest.ToInt32());
                exceptionToThrow.Data.Add("hdcSrc", hDCDesktop.ToInt32());

                // clean up
                GDI32.DeleteDC(hDCDest);
                User32.ReleaseDC(hWndDesktop, hDCDesktop);

                // Throw so people can report the problem
                throw exceptionToThrow;
            }
            // Create a GDI Bitmap so we can use GDI and GDI+ operations on the same memory
            GDIBitmap = new Bitmap(recordingSize.Width, recordingSize.Height, 32, PixelFormat.Format32bppArgb, bits0);
            // select the bitmap object and store the old handle
            hOldObject = GDI32.SelectObject(hDCDest, hDIBSection);
            stop = false;

            aviWriter = new AVIWriter();
            // Comment the following 2 lines to make the user select it's own codec
            //aviWriter.Codec = "msvc";
            //aviWriter.Quality = 99;

            aviWriter.FrameRate = framesPerSecond;
            aviWriter.Open(filename, recordingSize.Width, recordingSize.Height);

            // Start update check in the background
            backgroundTask = new Thread (new ThreadStart(CaptureFrame));
            backgroundTask.IsBackground = true;
            backgroundTask.Start();
        }