Code Monkey home page Code Monkey logo

idm's Introduction

VideoGen

Binôme

  • Jammal Mahmoud
  • Moutarajji Mouhyi

Projet

Sujet du projet

Introduction :

L’objectif du projet est d’offrir une solution logicielle pour déployer un générateur ou Web de vidéos à partir d’une spécification textuelle (VideoGen). Les utilisateurs du site Web pourront par exemple visualiser des variantes de vidéos générées aléatoirement ou avec des probabilités. Les créateurs de générateurs de vidéos pourront utiliser le langage VideoGen ainsi que quelques outils pour raisonner sur la durée et taille des vidéos.

Solution :

Avant de commencer de développer l’outil qui génère les variantes, nous avons commencer par réfléchir à comment couvrir toutes les variantes possibles. Donc nous avons implémenté des méthodes qui permet calculer toutes les combinaisons possibles pour les optionnelles et les alternatives dans le but de créer plusieurs variantes et pas une seule vidéo générer à chaque fois.

Nous avons testé nous méthodes implémentés via des testes fonctionnels et à l’aide aux tableaux mathématiques de logique.

Après avoir générer une liste de variantes, nous exécutons ffmpeg pour générer la concaténation des variantes. Nous générons aussi un GIF ainsi qu’un fichier CSV qui contient toutes la variantes avec un attribut TRUE ou FALSE pour indiquer si elles sont présentes dans la liste générée. Le fichier CSV contient aussi la taille et la durée totale des variantes.

Voici un exemple d'un fichier CSV généré:

GitHub Logo

Fonctionnalités du générateur :

  • concaténation des séquences vidéos avec ffmpeg.
  • gestion des probabilités lors du tirage aléatoire des variantes.
  • export GIF des variantes vidéo.
  • traitement/filtres sur les vidéos.
  • outil d’analyse pour produire les durées des variantes.
  • outil d’analyse pour produire les tailles des variantes.

Test et évaluation :

Pour tester notre outil et notre code implémenté nous avons pris les vidéos des autres binômes et nous avons tester leurs variantes sur notre projet en lançant le main "videoGenTest1.java". Après l’exécution, nous générons bien des vidéos, des images et des GIF et nous avons eu aucune erreurs durant l’exécution.

Difficultés rencontrées :

  • Le plus difficile de ce projet, c’était de comprendre le sujet et la grammaire. Dans le cas pour gérer les optionnelles, nous avons hésité entre les mettre une seule fois dans la vidéo générée ou plusieurs fois. Au final nous avons décidé de les mettre plusieurs fois et la taille de la variante est 2^⁽nb optionnelles).
  • Pour la génération des log, nous avons pas pu associé chaque videoGen à plusieurs video séquence, du coup nous avons pas pu générer les logs.
  • La prise en main de ffmpeg n'a pas été facile, nous avons eu des problèmes après la génération des vidéo liés à la qualité de la vidéo généré.
  • Nous avons pas pu développer un front pour visualiser les vidéo générer car nous avons essayé de créer l’application via Jhipster et c’était difficile de comprendre le fonctionnement et nous avons pas eu le temps de créer une autre technologie.

idm's People

Contributors

mouhyi-eddine avatar mahmoud-jammal avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.