Exemplo n.º 1
0
 public void Start()
 {
     //mStream.Start();
     // create new AVI file and open it
     mAviWriter.Open("test.avi", mBitmap.Width, mBitmap.Height);
     mAviWriter.AddFrame(mBitmap);
 }
Exemplo n.º 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     = "";
        }
Exemplo n.º 3
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();
            }
        }
Exemplo n.º 4
0
    public void cam_NewFrame(object sender, NewFrameEventArgs eventArgs)
    {
        Bitmap image = (Bitmap)eventArgs.Frame.Clone();

        writer.AddFrame(image);
        pictureBox1.Image = image;
    }
Exemplo n.º 5
0
        void videoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            currentFrame = (Bitmap)eventArgs.Frame.Clone();
            browserFrame = (Bitmap)eventArgs.Frame.Clone();

            if ((captureThread == null || !captureThread.IsAlive) && recordVideo)
            {
                Bitmap threadFrame = (Bitmap)currentFrame.Clone();
                captureThread = new Thread(
                    new ThreadStart(
                        delegate
                {
                    writer.AddFrame(threadFrame);
                }));
                captureThread.Start();
            }


            if ((browserThread == null || !browserThread.IsAlive) && browserRunning)
            {
                browserThread  = new Thread(new ThreadStart(BrowserSnapshot));
                browserRunning = true;
                browserThread.Start();
            }

            CaptureBox.Invoke(
                new Action(
                    delegate
            {
                CaptureBox.Image = currentFrame;
            }));
        }
Exemplo n.º 6
0
 private void aviSaveAs()
 {
     try
     {
         OleDbConnection conn = bc.GetConn();
         conn.Open();
         OleDbCommand cmd = new OleDbCommand("select strPath from tb_VideoPath where ID=1", conn);
         string       str = cmd.ExecuteScalar().ToString().Trim();
         FileInfo     fi  = new FileInfo(str);
         if (fi.Exists)
         {
             fi.Delete();
         }
         conn.Close();
         aviWriter = new AVIWriter();
         //avi中所有图像皆不能小于width及height
         avi_frame = aviWriter.Create(str, 1, SWidth, SHeight);
         for (int i = 0; i < al.Count; i++)
         {
             //获得图像
             Bitmap cache = new Bitmap(Image.FromFile(al[i].ToString()));
             //由于转化为avi后呈现相反,所以翻转
             cache.RotateFlip(RotateFlipType.Rotate180FlipX);
             //载入图像
             aviWriter.LoadFrame(cache);
             aviWriter.AddFrame();
         }
         aviWriter.Close();
         avi_frame.Dispose();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
        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();
        }
Exemplo n.º 8
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();
            }
        }
        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();
            }
        }
Exemplo n.º 10
0
        //write .avi and store data in .xml for a certain frame
        private void writeFrame(ReplayAllFramesReadyEventArgs e)
        {
            //colour frame
            BitmapImage bitmapImage_currentframe = new BitmapImage();
            Bitmap      bitmap_currentframe      = new Bitmap(640, 480);
            var         colorImageFrame          = e.AllFrames.ColorImageFrame;

            if (colorImageFrame != null)
            {
                if (isfirst)
                {
                    initialframenumber = colorImageFrame.FrameNumber;
                    System.Console.WriteLine("initialFramenumber = " + initialframenumber);
                    isfirst = false;
                }

                lastframenumber = colorImageFrame.FrameNumber;
                //write xml
                xmlwriter.storeframe(e.AllFrames.SkeletonFrame, colorImageFrame.FrameNumber, replay.CoordinateMapper);

                //write avi
                var pixelData = new byte[colorImageFrame.PixelDataLength];
                colorImageFrame.CopyPixelDataTo(pixelData);
                var stride = colorImageFrame.Width * PixelFormats.Bgr32.BitsPerPixel / 8;
                //converision to bitmap
                imagesource.WritePixels(new Int32Rect(0, 0, colorImageFrame.Width, colorImageFrame.Height), pixelData, stride, 0);
                bitmapImage_currentframe = ConvertWriteableBitmapToBitmapImage(imagesource);
                bitmap_currentframe      = ConvertBitmapImageToBitmap(bitmapImage_currentframe);
                videoWriter.AddFrame(bitmap_currentframe);
                framecounter++;
            }
        }
 private void webCam_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
 {
     pictureBox1.BackgroundImage = (Bitmap)eventArgs.Frame.Clone();
     if (saveVideo != null)
     {
         saveVideo.AddFrame((Bitmap)eventArgs.Frame.Clone());
     }
 }
Exemplo n.º 12
0
        private void videoStream_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            Bitmap frameData = new Bitmap(eventArgs.Frame);

            frameData.RotateFlip(RotateFlipType.Rotate180FlipNone);
            pbCameraView.Image = frameData;
            videoWriter.AddFrame((Bitmap)frameData.Clone());
        }
