Esempio n. 1
0
        public static Cutlist GetCuts(string input)
        {
            Cutlist Cuts = new Cutlist();
            IEnumerable <Chapter> chapters = Mpeg.GetChapters(input);

            List <Chapter> ads = chapters.Where(c => c.tag.value == "Video").ToList();

            foreach (Chapter chapter in ads)
            {
                Cut cut = new Cut()
                {
                    Start = chapter.start_time + 2, End = chapter.end_time - 2
                };
                if (Cuts.Count == 0)
                {
                    cut.Start += 4;
                }
                if (chapter == ads.Last())
                {
                    cut.End -= 5;
                }
                if (cut.End > cut.Start)
                {
                    Cuts.Add(cut);
                }
            }
            return(Cuts);
        }
Esempio n. 2
0
        public void AddMpegToXml(Mpeg mpeg)
        {
            var mpegs = DeserializeMpegsFromXmlFile();

            mpegs.Add(mpeg);
            SerializeMpegsToXmlFile(mpegs);
        }
Esempio n. 3
0
        private void SearchButtonOnClick(object sender, EventArgs e)
        {
            MpegManager manager = new MpegManager(xmlPath);

            var Concept               = ConceptTxt.Text ?? "";
            var Event                 = EventTxt.Text ?? "";
            var SpatialRelation       = SpatialRelationTxt.Text ?? "";
            var SpatialRelationSource = SpatialRelationSourceTxt.Text ?? "";
            var SpatialRelationTarget = SpatialRelationTargetTxt.Text ?? "";

            var TemporalRelation       = TemporalRelationTxt.Text ?? "";
            var TemporalRelationSource = TemporalRelationSourceTxt.Text ?? "";
            var TemporalRelationTarget = TemporalRelationTargetTxt.Text ?? "";
            var agent    = AgentTxt.Text ?? "";
            var Relation = RelationTxt.Text ?? "";



            HashSet <Agent> agents = new HashSet <Agent> {
                new Agent(agent)
            };
            Mpeg mpegQuery = new Mpeg(Event, Concept, "", SpatialRelation, SpatialRelationSource, SpatialRelationTarget,
                                      TemporalRelation, TemporalRelationSource, TemporalRelationTarget, Relation, agents);
            HashSet <Mpeg> result = manager.QueryImages(mpegQuery);

            HashSet <Image> images = new HashSet <Image>();

            foreach (var r in result)
            {
                images.Add(manager.GetImageFromBase64(r.Image));
            }
        }
Esempio n. 4
0
        public HashSet <Mpeg> DeserializeXmlElementsToMpegs(IEnumerable <XElement> elements)
        {
            HashSet <Mpeg> mpegs = new HashSet <Mpeg>();

            foreach (var mpegInXml in elements)
            {
                Mpeg mpeg = new Mpeg
                {
                    Agents                 = DeserializeAgentsFromXmlAgentsElement(mpegInXml.Element("Agents")),
                    TemporalRelation       = mpegInXml.Element("TemporalRelation").Value,
                    TemporalRelationSource = mpegInXml.Element("TemporalRelation").Attribute("Source").Value,
                    TemporalRelationTarget = mpegInXml.Element("TemporalRelation").Attribute("Target").Value,
                    SpatialRelation        = mpegInXml.Element("SpatialRelation").Value,
                    SpatialRelationSource  = mpegInXml.Element("SpatialRelation").Attribute("Source").Value,
                    SpatialRelationTarget  = mpegInXml.Element("SpatialRelation").Attribute("Target").Value,
                    Image    = mpegInXml.Element("Image").Value,
                    Evt      = mpegInXml.Element("Event").Value,
                    Concept  = mpegInXml.Element("Concept").Value,
                    Relation = mpegInXml.Element("Relation").Value
                };

                mpegs.Add(mpeg);
            }
            return(mpegs);
        }
