Ejemplo n.º 1
0
        public static void GetThumb(this Recording recording)
        {
            var ffmpeg      = new EncodingEngine(@"C:\ffmpeg\ffmpeg.exe");
            var encodingJob = new EncodingJob();
            var videoArgs   = new VideoArgs();

            var guid = Guid.NewGuid();
            // var inputFile = recording.FilePath;
            //var outputFile = @"C:\videos\" + recording.FileName + ".jpg";


            //  var inputFile = @"C:\input\testFile.wtv";
            // var outputFile = @"C:\videos\testConvert_01.mkv";

            var inputFile  = @"C:\RecordedTV\Hunter Street_TNCKHD_2018_02_20_16_10_35.wtv";
            var outputFile = @"C:\output\" + guid + ".mkv";

            int x = Int32.Parse(recording.Length);

            var timeInSeconds = x / 3;

            Console.WriteLine(inputFile);
            Console.WriteLine(outputFile);
            Console.WriteLine(x);
            Console.WriteLine(timeInSeconds);
            //  encodingJob.Arguments = videoArgs.GetFrame(inputFile, timeInSeconds, FrameSize.SizeThumbnail, outputFile);

            encodingJob.Arguments = videoArgs.Convert(inputFile, VideoEncoder.Libx264, VideoResize.TV720p, VideoPreset.VeryFast, ConstantRateFactor.CrfNormal, AudioCodec.Ac3, outputFile);

            ffmpeg.DoWork(encodingJob);
        }
Ejemplo n.º 2
0
        public static IEnumerable <Recording> ExtractThumbnail(this IEnumerable <Recording> recordings)
        {
            var ffmpeg      = new EncodingEngine(@"C:\ffmpeg\ffmpeg.exe");
            var encodingJob = new EncodingJob();
            var videoArgs   = new VideoArgs();


            foreach (var recording in recordings)
            {
                var inputFile  = recording.FilePath;
                var outputFile = @"C:\videos\thumbs\" + recording.FileName + ".jpg";

                int x = Int32.Parse(recording.Length);

                var timeInSeconds = x / 3;

                Console.WriteLine(outputFile);
                Console.WriteLine(x);
                Console.WriteLine(timeInSeconds);
                encodingJob.Arguments = videoArgs.GetFrame(inputFile, timeInSeconds, FrameSize.SizeThumbnail, outputFile);

                ffmpeg.DoWork(encodingJob);
            }


            return(recordings);
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            var ffmpeg = new EncodingEngine(@"C:\ffmpeg\ffmpeg.exe");
            //var arguments = new EncodingArgs();
            var job       = new EncodingJob();
            var videoArgs = new VideoArgs();
            var audioArgs = new AudioArgs();



            var inputFile = @"C:\input\test File.wtv";
            //var outputFile = @"C:\videos\test Convert1.mkv";
            //var outputFile = @"C:\videos\testConvert1 thumb.jpg";
            //var audioOutputFile = @"C:\videos\testMp3.mp3";
            //var outputFile = @"C:\videos\test_ExtractedAudioAc3.ac3";
            var outputFile = @"C:\videos\test_ExtractedVideoStream1.ts";

            //video convert
            //job.Arguments = videoArgs.Convert(inputFile,VideoEncoder.Libx264, VideoResize.TV720p,
            //                             VideoPreset.VeryFast, ConstantRateFactor.CrfNormal, AudioCodec.Ac3, outputFile);

            //get video frame
            //job.Arguments = vargs.GetFrame(inputFile, 20, FrameSize.SizeThumbnail, outputFile);

            //convert audio from video
            //job.Arguments = audioArgs.Convert(inputFile,AudioEncoder.Libmp3lame,Bitrate.BitrateNormal, audioOutputFile);


            //var streamInput = "http://148.163.81.10:8006/";
            //var streamInput = "http://stream3.polskieradio.pl:8900/;stream";
            //var streamOutput = @"C:\videos\streamRadioAacToMp3.mp3";

            //audio stream capture
            //job.Arguments = audioArgs.Capture(streamInput,60, AudioEncoder.Libmp3lame, Bitrate.BitrateNormal,streamOutput);


            //extract audio stream from video
            //job.Arguments = videoArgs.ExtractStream(inputFile, Streams.AudioStream, outputFile);


            //videoArgs.ShowInfo(inputFile);
            job.Arguments = videoArgs.ExtractStream(inputFile, Streams.VideoStream1, outputFile);

            //Console.WriteLine(videoArgs.ShowInfo(inputFile));


            string title = "My conversion test file";

            job.Metadata = title;

            ffmpeg.VideoEncoding += DisplayProgress;
            ffmpeg.VideoEncoded  += DisplayCompleted;
            ffmpeg.Exited        += DisplayExitCode;


            ffmpeg.DoWork(job);

            Console.WriteLine("Completed");
            Console.ReadLine();
        }
Ejemplo n.º 4
0
        public MainWindow()
        {
            InitializeComponent();
            this.ffmpeg                   = new EncodingEngine(@"C:\ffmpeg\ffmpeg.exe");
            this.bw                       = new BackgroundWorker();
            this.bw.DoWork               += new DoWorkEventHandler(bw_DoWork);
            this.bw.ProgressChanged      += new ProgressChangedEventHandler(bw_ProgressChanged);
            this.bw.RunWorkerCompleted   += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);
            this.bw.WorkerReportsProgress = true;

            this.ffmpeg.VideoEncoding += GetProgress;

            //get duration using ffprobe
            this.pbStatus.Maximum = 100;
        }
        public Form1()
        {
            InitializeComponent();

            this.ffmpeg                        = new EncodingEngine(@"C:\ffmpeg\ffmpeg.exe");
            this.bw                            = new BackgroundWorker();
            this.bw.DoWork                    += new DoWorkEventHandler(bw_DoWork);
            this.bw.ProgressChanged           += new ProgressChangedEventHandler(bw_ProgressChanged);
            this.bw.RunWorkerCompleted        += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);
            this.bw.WorkerReportsProgress      = true;
            this.bw.WorkerSupportsCancellation = true;

            this.ffmpeg.VideoEncoding += GetProgress;
            this.button1.Click        += new EventHandler(button1_Click);
        }