/// <summary> /// Opens from file. /// </summary> /// <param name='fileName'> /// File name. /// </param> public bool OpenFromFile(string fileName) { try { if (!File.Exists(fileName)) return false; FileName = fileName; var fi = new System.IO.FileInfo(fileName); FileSize = fi.Length; Tracks.Clear(); TargetContainer = MediaInfoBase.DetectContainerByExt(fileName); var mediaInfoXML = SupportMethods.ExecuteAndReturnOutput(MediaConvertGUIConfiguration.MediaInfoPath,"-f --Output=XML \"" + fileName + "\""); RawMediaInfoOutput = mediaInfoXML; var xmlDoc = new System.Xml.XmlDocument(); xmlDoc.LoadXml(mediaInfoXML); var nodes = xmlDoc.SelectNodes("Mediainfo/File/track"); foreach (XmlNode node in nodes) { var track = new TrackInfo(); track.ParseFromXmlNode(node); Tracks.Add(track); } return true; } catch (Exception ex) { Console.WriteLine ("Error:"+ex.ToString()); return false; } }
public void AppendTracksTo(MediaInfo mInfo,decimal durationMS, string onlyType="") { foreach(var track in Tracks) { if ((onlyType=="") || ((track.TrackType ==onlyType)) ) { var tr = new TrackInfo(); track.CopyTo(tr); tr.DurationMS = durationMS; mInfo.Tracks.Add(tr); } } }
public void Copyto(MediaInfo mInfo,bool videoOnly) { mInfo.ClearTracks(); foreach(var track in Tracks) { if ((videoOnly==false) || ((track.TrackType =="Video")) ) { var tr = new TrackInfo(); track.CopyTo(tr); mInfo.Tracks.Add(tr); } } mInfo.TargetVideoCodec = TargetVideoCodec; mInfo.TargetContainer = TargetContainer; mInfo.FileName = FileName; mInfo.FileSize = FileSize; mInfo.EditAspect = EditAspect; mInfo.EditBitRate = EditBitRate; mInfo.EditFrameRate = EditFrameRate; mInfo.EditResolution = EditResolution; mInfo.EditRotation = EditRotation; }
public void CopyTo(TrackInfo track) { track.Aspect = Aspect; track.Bitrate = Bitrate; track.Codec = Codec; track.Channels = Channels; track.TrackType = TrackType; track.FrameRate = FrameRate; track.SamplingRateHz = SamplingRateHz; track.StreamSize = StreamSize; track.Width = RealWidth; track.PixelAspect = 1; track.Height = Height; track.DurationMS = DurationMS; track.TargetAudioCodec = TargetAudioCodec; track.RotatationAngle = RotatationAngle; }