Ejemplo n.º 1
0
 private void slaenge_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
 {
     GenerateVorschau(false);
     Zeitpunkt t = new Zeitpunkt();
     t.setAll(slaenge.Value);
     labInfLaenge.Content = t.ToString();
 }
Ejemplo n.º 2
0
 private void labInfStart_MouseDoubleClick(object sender, MouseButtonEventArgs e)
 {
     Zeitpunkt z = new Zeitpunkt();
     z.setAll(sstartzeit.Value);
     showTimeMagicInput(1, z.getStunden().ToString("00"), z.getMinuten().ToString("00"), z.getSekunden().ToString("00.000"));
 }
Ejemplo n.º 3
0
        private void CreateExportWorker(object sender, EventArgs e)
        {
            try
            {
                System.Diagnostics.Process p = new System.Diagnostics.Process();
                p.StartInfo.FileName = "ffmpeg.exe";

                Zeitpunkt startZP = new Zeitpunkt();
                startZP.setAll(exportStart);
                Zeitpunkt bisZP = new Zeitpunkt();
                bisZP.setAll(exportLaenge);

                strOutputFile = PfadAufraeumen(System.IO.Path.GetFileNameWithoutExtension(strInputFile) + "_" + startZP.pathString() + "_" + bisZP.pathString());
                //-fs 1000000
                p.StartInfo.Arguments = "-ss " + startZP.ToString() + " -i \"" + strInputFile + "\" -sn -c:v libvpx";
                if (tmpvorlage.imaxfilesize > 0) {
                    p.StartInfo.Arguments += " -fs " + (tmpvorlage.imaxfilesize * 1000000);
                }
                if (tmpvorlage.baudioaus == true) {
                    p.StartInfo.Arguments += " -an";
                }
                p.StartInfo.Arguments += " -crf " + tmpvorlage.icrf + " -qmin " + tmpvorlage.iqmin + " -qmax " + tmpvorlage.iqmax;
                if (tmpvorlage.icropbreite > 0 && tmpvorlage.icrophoehe > 0)
                {
                    p.StartInfo.Arguments += " -vf \"[in]scale=" + tmpvorlage.ibreite + ":" +
                    tmpvorlage.ihoehe + "[middle];[middle]crop=" + tmpvorlage.icropbreite + ":" + tmpvorlage.icrophoehe + ":" +
                    tmpvorlage.icropx + ":" + tmpvorlage.icropy + "[out]\"";
                }
                else {
                    p.StartInfo.Arguments += " -vf \"scale=" + tmpvorlage.ibreite + ":" + tmpvorlage.ihoehe + "\"";
                }
                p.StartInfo.Arguments += " -to " + bisZP.ToString() + " -y \"" + strOutputFile + ".webm\"";

                lsFfmpegLog.Add(p.StartInfo.FileName + " " + p.StartInfo.Arguments);

                p.StartInfo.UseShellExecute = false;
                p.StartInfo.RedirectStandardOutput = true;
                p.StartInfo.CreateNoWindow = true;
                p.StartInfo.WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory;
                p.Start();

                p.WaitForExit();
                this.Dispatcher.BeginInvoke(new Action(() => gridContent.IsEnabled = true));
                this.Dispatcher.BeginInvoke(new Action(() => gridContentBlurEffekt.Radius = 0));
                this.Dispatcher.BeginInvoke(new Action(() => gridLoading.Visibility = Visibility.Collapsed));
            }
            catch { MessageBox.Show("Fehler beim encoden des Videos.", "Vorgang abgebrochen", MessageBoxButton.OK, MessageBoxImage.Error);  }
        }
Ejemplo n.º 4
0
        private void GenerateVorschau(bool von)
        {
            if (this.IsInitialized == false) { return; }

            Zeitpunkt zp = new Zeitpunkt();
            if (von)
            {
                zp.setAll(sstartzeit.Value);
            }
            else {
                zp.setAll(sstartzeit.Value + slaenge.Value);
            }

            lastZP = zp;
            GenerateVorschauName();

            if (tmpvorlage == null || isTemplateOld()) {
                setTempVorlage();
            }

            if (CheckIfInFrame() == false) {
                return;
            }

            if (File.Exists(strVorschauPfad + tmpvorlage.strName + lastZP.pathString() + strVorschaubild))
            {
                setImage();
            }
            else {
                BackgroundWorker ba = new BackgroundWorker();
                ba.DoWork += new DoWorkEventHandler(CreateNewVorschau);
                ba.RunWorkerAsync();
            }
        }
Ejemplo n.º 5
0
        public void CreateExport()
        {
            Zeitpunkt zp = new Zeitpunkt();
            zp.setAll(sstartzeit.Value);
            lastZP = zp;
            if (CheckIfInFrame() == false) {
                MessageBox.Show("Der Ausgewählte Zeitraum ist ungültig.", "Ungültiger Zeitraum", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            zp.setAll(sstartzeit.Value + slaenge.Value);
            lastZP = zp;
            if (CheckIfInFrame() == false)
            {
                MessageBox.Show("Der Ausgewählte Zeitraum ist ungültig.", "Ungültiger Zeitraum", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            exportStart = sstartzeit.Value;
            exportLaenge = slaenge.Value;

            setTempVorlage();

            gridContent.IsEnabled = false;
            gridContentBlurEffekt.Radius = 10;
            gridLoading.Visibility = Visibility.Visible;
            //labLadeInfo
            Random r = new Random();
            labLadeInfo.Content = "[ " + lsWichtigeHinweise.ElementAt(r.Next(lsWichtigeHinweise.Count - 1)) + " ]";

            BackgroundWorker b = new BackgroundWorker();
            b.DoWork += new DoWorkEventHandler(CreateExportWorker);
            b.RunWorkerAsync();
        }