public RecordingComponent(string movie) { Movie = movie; VideoStream = new FFMPEGStream("-y -f rawvideo -s " + Renderer.Window.Width + "x" + Renderer.Window.Height + " -pix_fmt rgb24 -r 60 -i - -crf 0 movies/video.mp4"); AudioStream = new FFMPEGStream("-y -f s16le -ar 2097152 -ac 2 -i - -af volume=0.1 movies/audio.mp3"); OffscreenBuffer = new byte[Renderer.Window.Width * Renderer.Window.Height * 3]; }
public RecordingComponent(string movie) { if (!Directory.Exists("movies")) { Directory.CreateDirectory("movies"); } Movie = movie; VideoStream = new FFMPEGStream("-y -f rawvideo -s " + Renderer.Window.Width + "x" + Renderer.Window.Height + " -pix_fmt rgba -r 60 -i - -crf 0 movies/video.mp4"); AudioStream = new FFMPEGStream("-y -f s16le -ar 2097152 -ac 2 -i - -af volume=0.1 movies/audio.mp3"); OffscreenBuffer = new byte[Renderer.Window.Width * Renderer.Window.Height * 4]; }
public void Play(string filename) { if (InvokeRequired) { Invoke(new PlayDelegate(Play), filename); } else { if (_mStream != null) { _mStream.Stop(); } if (WaveOut != null) { WaveOut.Stop(); WaveOut.Dispose(); WaveOut = null; } _mStream = new FFMPEGStream(filename); _mStream.NewFrame += MStreamNewFrame; _mStream.DataAvailable += _mStream_DataAvailable; _mStream.LevelChanged += _mStream_LevelChanged; _mStream.PlayingFinished += _mStream_PlayingFinished; _mStream.RecordingFormat = null; _firstFrame = true; _filename = filename; _mStream.Start(); _mStream.Play(); string[] parts = filename.Split('\\'); string fn = parts[parts.Length - 1]; FilesFile ff = ((MainForm)Owner).GetCameraWindow(ObjectID).FileList.FirstOrDefault(p => p.Filename.EndsWith(fn)); videoPlayback1.Init(ff); videoPlayback1.CurrentState = VideoPlayback.PlaybackState.Playing; } }