Ejemplo n.º 1
0
        public void Stop()
        {
            if (_rawFramesSource == null)
            {
                return;
            }

            _rawFramesSource.Stop();
            _realtimeVideoSource.SetRawFramesSource(null);
            _rawFramesSource = null;
        }
Ejemplo n.º 2
0
        public static void Start(ConnectionParameters connectionParameters)
        {
            if (_rawFramesSource != null)
            {
                return;
            }

            _rawFramesSource = new RawFramesSource(connectionParameters);

            _realtimeVideoSource.SetRawFramesSource(_rawFramesSource);
            _rawFramesSource.Start();
        }
Ejemplo n.º 3
0
        public void Start(ConnectionParameters connectionParameters)
        {
            if (_rawFramesSource != null)
            {
                return;
            }

            _rawFramesSource = new RawFramesSource(connectionParameters);
            _rawFramesSource.ConnectionStatusChanged += ConnectionStatusChanged;

            _realtimeVideoSource.SetRawFramesSource(_rawFramesSource);
            _realtimeAudioSource.SetRawFramesSource(_rawFramesSource);

            _rawFramesSource.Start();
        }
Ejemplo n.º 4
0
        private static void StartCapture(Options options)
        {
            if (!Directory.Exists(options.Path))
            {
                Directory.CreateDirectory(options.Path);
            }

            int intervalMs            = options.Interval * 1000;
            int lastTimeSnapshotSaved = Environment.TickCount - intervalMs;

            var connectionParameters = new ConnectionParameters(options.Uri);

            var rawFramesSource = new RawFramesSource(connectionParameters);

            rawFramesSource.ConnectionStatusChanged += (sender, status) => Console.WriteLine(status);
            var decodedFrameSource = new DecodedFrameSource();

            decodedFrameSource.FrameReceived += (sender, frame) =>
            {
                int ticksNow = Environment.TickCount;

                if (Math.Abs(ticksNow - lastTimeSnapshotSaved) < intervalMs)
                {
                    return;
                }

                lastTimeSnapshotSaved = ticksNow;

                Bitmap bitmap = frame.GetBitmap();

                string snapshotName = frame.Timestamp.ToString("O").Replace(":", "_") + ".jpg";
                string path         = Path.Combine(options.Path, snapshotName);

                bitmap.Save(path, ImageFormat.Jpeg);

                Console.WriteLine($"[{DateTime.UtcNow}] Snapshot is saved to {snapshotName}");
            };

            decodedFrameSource.SetRawFramesSource(rawFramesSource);

            rawFramesSource.Start();
        }
Ejemplo n.º 5
0
        private static void StartCapture(Options options)
        {
            //if (_rawFramesSource != null)
            //    return;
            if (!Directory.Exists(options.Path))
            {
                Directory.CreateDirectory(options.Path);
            }

            int intervalMs            = options.Interval * 1000;
            int lastTimeSnapshotSaved = Environment.TickCount - intervalMs;

            var connectionParameters = new ConnectionParameters(options.Uri);

            RawFramesSource _rawFramesSource = new RawFramesSource(connectionParameters);

            _rawFramesSource.ConnectionStatusChanged += ConnectionStatusChanged;

            rTSPProcessor.SetRawFramesSource(_rawFramesSource);

            _rawFramesSource.Start();
        }