===== Jeton Fejza ===== ==== PROGRAMSKO RJEŠENJE ZA SNIMANJE PREDAVANJA TEMELJENO NA FFMPEG ALATU ==== {{:studenti:jeton_fejza:diplomski-fejza.doc|Tekst rada}}, {{:studenti:jeton_fejza:lecto.7z|konačan build alata}} i [[https://bitbucket.org/jeton_fejza/lecto_ffmpeg|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 ----- | [[studenti:jeton_fejza:jf4_dnevnik|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 ==== ~~NOTOC~~