Exemplo n.º 13
0
 public static void AddBmpInAvi(Image bmp)
 {
     using (Bitmap b = ScreenModel.GetPicThumbnail(bmp, 80).ToBitmap())
     {
         b.SetPixel(0, 0, Color.Red);
         avi.AddFrame(b);
     }
 }
Exemplo n.º 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 格式压缩
Exemplo n.º 15
0
        private void StartConsumerThread()
        {
            if (!IsWorking)
            {
                IsWorking = true;

                Helpers.CreateDirectoryIfNotExist(OutputPath);

                AVIWriter aviWriter = new AVIWriter(OutputPath, FPS, Size.Width, Size.Height, ShowOptions);

                task = TaskEx.Run(() =>
                {
                    try
                    {
                        position = 0;

                        while (!imageQueue.IsCompleted)
                        {
                            Image img = null;

                            try
                            {
                                img = imageQueue.Take();

                                if (img != null)
                                {
                                    //img.Save("Test\\" + position + ".bmp", ImageFormat.Bmp);
                                    aviWriter.AddFrame((Bitmap)img);
                                    position++;
                                }
                            }
                            catch (InvalidOperationException)
                            {
                            }
                            finally
                            {
                                if (img != null)
                                {
                                    img.Dispose();
                                }
                            }
                        }
                    }
                    finally
                    {
                        IsWorking = false;

                        if (aviWriter != null)
                        {
                            aviWriter.Dispose();
                        }
                    }
                });
            }
        }
Exemplo n.º 16
0
 public void AddFrame(IFrame frame)
 {
     if (videoStream != null)
     {
         videoStream.Write(frame.Buffer, 0, frame.Buffer.Length);
     }
     else
     {
         videoWriter.AddFrame(frame.ToBitmap());
     }
 }
Exemplo n.º 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);
        }
Exemplo n.º 18
0
        public void saveFrame(byte[] buffer)
        {
            // precompressed mode used in trim function where frame are copied from one file to another
            if (maxFrames > 0 && writeFrameCount > maxFrames)
            {
                Console.WriteLine("MaxFrames exceeded");
                return;
            }

            if (aviWriter != null)
            {
                Bitmap     bitmap  = new Bitmap(640, 480, PixelFormat.Format32bppArgb);
                BitmapData bmData  = bitmap.LockBits(new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadWrite, bitmap.PixelFormat);
                IntPtr     pNative = bmData.Scan0;
                Marshal.Copy(buffer, 0, pNative, frameWidth * frameHeight * frameChannels);
                bitmap.UnlockBits(bmData);
                aviWriter.AddFrame(bitmap);
            }
            else if (frameWriter != null)
            {
                //pos = (Int32)frameWriter.BaseStream.Position; - didn't match the actual position due to streaming
                // acutally think it was okay now but the count the buffer length is cleaner anyhow.
                if (maxSizeMb > 0)
                {
                    if ((writePos >> 20) > maxSizeMb)
                    {
                        Console.WriteLine("MaxSize exceeded");
                        return;
                    }
                }
                buffer = edgeFilter(buffer);
                if (toCompress)
                {
                    if (fileName.EndsWith(".vgz"))
                    {
                        //gzframeWriter.Write(buffer, 0, buffer.Length);
                        //    }
                        //buffer = compressIntoMs.ToArray();
                        buffer = gzCompress(buffer);
                    }
                    else
                    {
                        buffer = rleCompress(buffer);
                    }
                }
                frameWriter.Write(buffer);
                writePos += buffer.Length;
                writeFramePosList.Add(writePos);
                writeFrameCount++;
            }
        }
Exemplo n.º 19
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));
                        }
                    }
                }
            }
        }
Exemplo n.º 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();
        }
Exemplo n.º 21
0
        private void _videoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
        {
            try
            {
                if (_writeData && _writer != null)
                {
                    //_writer.AddFrame((Bitmap)eventArgs.Frame.Clone());
                    _writer.AddFrame(eventArgs.Frame);
                }
            }
            catch (Exception r)
            {
                throw;
            }

            try
            {
                if (!_writeData)
                {
                    //if (pictureBoxVideo.BackgroundImage != null && _videoSource != null)
                    //    this.Invoke(new MethodInvoker(delegate() { pictureBoxVideo.BackgroundImage.Dispose(); }));

                    Bitmap bitmap = new Bitmap((Bitmap)eventArgs.Frame.Clone(), pictureBoxVideo.Width, pictureBoxVideo.Height);

                    if (!_writeData)
                    {
                        pictureBoxVideo.BackgroundImage = bitmap;
                    }

                    if (_experiment != null)
                    {
                        if (_experiment.pictureBoxSetupCamera != null)
                        {
                            if (!_writeData)
                            {
                                _experiment.pictureBoxSetupCamera.BackgroundImage = bitmap;
                            }
                        }
                    }
                }
            }
            catch (ObjectDisposedException e)
            {
                int j = 0;
            }
            catch (Exception r)
            {
                throw;
            }
        }
