예제 #1
0
        public void TestInitialAnalysis()
        {
            var samplesPath = Environment.CurrentDirectory + @"\..\..\PandaVideoSamples";
            var outputPath  = Path.Combine(samplesPath, "Output");

            Directory.CreateDirectory(outputPath);

            var convertFile = new PandaVideoConv
            {
                OutputFolder = outputPath, WorkingFolder = outputPath, SelectedDevice = new DevicePS3()
            };

            Assert.IsTrue(convertFile.AnalyseFile(Path.Combine(samplesPath, SAMPLE_FILE1)), "Failed Analysis");

            // Test what we found
            List <VideoTrack> vTracks = convertFile.GetVideoTracks();

            Assert.IsTrue(vTracks.Count > 0);
            VideoTrack vTrack1 = vTracks[0];

            Assert.IsTrue(vTrack1.Width == 1920, "Width is wrong");
            Assert.IsTrue(vTrack1.Height == 800, "Height is wrong");
        }
예제 #2
0
        private void UpdatePanel(PandaVideoConv conv)
        {
            textBoxSourceFilePath.Text = conv.SourceVideoFile;


            var vidList = conv.GetVideoTracks();

            if (vidList.Count > 0)
            {
                comboBoxVideoSelection.ItemsSource       = vidList;
                comboBoxVideoSelection.DisplayMemberPath = "UIDescription";
                comboBoxVideoSelection.SelectedItem      = conv.SelectedVideoTrack;
                tabItemVideo.Visibility = Visibility.Visible;
            }
            else
            {
                tabItemVideo.Visibility        = Visibility.Collapsed;
                TabSourceDetails.SelectedIndex = 1;
            }

            // Update panel
            var vt = conv.SelectedVideoTrack;

            if (vt != null)
            {
                labelVBitRate.Content              = String.Format("{0} Kbps", vt.BitRate > 0 ? vt.BitRate.ToString() : "N/A");
                labelRefFrames.Content             = vt.ActualRefFrames.ToString();
                labelWidth.Content                 = vt.Width.ToString();
                labelHeight.Content                = vt.Height.ToString();
                labelFPS.Content                   = vt.FPS.ToString();
                labelVideoRecode.Content           = vt.RequiresRecode ? "Yes" : "No";
                checkBoxForceVideoRecode.IsChecked = conv.ForceVideoRecode;
            }

            var audList = conv.GetAudioTracks();

            if (audList.Count > 0)
            {
                comboBoxAudioSelection.ItemsSource       = audList;
                comboBoxAudioSelection.DisplayMemberPath = "UIDescription";
                comboBoxAudioSelection.SelectedItem      = conv.SelectedAudioTrack;
                tabItemAudio.Visibility = Visibility.Visible;
            }
            else
            {
                comboBoxAudioSelection.ItemsSource = null;
                tabItemAudio.Visibility            = Visibility.Collapsed;
            }

            // Update panel
            var at = conv.SelectedAudioTrack;

            if (at != null)
            {
                labelABitRate.Content    = String.Format("{0} Kbps", at.BitRate > 0 ? at.BitRate.ToString() : "N/A");
                labelAudioRecode.Content = at.RequiresRecode ? "Yes" : "No";
                labelNumChannels.Content = at.Channels;
            }

            var subList = conv.GetSubtitleTracks();

            if (subList.Count > 0)
            {
                comboBoxSubSelection.ItemsSource       = subList;
                comboBoxSubSelection.DisplayMemberPath = "UIDescription";
                comboBoxSubSelection.SelectedItem      = conv.SelectedSubTrack;
                SubtitlesTab.Visibility = Visibility.Visible;
            }
            else
            {
                comboBoxSubSelection.ItemsSource = null;
                SubtitlesTab.Visibility          = Visibility.Hidden;
            }
        }