本文整理汇总了C#中Engine.GetMetadata方法的典型用法代码示例。如果您正苦于以下问题:C# Engine.GetMetadata方法的具体用法?C# Engine.GetMetadata怎么用?C# Engine.GetMetadata使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Engine
的用法示例。
在下文中一共展示了Engine.GetMetadata方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Can_CutVideo
public void Can_CutVideo()
{
string filePath = @"{0}\Cut_Video_Test.mp4";
string outputPath = string.Format(filePath, Path.GetDirectoryName(_outputFilePath));
var inputFile = new MediaFile { Filename = _inputFilePath };
var outputFile = new MediaFile { Filename = outputPath };
using (var engine = new Engine())
{
engine.ConvertProgressEvent += engine_ConvertProgressEvent;
engine.ConversionCompleteEvent += engine_ConversionCompleteEvent;
engine.GetMetadata(inputFile);
ConversionOptions options = new ConversionOptions();
options.CutMedia(TimeSpan.FromSeconds(30), TimeSpan.FromSeconds(25));
engine.Convert(inputFile, outputFile, options);
engine.GetMetadata(outputFile);
}
Assert.That(File.Exists(outputPath));
// Input file is 33 seconds long, seeking to the 30th second and then
// attempting to cut another 25 seconds isn't possible as there's only 3 seconds
// of content length, so instead the library cuts the maximumum possible.
}
示例2: Can_ConvertToDVD
public void Can_ConvertToDVD()
{
string outputPath = string.Format("{0}/Convert_DVD_Test.vob", Path.GetDirectoryName(_outputFilePath));
var inputFile = new MediaFile { Filename = _inputFilePath };
var outputFile = new MediaFile { Filename = outputPath };
var conversionOptions = new ConversionOptions { Target = Target.DVD, TargetStandard = TargetStandard.PAL };
using (var engine = new Engine())
{
engine.ConvertProgressEvent += engine_ConvertProgressEvent;
engine.ConversionCompleteEvent += engine_ConversionCompleteEvent;
engine.Convert(inputFile, outputFile, conversionOptions);
engine.GetMetadata(inputFile);
engine.GetMetadata(outputFile);
}
PrintMetadata(inputFile.Metadata);
PrintMetadata(outputFile.Metadata);
}
示例3: Can_ConvertBasic
public void Can_ConvertBasic()
{
string outputPath = string.Format(@"{0}\Convert_Basic_Test.avi", Path.GetDirectoryName(_outputFilePath));
var inputFile = new MediaFile { Filename = _inputFilePath };
var outputFile = new MediaFile { Filename = outputPath };
using (var engine = new Engine())
{
engine.ConvertProgressEvent += engine_ConvertProgressEvent;
engine.ConversionCompleteEvent += engine_ConversionCompleteEvent;
engine.Convert(inputFile, outputFile);
engine.GetMetadata(inputFile);
engine.GetMetadata(outputFile);
}
Metadata inputMeta = inputFile.Metadata;
Metadata outputMeta = outputFile.Metadata;
PrintMetadata(inputMeta);
PrintMetadata(outputMeta);
}
示例4: Can_CropVideo
public void Can_CropVideo()
{
string outputPath = string.Format(@"{0}\Crop_Video_Test.mp4", Path.GetDirectoryName(_outputFilePath));
var inputFile = new MediaFile { Filename = _inputFilePath };
var outputFile = new MediaFile { Filename = outputPath };
using (var engine = new Engine())
{
engine.ConvertProgressEvent += engine_ConvertProgressEvent;
engine.ConversionCompleteEvent += engine_ConversionCompleteEvent;
engine.GetMetadata(inputFile);
var options = new ConversionOptions();
options.SourceCrop = new CropRectangle()
{
X = 100,
Y = 100,
Width = 50,
Height = 50
};
engine.Convert(inputFile, outputFile, options);
}
}
示例5: Can_ScaleDownPreservingAspectRatio
public void Can_ScaleDownPreservingAspectRatio()
{
string outputPath = string.Format(@"{0}\Convert_Basic_Test.mp4", Path.GetDirectoryName(_outputFilePath));
var inputFile = new MediaFile { Filename = _inputFilePath };
var outputFile = new MediaFile { Filename = outputPath };
using (var engine = new Engine())
{
engine.ConvertProgressEvent += engine_ConvertProgressEvent;
engine.ConversionCompleteEvent += engine_ConversionCompleteEvent;
engine.Convert(inputFile, outputFile, new ConversionOptions { VideoSize = VideoSize.Custom, CustomHeight = 120 });
engine.GetMetadata(inputFile);
engine.GetMetadata(outputFile);
}
Assert.AreEqual("214x120", outputFile.Metadata.VideoData.FrameSize);
PrintMetadata(inputFile.Metadata);
PrintMetadata(outputFile.Metadata);
}
示例6: Can_GetMetadata
public void Can_GetMetadata()
{
var inputFile = new MediaFile { Filename = _inputFilePath };
using (var engine = new Engine())
engine.GetMetadata(inputFile);
Metadata inputMeta = inputFile.Metadata;
Debug.Assert(inputMeta.Duration != TimeSpan.Zero, "Media duration is zero", " Likely due to Regex code");
Debug.Assert(inputMeta.VideoData.Format != null, "Video format not found", " Likely due to Regex code");
Debug.Assert(inputMeta.VideoData.ColorModel != null, "Color model not found", " Likely due to Regex code");
Debug.Assert(inputMeta.VideoData.FrameSize != null, "Frame size not found", " Likely due to Regex code");
Debug.Assert(inputMeta.VideoData.Fps.ToString(CultureInfo.InvariantCulture) != "0", "Fps not found",
" Likely due to Regex code");
Debug.Assert(inputMeta.VideoData.BitRateKbs != 0, "Video bitrate not found", " Likely due to Regex code");
Debug.Assert(inputMeta.AudioData.Format != null, "Audio format not found", " Likely due to Regex code");
Debug.Assert(inputMeta.AudioData.SampleRate != null, "Sample rate not found", " Likely due to Regex code");
Debug.Assert(inputMeta.AudioData.ChannelOutput != null, "Channel output not found",
"Likely due to Regex code");
// Audio bit rate for some reson isn't returned by FFmreg for WEBM videos.
//Debug.Assert(inputMeta.AudioData.BitRateKbs != 0, "Audio bitrate not found", " Likely due to Regex code");
PrintMetadata(inputMeta);
}
示例7: Can_GetThumbnailFromHTTPLink
public void Can_GetThumbnailFromHTTPLink()
{
string outputPath = string.Format(@"{0}\Get_Thumbnail_FromHTTP_Test.jpg", Path.GetDirectoryName(_outputFilePath));
var inputFile = new MediaFile { Filename = _inputUrlPath };
var outputFile = new MediaFile { Filename = outputPath };
using (var engine = new Engine())
{
engine.ConvertProgressEvent += engine_ConvertProgressEvent;
engine.ConversionCompleteEvent += engine_ConversionCompleteEvent;
engine.GetMetadata(inputFile);
var options = new ConversionOptions
{
Seek = TimeSpan.FromSeconds(inputFile.Metadata.Duration.TotalSeconds / 2)
};
engine.GetThumbnail(inputFile, outputFile, options);
}
}
示例8: Can_GetThumbnail
public void Can_GetThumbnail()
{
string outputPath = string.Format(@"{0}\Get_Thumbnail_Test.jpg", Path.GetDirectoryName(_outputFilePath));
if (File.Exists(outputPath))
{
File.Delete(outputPath);
}
var inputFile = new MediaFile { Filename = _inputFilePath };
var outputFile = new MediaFile { Filename = outputPath };
var localAppData = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
var localMediaToolkitFfMpeg = Path.Combine(localAppData, "MediaToolkit", "ffmpeg.exe");
using (var engine = new Engine(localMediaToolkitFfMpeg))
{
engine.ConvertProgressEvent += engine_ConvertProgressEvent;
engine.ConversionCompleteEvent += engine_ConversionCompleteEvent;
engine.GetMetadata(inputFile);
var options = new ConversionOptions
{
Seek = TimeSpan.FromSeconds(inputFile.Metadata.Duration.TotalSeconds / 2)
};
engine.GetThumbnail(inputFile, outputFile, options);
}
Assert.That(File.Exists(outputPath));
}
示例9: Can_CutVideo
public void Can_CutVideo()
{
string outputPath = string.Format(@"{0}\Cut_Video_Test.mp4", Path.GetDirectoryName(_outputFilePath));
var inputFile = new MediaFile { Filename = _inputFilePath };
var outputFile = new MediaFile { Filename = outputPath };
using (var engine = new Engine())
{
engine.ConvertProgressEvent += engine_ConvertProgressEvent;
engine.ConversionCompleteEvent += engine_ConversionCompleteEvent;
engine.GetMetadata(inputFile);
var options = new ConversionOptions();
options.CutMedia(TimeSpan.FromSeconds(30), TimeSpan.FromSeconds(25));
engine.Convert(inputFile, outputFile, options);
}
}