Exemplo n.º 22
0
 /*Evento que se disp-ara cada vez que se cambia un cuadro del videoSourcePlayer */
 private void videoSourcePlayer1_NewFrame(object sender, ref Bitmap image)
 {
     MessageBox.Show("hola");
     if (!detectarMovimiento) //Si no está detectada la detección de movimiento, grabamos sin fijarnos en el movimiento
     {
         //Si se ha iundicado que grabe, entonces guardará cada cambio en el vídeo
         if (estaGrabando)
         {
             writer.AddFrame(image);
         }
     }
     else //Si está habilitdada la detección de movimiento
     {
         if (estaGrabando) //Si hemos indicado que grabe
         {
             //Grabamos si el sistema detecta movimiento
             int nivelSensibilidad = 1 / (20 * sensibilidad);
             if (detectorDeMovimiento.ProcessFrame(image) > nivelSensibilidad)
             {
                 writer.AddFrame(image);
             }
         }
     }
 }
Exemplo n.º 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; }));
 }
        private void timer1_Tick(object sender, EventArgs e)
        {
            DateTime time   = DateTime.Now;
            string   Body   = string.Empty;
            var      ffMpeg = new FFMpegConverter();

            txt_time.Text = time.ToLongTimeString();
            if (IsRecording)
            {
                if (time < time_stop)
                {
                    lblGrabar.Visible = true;
                    lblGrabar.Text    = "Grabando hasta " + time_stop.ToLongTimeString();
                    //Bitmap Imagen = (Bitmap)pcb_video.Image;

                    writer.AddFrame(video);
                    //FileWriter.WriteVideoFrame(video);
                    if (time < time_stop.AddSeconds(-8))
                    {
                        //txtMensajes.Text += "Capturando la foto con imagen de movimiento" + "\r\n";
                        PhotoFileName = "C:/Users/Alex/Desktop/DEMO/photo_" + DateTime.Now.ToShortDateString().Replace("/", "-") + DateTime.Now.ToShortTimeString().Replace(":", "_") + ".png";
                        foto.Save(PhotoFileName, System.Drawing.Imaging.ImageFormat.Png);
                    }
                }
                else
                {
                    txtMensajes.Text += "Fin de la grabación...!" + "\r\n";
                    writer.Close();

                    pcb_video.Image = Properties.Resources.offline;
                    //FileWriter.Close();
                    txtMensajes.Text += "Compresión de video...!" + "\r\n";
                    ffMpeg.ConvertMedia(VideoFileName, VideoFileName.Replace(".avi", ".mp4"), Format.mp4);
                    txtMensajes.Text += "Intentando subir video a servidor de almacenamiento externo...!" + "\r\n";
                    subirArchivo(VideoFileName.Replace(".avi", ".mp4"));
                    txtMensajes.Text += "Video " + this.UploadFileName.Substring(8, UploadFileName.Length - 8) + " cargado a servidor de almacenamiento externo...!" + "\r\n";
                    txtMensajes.Text += "Envío de e-mail...!" + "\r\n";
                    Body              = "<a href='https://dl.dropboxusercontent.com/u/72924944/" + this.UploadFileName.Substring(8, UploadFileName.Length - 8) + "'>VIDEO</a>" +
                                        "<p>" +
                                        "<a href='mailto:[email protected][email protected]&amp;subject=Ignorar%20Evento&amp;body=Se%20ha%20detectado%20movimiento%20en%20el%20sistema%20de%20seguridad%2C%20pero%20Ud.%20ha%20decidido%20ignorar%20este%20evento.%20El%20sistema%20detendr%C3%A1%20el%20servicio%20por%2030%20Minutos.'>IGNORAR</a>";
                    enviar_Correo("*****@*****.**", "ALERTA - Sistema de Seguridad ha detectado movimiento", Body);
                    IsRecording       = false;
                    lblGrabar.Visible = false;
                    time_stop         = DateTime.MinValue;
                }
            }
        }
