Пример #1
0
 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];
 }
Пример #2
0
 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];
 }
Пример #3
0
        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;
            }
        }