Ik ben bezig een tooltje te maken waarmee je de bitrate uit kunt rekenen voor een avchd. Nu leek het me cool als leerprocess om vanuit java de x264 encoder aan te sturen. Met Runtime.getRuntime().exec("cmd.exe /c start"); kan ik het commandpromt venster openen. Daar was ik vrij vlug achter hoe dat moest. Nu kan ik dus achter start bv het volgende gooien:
x264.exe --pass 1 --bitrate 4200 --stats "test.stats" --level 4.1 --bframes 3 --b-pyramid --weightb --subme 7 --partitions p8x8,b8x8,i4x4 --threads auto --thread-input --progress --no-psnr --no-ssim --output "test.mkv" "film.avs" 1920x1080
heb het nog niet getest maar volgens mij moet dat gaan want dir met parameters werkte ook.
Maar het probleem is dat ik pass 2 en 3 handmatig moet starten als pass 1 klaar is met encoderen. Maar hoe krijg ik dat voor elkaar? Heb wat zitten kloten maar is niet gelukt.
Wat een optie zou kunnen zijn is telkens het resultaat van cmd door java uit te laten lezen. Als mijn programma dan zie van hij is klaar kan ik 2e cmd openen om 2e pass te starten. Maar het liefst wil ik natuurlijk diezelfde cmd gebruiken. Dus gewoon nieuwe code naar cmd sturen. Maar volgens mij gaat dat niet? Wie kan me helpen om dit probleem op te lossen?
Java skills zijn nog niet zo goed, zit momenteel in 2e jaar Informatica.
x264.exe --pass 1 --bitrate 4200 --stats "test.stats" --level 4.1 --bframes 3 --b-pyramid --weightb --subme 7 --partitions p8x8,b8x8,i4x4 --threads auto --thread-input --progress --no-psnr --no-ssim --output "test.mkv" "film.avs" 1920x1080
heb het nog niet getest maar volgens mij moet dat gaan want dir met parameters werkte ook.
Maar het probleem is dat ik pass 2 en 3 handmatig moet starten als pass 1 klaar is met encoderen. Maar hoe krijg ik dat voor elkaar? Heb wat zitten kloten maar is niet gelukt.
Wat een optie zou kunnen zijn is telkens het resultaat van cmd door java uit te laten lezen. Als mijn programma dan zie van hij is klaar kan ik 2e cmd openen om 2e pass te starten. Maar het liefst wil ik natuurlijk diezelfde cmd gebruiken. Dus gewoon nieuwe code naar cmd sturen. Maar volgens mij gaat dat niet? Wie kan me helpen om dit probleem op te lossen?
Java skills zijn nog niet zo goed, zit momenteel in 2e jaar Informatica.
Ruisende versterker: schakel je subwoofer in.