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

snimanje proizvoljno kombiniranih AV izvora priključenih na računalo pozivanjem funkcija ffmpeg alata

podršku za definiranje parametara i izbor AV kodeka dostupnih u ffmpeg alatu

podršku za Start/Stop/Pause funkcije kontrole izvođenja snimanja

podršku za izvođenje proizvoljno zadane ffmpeg naredbe

podršku za funkcije specifične za LeCTo Recorder alat (gneriranje PSU datoteka)

podršku za prevođenje sučelja

po mogućnosti podršku za indeksiranje generiranih datoteka za izvođenje na webu

Dnevnik rada

Plan rada

Koraci:

0. Repozitorij za rad

Otvori repozitorij na Bitbucketu i dodaj i mene za admina

1. Funkcionalna verzija za Win

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.

Dodati funkciju za ispravno listanje deviceova (za Win)

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)

Istraziti format pozivanja ffmpega za snimanje vise izvora (N naredbi za N izvora ili po jedna naredba za 2 izvora ili... ?)

Podesiti pozivanje odgovarajućih funkcija na tipke Start i Stop (za Win)

2. Dodatne funkcije

Dodati na glavni frame tipku za otvaranje editora tokova

Dodati povratnu info o odabranim sourceovima u glavni frame blizu te tipke

Omoguciti checkbox “Auto hide on Start” na glavnom sucelju i spustiti aplikaciju na taskbar ili u tray

Profile pohranjivati u text fajlove u Lecto folder

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

Auto podesavanje izlaznog foldera na svim izvorima preko checkboxa i pamcenje izlaznog foldera

Auto dodavanje datuma i vremena na ime fajla

U izbornik dodati opciju Run custom ffmpeg command i unesenu naredbu izvrsiti u command promptu (da se vidi izlaz)

dodati Tipku Pause - onemoguciti promjenu parametara ako je ona ikad pritisnuta i nakon pritiska na Stop konkatenirati generirane fajlove

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

Omoguciti da se izvrsava i tamo. Dokumentirati specificnosti.

4. Proofanje

32 vs 64 bita - prekontrolirati da li je ffmpeg u skladu s verzijom jave koja se koristi

Dokumentiranje funkcija (pozeljno cijelo vrijeme)

Dodati info o pogreškama tipa odspojen video izvor koji se koristi u profilu, pogresno procitan output ffmpega, nenaden ffmpeg alat, ...

Rezultat

Zaključak