Пример #1
0
 private VideoStream ParseVideoStream(FFProbeStream stream)
 {
     return(new VideoStream
     {
         Index = stream.Index,
         AvgFrameRate = MediaAnalysisUtils.DivideRatio(MediaAnalysisUtils.ParseRatioDouble(stream.AvgFrameRate, '/')),
         BitRate = !string.IsNullOrEmpty(stream.BitRate) ? MediaAnalysisUtils.ParseIntInvariant(stream.BitRate) : default,
Пример #2
0
 private MediaFormat ParseFormat(Format analysisFormat)
 {
     return(new MediaFormat
     {
         Duration = MediaAnalysisUtils.ParseDuration(analysisFormat.Duration),
         FormatName = analysisFormat.FormatName,
         FormatLongName = analysisFormat.FormatLongName,
         StreamCount = analysisFormat.NbStreams,
         ProbeScore = analysisFormat.ProbeScore,
         BitRate = long.Parse(analysisFormat.BitRate ?? "0"),
         Tags = analysisFormat.Tags,
     });
 }
Пример #3
0
        public void MediaAnalysis_ParseDuration(string duration, int expectedDays, int expectedHours, int expectedMinutes, int expectedSeconds, int expectedMilliseconds)
        {
            var ffprobeStream = new FFProbeStream {
                Duration = duration
            };

            var parsedDuration = MediaAnalysisUtils.ParseDuration(ffprobeStream);

            Assert.AreEqual(expectedDays, parsedDuration.Days);
            Assert.AreEqual(expectedHours, parsedDuration.Hours);
            Assert.AreEqual(expectedMinutes, parsedDuration.Minutes);
            Assert.AreEqual(expectedSeconds, parsedDuration.Seconds);
            Assert.AreEqual(expectedMilliseconds, parsedDuration.Milliseconds);
        }