Exemplo n.º 25
0
        private void process()
        {
            if (frame == null)
            {
                return;
            }
            //OilPainting op = new OilPainting();

            /*
             * Pixellate p = new Pixellate();
             * SaturationCorrection sc = new SaturationCorrection(0.5);
             * BrightnessCorrection bc = new BrightnessCorrection(0.5);
             * HueModifier hm = new HueModifier(50);*/
            Bitmap cannedFrame = frame;

            if (hueBar.Value != 0)
            {
                new HueModifier(hueBar.Value).ApplyInPlace(cannedFrame);
            }
            if (satBar.Value != 0)
            {
                new SaturationCorrection(satBar.Value / 100.0).ApplyInPlace(cannedFrame);
            }
            if (brightnessBar.Value != 0)
            {
                new BrightnessCorrection(brightnessBar.Value / 100.0).ApplyInPlace(cannedFrame);
            }
            if (pixBar.Value != 0)
            {
                new Pixellate(pixBar.Value).ApplyInPlace(cannedFrame);
            }
            pictureBox1.Image = cannedFrame;
            if (recording)
            {
                if (paused)
                {
                    statusTxt.Text = "Paused... " + aviWriter.Position + " frames taken";
                }
                else
                {
                    aviWriter.AddFrame(cannedFrame);
                    statusTxt.Text = "Recording... " + aviWriter.Position + " frames taken";
                }
            }
        }
Exemplo n.º 26
0
        public void VideoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            try
            {
                lock (sync)
                {
                    if (CaptureVideo && canCapture)
                    {
                        Bitmap newFrame = FilpImage((Bitmap)eventArgs.Frame.Clone());
                        // dispose previous frame
                        if (videoFrame != null)
                        {
                            videoFrame.Dispose();
                            videoFrame = null;
                        }

                        videoFrame = newFrame;

                        this.Picture = videoFrame;

                        AVIwriter.Quality = 0;
                        AVIwriter.AddFrame(videoFrame);
                    }
                    else
                    {
                        Bitmap newFrame = FilpImage((Bitmap)eventArgs.Frame.Clone());

                        // dispose previous frame
                        if (videoFrame != null)
                        {
                            videoFrame.Dispose();
                            videoFrame = null;
                        }

                        videoFrame = newFrame;

                        this.Picture = videoFrame;
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
        void stream_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            Bitmap bmp = (Bitmap)eventArgs.Frame.Clone();

            bmp.RotateFlip(RotateFlipType.Rotate90FlipNone);
            pictureBox1.Image = bmp;
            try
            {
                if (toggleRec == true)
                {
                    bmp = (Bitmap)eventArgs.Frame.Clone();
                    bmp.RotateFlip(RotateFlipType.Rotate90FlipNone);
                    writer.AddFrame(bmp);
                }
            }
            catch (Exception e)
            {
            }
        }
Exemplo n.º 28
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();
        }
Exemplo n.º 29
0
 public void AddFrame(Bitmap frame)
 {
     lock (aviWatchDog)
     {
         try
         {
             if (frame == null)
             {
                 currentAvi.AddEmptyFrame();
             }
             else
             {
                 currentAvi.AddFrame(frame);
             }
         }
         catch (Exception e)
         {
             Reporter.UnseriousError(e.Message);
         }
     }
 }
Exemplo n.º 30
0
        // On new frame
        private void Camera_NewFrame(object sender, System.EventArgs e)
        {
            if ((intervalsToSave != 0) && (saveOnMotion == true))
            {
                // lets save the frame
                if (writer == null)
                {
                    // create file name
                    DateTime date     = DateTime.Now;
                    String   fileName = String.Format("{0}-{1}-{2} {3}-{4}-{5}.avi",
                                                      date.Year, date.Month, date.Day, date.Hour, date.Minute, date.Second);

                    try
                    {
                        // create AVI writer
                        writer = new AVIWriter("wmv3");
                        // open AVI file
                        writer.Open(fileName, cameraWindow.Camera.Width, cameraWindow.Camera.Height);
                    }
                    catch (ApplicationException)
                    {
                        if (writer != null)
                        {
                            writer.Dispose( );
                            writer = null;
                        }
                    }
                }

                // save the frame
                Camera camera = cameraWindow.Camera;

                camera.Lock( );
                writer.AddFrame(camera.LastFrame);
                camera.Unlock( );
            }
        }
Exemplo n.º 31
0
        private void StartConsumerThread()
        {
            if (!IsWorking)
            {
                IsWorking = true;

                Helpers.CreateDirectoryIfNotExist(OutputPath);

                AVIWriter aviWriter = new AVIWriter(OutputPath, FPS, Size.Width, Size.Height, ShowOptions);

                task = TaskEx.Run(() =>
                {
                    try
                    {
                        position = 0;

                        while (!imageQueue.IsCompleted)
                        {
                            Image img = null;

                            try
                            {
                                img = imageQueue.Take();

                                if (img != null)
                                {
                                    //img.Save("Test\\" + position + ".bmp", ImageFormat.Bmp);
                                    aviWriter.AddFrame((Bitmap)img);
                                    position++;
                                }
                            }
                            catch (InvalidOperationException)
                            {
                            }
                            finally
                            {
                                if (img != null) img.Dispose();
                            }
                        }
                    }
                    finally
                    {
                        IsWorking = false;

                        if (aviWriter != null)
                        {
                            aviWriter.Dispose();
                        }
                    }
                });
            }
        }