Beispiel #1
0
        public Task <ExecutionOutput> GetFrameAsync(string path, TimeSpan start, string fps, string dir, CancellationToken token = default(CancellationToken))
        {
            Directory.CreateDirectory(dir);
            var argumentStr = $"ffmpeg.exe -i \"{path}\" -ss {start} -r {fps} -q:v 2 -f image2 \"{dir}/pic_%5d.jpg\"";

            using (var cli = new Cli("cmd"))
            {
                var handler = new BufferHandler(
                    stdOut => Logger.Log(stdOut),
                    stdErr => Logger.Log(stdErr)
                    );
                return(cli.Execute1Async(argumentStr, cancellationToken: token, bufferHandler: handler));
            }
        }
Beispiel #2
0
        //ffmpeg -i input.mp4 -ss 00:00:20 -t 10 -r 1 -q:v 2 -f image2 pic-%03d.jpeg
        public void GetFrame(string path, TimeSpan start, string fps, string name)
        {
            var videoName = name ?? Path.GetFileNameWithoutExtension(path);
            var dir       = $"./images/{videoName}";

            Directory.CreateDirectory(dir);
            var argumentStr = $"ffmpeg.exe -i \"{path}\" -ss {start} -r {fps} -q:v 2 -f image2 \"{dir}/pic_%5d.jpg\"";

            using (var cli = new Cli("cmd"))
            {
                var handler = new BufferHandler(
                    stdOut => Logger.Log(stdOut),
                    stdErr => Logger.Log(stdErr)
                    );
                var output = cli.Execute1Async(argumentStr, bufferHandler: handler);
                //output.GetAwaiter().GetResult();
            }
        }