Jeton Fejza:Programsko rješenje za snimanje predavanja temeljeno na FFmpeg alatu

Dnevnik rada

1. tjedan (09.-15.3.2013.)

Dosadašnji rad

Skinuo sam projekt starog lectoa i maknuo sve dijelove vezane uz VLC i vlcj library

Promijenio par stvari da se program moze samo pokrenuti i brojati sekunde

Istrazio projekt i njegovu strukturu za daljnji rad

Podesio sam repozitorij na Gitu i pushao gore

Daljnji koraci

Podesiti lokalizaciju

Istraziti pozivanje ffmpega iz jave

2. tjedan (16.-22.3.2013.)

Dosadašnji rad

Maknuo sam scale opciju sa GUI-a za konfiguraciju, podesio GUI

Podesen record button zasada da samo broji i da ne poziva druge metode

Daljnji koraci

Omoguciti ispravno listanje uredjaja za snimanje uz pomoc FFMPEG alata

Upogoniti FFMPEG encoding na snimanju

3. tjedan (23.3-29.3.2015)

Dosadašnji rad

Omogucio sam pozivanje FFMPEG naredbi za listanje dostupnih uredjaja za snimanje

Podesio sam parametre i parsao string koji se dobiva

Prilagodio sam GUI tako da prikazuje imena stvarnih uredjaja dobivenih od FFMPEG naredbe

Podesio da radi na Windows i Mac platformama

Daljnji koraci

Ispravno podesiti putanje FFMPEG-a i napraviti interakciju s korisnikom u vezi te putanje

Prouciti zatim implementirati FFMPEG naredbe za snimanje na odabranim uredjajima

4. tjedan (30.3-5.4.2015)

Dosadašnji rad

Slozio sam interakciju s korisnikom za putanje FFMPEG-a na nacin da se pri prvom pokretanju korisnika pita da browse-a do ffmpeg.exe statickog builda i uputi na website za download u slucaju neupucenosti

Podesio sam potrebne labele za lokalizaciju tog dijela dijaloga.

Proucio sam FFMPEG pozivanje naredbi za snimanje

Daljnji koraci

Implementirati FFMPEG pozive za snimanje odabranih izvora

5. tjedan (6.4-12.4.2015)

Dosadašnji rad

Implementirao sam snimanje s vise video izvora na Windowsima na nacin da se za svaki od izvora pokrece zaseban proces koji poziva ffmpeg naredbe. Kada korisnik pritisne tipku stop procesu se salje znak “q” sto ffmpeg naredbi oznacava kraj snimanja i pohranu na disk, nakon cega se gase stvoreni procesi.

Podesio sam putanje video dateteka da se pohrane po defaultu na C:/Users/“username”/Videos (sto se naravno moze izmijeniti u ekranu za konfiguraciju) buduci da ffmpeg ima problema s pohranom podataka na zasticen dio diska kao sto je to C root folder.

Implementirao sam snimanje s vise izvora i podesio parametre za Mac racunala.

Daljnji koraci

Prisustvovati sastanku i dogovoriti se oko detalja daljnjeg rada

Prouciti funkcije ffmpega za ulancavanje video datoteka koje ce biti potrebno za implementaciju pause funkcionalnosti

6. tjedan (13.4-19.4.2015)

Dosadašnji rad

Odrzan sastanak 14.4.Dogovoreno je da ce:

biti implementiran window za prikaz live loga ffmpeg procesa koji se izvodi

biti ispravljen GUI Lectoa prema novim prijedlozima nacrta

Lecto uzimati u obzir UIScreenCapture i screen-recorder dshow filtere ako su instalirani i prema tome prilagoditi snimanje ekrana

u prozoru za odabir codeca uzimati u obzir vrijednosti koje korisnik unese za FPS i bitrate prilikom snimanja. Takodjer ce za taj prozor biti potrebno uvesti izmjene u GUI-u

Ispravio sam GUI za glavni prozor Lecto-a, prilagodio sam sve metode i lokalizirane tekstove te dodao prikaz trenutno odabranih izvora snimanja

Daljnji koraci

Ispraviti GUI za prozor odabira izvora snimanja te povezati sve s ffmpeg naredbama

Implementirati Lecto live log ffmpeg naredbi koje se izvode

Autohide opcija

Prilagoditi uiscreencapture filtere

Implementirati pause funkcionalnost

Istraziti mogucnost pokretanja cijele aplikacije s preset datotekom iz komandne linij

7. tjedan (20.4-26.4.2015)

Dosadašnji rad

Implementirao sam live log ffmpeg naredbi koje se izvode.

Debugirao logiku pozivanja

Istrazio mogucnosti pozivanja jedne naredbe s vise izvora

Daljnji koraci

Popraviti snimanje

Provjeriti live log rad i na macu

Povezati ffmpeg naredbe s parametrima na GUI-u

8. tjedan (27.4-2.5.2015)

Dosadašnji rad

Istrazio sam kako JVM poziva procese i kako bi se mogao optimizirati rad Lectoa tako da memorija ffmpeg procesa ne bude ogranicena

Zakljuceno je da JVM poziva proces s identicnom okolinom i okolinskim varijablama kao i komandna linija tako da optimizacija u tom pogledu nece biti omogucena

Namjesteno konfiguriranje video i audio kodeka te containera preko datoteke u resursima projekta, koja se na pokretanje prebacuje u Lecto direktorij a gdje korisnik moze dodatno upisivati druge konfiguracije

Na isti nacin je kroz promjenjivu datoteku omoguceno i definiranje rezolucije

Povezao sam logiku novih datoteka s GUI-em

Daljnji koraci

Povezati nove konfiguracije i parametre s ffmpeg modelom

Popraviti live log da se moze bilo kada otvoriti i da nudi pristup