Jeton Fejza
PROGRAMSKO RJEŠENJE ZA SNIMANJE PREDAVANJA TEMELJENO NA FFMPEG ALATU
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
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