public Open ( string fileName, int width, int height ) : void | ||
fileName | string | AVI file name to create. |
width | int | Video width. |
height | int | Video height. |
return | void |
public CameraRecorder(string address) { this.address = address; stream = new MJPEGStream(address + "/image?speed=0"); recorder = new AVIWriter("XVID"); recorder.FrameRate = 10; recorder.Open("c:\\test.avi", 736, 480); stream.NewFrame += newFrameEvent; stream.Login = "******"; stream.Password = "******"; stream.Start(); }
public void StartRecording() { if (!RecordVideo) { DateTime date = DateTime.Now; string filePath = _folderPath + String.Format("\\{0}-{1}-{2} {3}-{4}-{5}.avi", date.Year, date.Month, date.Day, date.Hour, date.Minute, date.Second); int width = 640; int height = 480; int frameRate = 15; try { if (!Directory.Exists(_folderPath)) Directory.CreateDirectory(_folderPath); _aviWriter = new AVIWriter("wmv3"); _aviWriter.FrameRate = frameRate; _aviWriter.Open(filePath, width, height); SendMessage("recording"); AddClient(this); RaiseRecordEvent(); RecordVideo = true; } catch { if (_aviWriter != null) { _aviWriter.Dispose(); _aviWriter = null; } } } }
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); } }
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(); }
static void Main() { AVIWriter writer = new AVIWriter("xvid"); // instantiate AVI reader AVIReader reader = new AVIReader(); // open video file reader.Open("test2.avi"); // create new AVI file and open it writer.Open("testOut2.avi", reader.Width, reader.Height); //WebClient webClient = new WebClient(); //webClient.DownloadFile("http://maps.googleapis.com/maps/api/staticmap?center=-15.800513,-47.91378&zoom=11&size=200x200&sensor=false", @"C:\Users\GaliaTodorova\Dropbox\Telerik_wf\OOP\TeamWork\test.png"); //Bitmap flag = new Bitmap(@"C:\Users\GaliaTodorova\Dropbox\Telerik_wf\OOP\TeamWork\test.png"); //galia //Bitmap toFrame = new Bitmap(flag, new Size(reader.Width, reader.Height)); //toFrame.MakeTransparent(); // read the video file while (reader.Position - reader.Start < reader.Length) { // get next frame Bitmap image = reader.GetNextFrame(); for (int t = 0; t < reader.Position - reader.Start; t++) { /*using (Graphics grfx = Graphics.FromImage(image)) { grfx.DrawImage(flag, 0, 0); }*/ if (t >= reader.Width) break; int y = (int)(reader.Height / 2 + Math.Sin(((float)t) / 50) * reader.Height / 3); image.SetPixel(t, y - 1, Color.Red); image.SetPixel(t, y, Color.Red); image.SetPixel(t, y + 1, Color.Red); } writer.AddFrame(image); } reader.Close(); writer.Close(); }
private void button4_Click(object sender, EventArgs e) { stopzapis = false; button5.Enabled = true; button4.Enabled = false; if (vkl) { writer = new AForge.Video.VFW.AVIWriter("XviD"); if (str.Length > 0) { pathvideo = str + "\\" + System.DateTimeOffset.UtcNow.UtcDateTime.ToShortDateString() + " " + System.DateTimeOffset.UtcNow.UtcDateTime.Hour.ToString() + " " + System.DateTimeOffset.UtcNow.UtcDateTime.Minute.ToString() + " " + System.DateTimeOffset.UtcNow.UtcDateTime.Second.ToString() + ".avi"; } else { pathvideo = System.DateTimeOffset.UtcNow.UtcDateTime.ToShortDateString() + " " + System.DateTimeOffset.UtcNow.UtcDateTime.Hour.ToString() + " " + System.DateTimeOffset.UtcNow.UtcDateTime.Minute.ToString() + " " + System.DateTimeOffset.UtcNow.UtcDateTime.Second.ToString() + ".avi"; } writer.Open(pathvideo, 640, 480); cam.NewFrame += new NewFrameEventHandler(video_NewFrame); } }
public void StartRecording() { if (!RecordVideo) { DateTime date = DateTime.Now; string filePath = folderPath + String.Format("\\{0}-{1}-{2} {3}-{4}-{5}.avi", date.Year, date.Month, date.Day, date.Hour, date.Minute, date.Second); int width = 640; int height = 480; int frameRate = 15; try { if (!Directory.Exists(folderPath)) Directory.CreateDirectory(folderPath); SendMessage("recording"); // create AVI writer aviWriter = new AVIWriter("wmv3"); aviWriter.FrameRate = frameRate; // open AVI file aviWriter.Open(filePath, width, height); // register as a client to receive frame AddClient(this); RaiseRecordEvent(); RecordVideo = true; } catch (ApplicationException) { if (aviWriter != null) { aviWriter.Dispose(); aviWriter = null; } } } }
public void Start() { writer_ = new AVIWriter(); writer_.Open(FileName, OutputSize.Width, OutputSize.Height); }
public static void VidTest() { List<Bitmap> frames = new List<Bitmap>(); AVIWriter aw = new AVIWriter("DIB "); aw.FrameRate = 15; aw.Open("test2.avi",320,240); int i = 0; string surl = ""; MJPEGStream ms = new MJPEGStream(); ms.Login = ""; ms.Password = ""; ms.Source = surl; ms.NewFrame += (sender, e) => { i++; //frames.Add(e.Frame); aw.AddFrame(e.Frame); e.Frame.Save("test" + i.ToString() + ".jpg", ImageFormat.Jpeg); // ((MJPEGStream)sender).Stop(); }; ms.Start(); System.Threading.Thread.Sleep(4000); ms.Stop(); aw.Close(); // }
public TestForm(string userId, bool load) { InitializeComponent(); uId = userId; if (load)//загружаем старую сессию { test = XML.LoadUserData(userId, out idQuestions, out idAnswers, out time, out curQuestion, out trueAnswers, out date); } else { test = XML.LoadRandQuestions(out idQuestions);//загружаем вопросы date = DateTime.Now.ToString(); } timer.Interval = new TimeSpan(0, 0, 1); //тик в каждую секунду timer.IsEnabled = true; timer.Tick += new EventHandler(timer_Tick); cUsrId.Content = userId; cAmountQuestions.Content = test.Count; //отображаем, сколько всего будет вопросов сCurQuestion.Content = curQuestion;//показываем номер текущего вопроса ShowQuestion(curQuestion - 1);//загружаем в форму содержимое вопроса //начинаем запись видео Rectangle screenArea = Rectangle.Empty; foreach (System.Windows.Forms.Screen screen in System.Windows.Forms.Screen.AllScreens) //получаем размер экрана { screenArea = Rectangle.Union(screenArea, screen.Bounds); } string videoPath = MainWindow.path + "\\video\\" + DateTime.Now.Date.ToShortDateString(); DirectoryInfo dir = new DirectoryInfo(videoPath); //записи хранятся рассортированными по папкам с датой в названии if (!dir.Exists)//проверяем, есть ли уже папка с сегодняшней датой dir.Create(); //если нет, то создаем ее int vidCount = dir.EnumerateFiles(userId + "*").Count(); //проверяем, есть ли уже записи с тамим именем if (vidCount ==0 ) videoPath = MainWindow.path + "\\video\\" + DateTime.Now.Date.ToShortDateString() + "\\" + userId + ".avi"; else videoPath = MainWindow.path + "\\video\\" + DateTime.Now.Date.ToShortDateString() + "\\" + userId + "_"+ vidCount + ".avi"; //если есть, то добавим порядковый номер stream = new ScreenCaptureStream(screenArea); stream.NewFrame += new NewFrameEventHandler(video_NewFrame); stream.FrameInterval = 100 / FRAMERATE; try { writer = new AVIWriter("XVID"); writer.FrameRate = FRAMERATE; writer.Quality = 1; writer.Open(videoPath, screenArea.Width, screenArea.Height); stream.Start(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void DoRecord(object obj) { AVIWriter writer = new AVIWriter(); writer.Open( System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\video" + String.Format("{0:_dd-M-yyyy_hh-mm-ss}", DateTime.Now) + ".avi", this.imgWidth, this.imgHeight); writer.FrameRate = 15; // as long as we're recording // we dequeue the BitMaps waiting in the Queue and write them to the file while (IsRecording) { if (frames.Count > 0) { Bitmap bmp = frames.Dequeue(); writer.AddFrame(bmp); } } writer.Close(); }
public void hide(byte[] mbyte, bool bitLSB) { //Message to BitArray BitArray bitarray = new BitArray(mbyte); //bool[] bools = new bool[200000]; //byte[] bytes = new byte[200000]; //Convert key to seed byte[] k_ = Encoding.ASCII.GetBytes(key); Int32 seed = 0; foreach(byte b_ in k_) { seed += b_; } //Get all frame from .avi bitmapL = new List<Bitmap>(); while(reader.Position - reader.Start < reader.Length) { bitmapL.Add(reader.GetNextFrame()); } //Find frame and pixel position Random rand = new Random(seed); //for(int i = bitarray.Length-1; i > -1; i--) for (int i = 0; i < bitarray.Length; i++) { int frameIdx = rand.Next(reader.Length); int x = rand.Next(reader.Width); int y = rand.Next(reader.Height); Bitmap frame = bitmapL.ElementAt(frameIdx); Color c = frame.GetPixel(x,y); //mode 1-LSB if (bitLSB) { byte byteb = c.B; if (bitarray.Get(i)) byteb = (byte)((byteb & MED) | (HEX_1)); else byteb = (byte)((byteb & MED) | (HEX_0)); frame.SetPixel(x, y, Color.FromArgb(c.R, c.G, byteb)); //c = frame.GetPixel(x, y); //bools[i] = c.B % 2 == 1; bytes[i] = c.B; } else //mode 2-LSB { byte byteb = c.B; byte byteg = c.G; if (bitarray.Get(i)) byteb = (byte)((byteb & MED) | (HEX_1)); else byteb = (byte)((byteb & MED) | (HEX_0)); i++; if (bitarray.Get(i)) byteg = (byte)((byteg & MED) | (HEX_1)); else byteg = (byte)((byteg & MED) | (HEX_0)); frame.SetPixel(x, y, Color.FromArgb(c.R, byteg, byteb)); //c = frame.GetPixel(x, y); //bools[i] = c.B % 2 == 1; bytes[i] = c.B; //bools[i] = c.G % 2 == 1; bytes[i] = c.G; } } //String s = System.Text.Encoding.ASCII.GetString(BoolArrayToBytes(bools)); //write new .avi file AVIWriter writer = new AVIWriter(); writer.Open(output,reader.Width,reader.Height); foreach(Bitmap bitmap in bitmapL) { writer.AddFrame(bitmap); } reader.Close(); writer.Close(); }
private void ShowVideoSaveDialog() { Microsoft.Win32.SaveFileDialog saveVideoDialog = new Microsoft.Win32.SaveFileDialog(); saveVideoDialog.Title = "Save RGB Video file"; saveVideoDialog.DefaultExt = ".avi"; saveVideoDialog.Filter = "AVI files (*.avi)|*.txt|All files (*.*)|*.*"; saveVideoDialog.FileName = string.Format("pedtracvideo-{0:yyyy-MM-dd_hh-mm-ss}.avi",DateTime.Now); Nullable<bool> result = saveVideoDialog.ShowDialog(); if (result == true) { this.videoFileName = saveVideoDialog.FileName; aviWriter = new AVIWriter() { FrameRate = 30 }; aviWriter.Open(videoFileName, 640, 480); isRecordingVideo = true; } }
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 startRecord(string path, int fps) { string fileName = ("cam-" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss" + ".avi")); recorder = new AVIWriter("XVID"); recorder.FrameRate = fps; recorder.Open(path + "\\"+fileName, 736, 480); startTime = DateTime.Now; }
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"; } }
private void button1_Click(object sender, EventArgs e) { string res="8"; if (conf.HighResolution) { res = "32"; } else { res = "8"; } stream = new MJPEGStream(conf.Address+"/image?speed=0"); stream.NewFrame += videoSource_NewFrame; a = new AVIWriter("wmv3"); a.FrameRate = 20; a.Open("c:\\test.avi", 736, 480); stream.Login = conf.UserName; stream.Password = conf.Password; button1.Enabled = false; button2.Enabled = true; //motionDetector = new MotionDetector(new TwoFramesDifferenceDetector(), new MotionAreaHighlighting()); videoSourcePlayer1.VideoSource = stream; stream.Start(); Text = "[Conectado] IPCam"; }