private void button5_Click(object sender, EventArgs e) { stopzapis = true; button5.Enabled = false; button4.Enabled = true; writer.Close(); }
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(); }
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 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 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(); }