Esempio n. 5
0
        private void UploadButtonOnClick(object sender, EventArgs e)
        {
            MpegManager manager = new MpegManager(XmlPath);

            var Concept               = ConceptTxt.Text ?? "";
            var Event                 = EventTxt.Text ?? "";
            var SpatialRelation       = SpatialRelationTxt.Text ?? "";
            var SpatialRelationSource = SpatialRelationSourceTxt.Text ?? "";
            var SpatialRelationTarget = SpatialRelationTargetTxt.Text ?? "";

            var TemporalRelation       = TemporalRelationTxt.Text ?? "";
            var TemporalRelationSource = TemporalRelationSourceTxt.Text ?? "";
            var TemporalRelationTarget = TemporalRelationTargetTxt.Text ?? "";
            var agent    = AgentTxt.Text ?? "";
            var Relation = RelationTxt.Text ?? "";

            HashSet <Agent> agents = new HashSet <Agent> {
                new Agent(agent)
            };
            string encodedImage = manager.GetBase64StringFromImage(_imageHandler.GetImageUrl());
            Mpeg   mpeg         = new Mpeg(Event, Concept, encodedImage, SpatialRelation, SpatialRelationSource, SpatialRelationTarget,
                                           TemporalRelation, TemporalRelationSource, TemporalRelationTarget, Relation, agents);

            manager.AddMpegToXml(mpeg);

            // manager.MigrateXmlToDb();
        }
Esempio n. 6
0
        public HashSet <Mpeg> QueryImages(Mpeg criteriaMpeg)
        {
            XElement       doc     = XElement.Load(xmlPath);
            var            matches = FilterAllCrtieria(doc.Elements("Mpeg7"), criteriaMpeg);
            HashSet <Mpeg> result  = DeserializeXmlElementsToMpegs(matches);

            return(result);
        }
Esempio n. 7
0
        private XElement SerializeAgents(Mpeg mpeg)
        {
            var agents = new XElement("Agents");

            foreach (var agent in mpeg.Agents)
            {
                agents.Add(SerializeAgent(agent));
            }
            return(agents);
        }
Esempio n. 8
0
 private void SaveMpegToDb(Mpeg mpeg)
 {
     var context = new mdipContext();
     {
         context.Mpegs.Add(mpeg);
         try
         {
             context.SaveChanges();
         }
         catch (Exception e) { }
     }
 }
Esempio n. 9
0
        static void Main(string[] args)
        {
            IVideoMediaVisitor visitor = new ResizeVisitor();
            IMedia             rm      = new Rm();

            rm.Play();
            ((IVideoMedia)rm).Accept(visitor);

            IMedia mpeg = new Mpeg();

            mpeg.Play();
            ((IVideoMedia)mpeg).Accept(visitor);

            Console.Read();
        }
Esempio n. 10
0
 private XElement SerializeMpeg7(Mpeg mpeg)
 {
     return(new XElement("Mpeg7",
                         new XElement("Event", mpeg.Evt),
                         new XElement("Concept", mpeg.Concept),
                         new XElement("Image", mpeg.Image),
                         new XElement("SpatialRelation", mpeg.SpatialRelation,
                                      new XAttribute("Source", mpeg.SpatialRelationSource),
                                      new XAttribute("Target", mpeg.SpatialRelationTarget)),
                         new XElement("TemporalRelation", mpeg.TemporalRelation,
                                      new XAttribute("Source", mpeg.TemporalRelationSource),
                                      new XAttribute("Target", mpeg.TemporalRelationTarget)),
                         new XElement("Relation", mpeg.Relation),
                         SerializeAgents(mpeg)
                         ));
 }
