public void ReadInfo(IContainer resource, LoaderFlags flags) { var ffprobeCommand = FFprobeCommand.Create(resource) .AddSetting(new PrintFormat(PrintFormat.JsonFormat)); if (flags.HasFlag(LoaderFlags.ShowFormat)) { ffprobeCommand.AddSetting(new ShowFormat()); } if (flags.HasFlag(LoaderFlags.ShowStreams)) { ffprobeCommand.AddSetting(new ShowStreams()); } if (flags.HasFlag(LoaderFlags.ShowFrames)) { ffprobeCommand.AddSetting(new ShowFrames()); } var commandProcessor = ffprobeCommand.Execute(); var containerMetadata = FFprobeSerializer.Serialize(commandProcessor); HasAudio = containerMetadata.Streams != null && containerMetadata.Streams.OfType <AudioStreamMetadata>().Any(); HasVideo = containerMetadata.Streams != null && containerMetadata.Streams.OfType <VideoStreamMetadata>().Any(); HasData = containerMetadata.Streams != null && containerMetadata.Streams.OfType <DataStreamMetadata>().Any(); HasFrames = containerMetadata.Frames != null && containerMetadata.Frames.Any(); BaseData = containerMetadata; }
public void ReadInfo(IContainer resource) { var ffprobeCommand = FFprobeCommand.Create(resource) .Register(new FFprobeStreamSerializer()) .Register(new FFprobeFormatSerializer()) .Execute(); var ffprobeSerializerResult = FFprobeSerializer.Serialize(ffprobeCommand); HasAudio = ffprobeSerializerResult.GetCount(FFprobeCodecTypes.Audio) > 0; HasVideo = ffprobeSerializerResult.GetCount(FFprobeCodecTypes.Video) > 0; ReadGeneral(ffprobeSerializerResult); if (HasAudio) { ReadAudio(ffprobeSerializerResult); } if (HasVideo) { ReadVideo(ffprobeSerializerResult); } }
public FFprobeCommand GetCommand() { var container = GetVideoContainer(); return(FFprobeCommand.Create(container)); }