Jeton Fejza

PROGRAMSKO RJEŠENJE ZA SNIMANJE PREDAVANJA TEMELJENO NA FFMPEG ALATU

Tekst rada, konačan build alata i GitHub repozitorij.

Zadatak

Potrebno je implementirati novo programsko rješenje za snimanje audio i video tokova koji čine predavanje. Rješenje izvesti kao nadogradnju nad programskim alatom ffmpeg i učiniiti ga neovisnim o platformi na kojoj se izvodi.

Konkretno, programsko rješenje mora omogućiti korisniku



Plan rada

Koraci:

0. Repozitorij za rad

  1. Otvori repozitorij na Bitbucketu i dodaj i mene za admina

1. Funkcionalna verzija za Win

  1. Prekopirati prazni GUI od starog LeCTo Recordera bez poziva dodatnih funkcija vlca ili vlcja. Rezultat bi morao biti program koji na start pocne brojat sekunde a na stop stane, moze mijenjat jezik sucelja, otvarati sucelje za uredivanje AV tokova i generriati PSU fajl.
  2. Dodati funkciju za ispravno listanje deviceova (za Win)
  3. Iz podržanih parametara za AV tokove izbaciti “Scale” i kao jedini ponuđeni codec staviti mp4 video i aac audio u mp4 containeru (dodati na vrh drop listu containera koja trenutno sadrzi samo mp4 i u tom slucaju za a i v codece nudi samo ova dva)
  4. Istraziti format pozivanja ffmpega za snimanje vise izvora (N naredbi za N izvora ili po jedna naredba za 2 izvora ili… ?)
  5. Podesiti pozivanje odgovarajućih funkcija na tipke Start i Stop (za Win)

2. Dodatne funkcije

  1. Dodati na glavni frame tipku za otvaranje editora tokova
  2. Dodati povratnu info o odabranim sourceovima u glavni frame blizu te tipke
  3. Omoguciti checkbox “Auto hide on Start” na glavnom sucelju i spustiti aplikaciju na taskbar ili u tray
  4. Profile pohranjivati u text fajlove u Lecto folder
  5. Podrzati listanje audio i video codeca u ovisnosti o odabranom containeru. za h264 omoguciti polje quality factor i definirati kako ce se to omoguciti za druge kodeke u buducnosti
  6. Auto podesavanje izlaznog foldera na svim izvorima preko checkboxa i pamcenje izlaznog foldera
  7. Auto dodavanje datuma i vremena na ime fajla
  8. U izbornik dodati opciju Run custom ffmpeg command i unesenu naredbu izvrsiti u command promptu (da se vidi izlaz)
  9. dodati Tipku Pause - onemoguciti promjenu parametara ako je ona ikad pritisnuta i nakon pritiska na Stop konkatenirati generirane fajlove
  10. Istraziti i dokumentirati komunikaciju i odnose izmedu procesa koji se pozivaju i jave. mozemo li imati live text log koji je output pozvanog ffmpeg procesa?

3. Podrska za Mac OS i Unix

  1. Omoguciti da se izvrsava i tamo. Dokumentirati specificnosti.

4. Proofanje

  1. 32 vs 64 bita - prekontrolirati da li je ffmpeg u skladu s verzijom jave koja se koristi
  2. Dokumentiranje funkcija (pozeljno cijelo vrijeme)
  3. Dodati info o pogreškama tipa odspojen video izvor koji se koristi u profilu, pogresno procitan output ffmpega, nenaden ffmpeg alat, …

Rezultat

Zaključak