Esempio n. 11
0
        public static void Trim(string input, string output)
        {
            string outDir = Path.GetDirectoryName(output);

            if (!Directory.Exists(outDir))
            {
                Directory.CreateDirectory(outDir);
            }
            Cutlist Cuts = GetCuts(input);

            //if (Cuts.Count ==0)
            //{
            //	double duration = Mpeg.GetDuration(input);
            //	Cuts.Add(new Cut() { Start = 6, End = duration - 7 });
            //}
            if (Cuts.Count > 0)
            {
                string meta = Mpeg.GetMetadata(input);
                Mpeg.RemoveChapters(meta);
                List <string> files = new List <string>();
                foreach (Cut cut in Cuts)
                {
                    string mp4 = GetTempMP4Name();
                    Mpeg.Trim(input, mp4, cut);
                    files.Add(mp4);
                }
                string temp = GetTempMP4Name();
                Mpeg.combine(files, output, meta, Cuts.Sum(c => c.End - c.Start));
//				Mpeg.addMeta(temp, output, meta);
                foreach (string file in files)
                {
                    File.Delete(file);
                }
                File.Delete(meta);
                File.Delete(temp);
            }
            else
            {
                double duration = Mpeg.GetDuration(input);
                Cut    cut      = new Cut()
                {
                    Start = 6, End = duration - 7
                };
                Mpeg.Trim(input, output, cut);
            }
        }
Esempio n. 12
0
        static void Main(string[] args)
        {
            string foo = Environment.GetEnvironmentVariable("FFMPEGDir", EnvironmentVariableTarget.Machine);

            string file1 = @"H:\Recordings\TV\Valor\Season 1\Valor - s01e01 - Pilot  (Ep.101).mp4";
//			string file2 = @"H:\Recordings\TV\Blue Bloods\Season 8\Blue Bloods - s08e01 - Cutting Losses.mp4";
            string file3 = @"C:\temp\foo.mp4";

            IEnumerable <Chapter> pc1 = Mpeg.GetChapters(file1);
//			IEnumerable<Chapter> pc2 = Mpeg.GetChapters(file2);
            IEnumerable <Chapter> pc3 = Mpeg.GetChapters(file3);

            string m1 = Mpeg.GetMetadata(file1);
//			string m2 = Mpeg.GetMetadata(file2);
            string m3 = Mpeg.GetMetadata(file3);


            IEnumerable <Chapter> pcl = Mpeg.GetChapters(@"C:\temp\foo.mp4");

            Console.WriteLine("Hello World!");
        }
Esempio n. 13
0
 public void Visit(Mpeg mpeg)
 {
     Console.WriteLine("Resize Mpeg.");
 }
Esempio n. 14
0
 private bool MpegInList(IEnumerable <Mpeg> mpegs, Mpeg mpeg)
 {
     return(mpegs.Any(m => m.Equals(mpeg)));
 }
Esempio n. 15
0
        private IEnumerable <XElement> FilterByAgents(IEnumerable <XElement> matches, Mpeg criteriaMpeg)
        {
            foreach (Agent agent in criteriaMpeg.Agents)
            {
                matches = FilterByCriteria(matches, "Agent", agent.Name);
            }

            return(matches);
        }
Esempio n. 16
0
        private IEnumerable <XElement> FilterAllCrtieria(IEnumerable <XElement> matches, Mpeg criteriaMpeg)
        {
            IEnumerable <XElement> result = matches;

            result = FilterByCriteria(result, "Concept", criteriaMpeg.Concept);
            result = FilterByCriteria(result, "Evt", criteriaMpeg.Evt);

            result = FilterByCriteria(result, "SpatialRelation", criteriaMpeg.SpatialRelation);
            result = FilterByRelationAttribute(result, "SpatialRelation", "Source", criteriaMpeg.SpatialRelationSource);
            result = FilterByRelationAttribute(result, "SpatialRelation", "Target", criteriaMpeg.SpatialRelationTarget);

            result = FilterByCriteria(result, "TemporalRelation", criteriaMpeg.TemporalRelation);
            result = FilterByRelationAttribute(result, "TemporalRelation", "Source", criteriaMpeg.TemporalRelationSource);
            result = FilterByRelationAttribute(result, "TemporalRelation", "Target", criteriaMpeg.TemporalRelationTarget);

            result = FilterByCriteria(result, "Relation", criteriaMpeg.Relation);
            result = FilterByAgents(result, criteriaMpeg);
            return(result);
        }