https://bugs.winehq.org/show_bug.cgi?id=51530
Bug ID: 51530 Summary: MeGUI: processing AVS script conversion on large source file fills disk to 100% with intermediate processing file Product: Wine Version: 6.13 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: gdiplus Assignee: wine-bugs@winehq.org Reporter: tigerwild@gmail.com Distribution: ---
Generated .avs script converting non-interlaced MPEG-2 (DVD standard) into x265 then final output to be muxed within .mkv container.
I identified that long start times when opening content appear to be caused by the the intermediate processing of files. The AVS script pipes data from one process to another, and I noted that the initial process of Ffmpeg output, was not staying constrained to ram. Instead it was being written to disk while also not being forwarded to the encoder until AFTER it had completely processed the input video file.
The intermediate processing and storage of uncompressed frames data generated prior to handoff to x265 encoder rapidly fills 100+ GB of disk file space, typically on root drive as this is where Wine ( /home/username/.wine/drive_c/users/username/Temp ) directory is located.
Testing by converting just a small number of frames where the intermediate files created did not completely fill up the hard disk were 100% successful with the only performance bump compared to Windows being the intermediate writing of the files to the hard drive.
Steps to reproduce: Install wine-6.13 ( staging )
Execute Executed WineCFG, configure default Windows version to 2008 or Windows 7
Install winetricks
Download As Microsoft no longer supports fileshare of windows6.1-KB976932-X64.exe, I downloaded a copy from https://archive.org/details/windows6.1-KB976932 . Place the file into /home/username/.cache/winetricks/win7sp1 [ it's a 903 MB file! ]
Get the official MeGUI 2913 x32 from https://sourceforge.net/projects/megui/files/ . Extract and place the files into /home/username/.wine/drive_c/Program Files (x86)/MeGUI-2913-32
Execute winetricks, perform 'Install an application', with no application selected pressed 'cancel', then select 'Install a Windows DLL or component', then select 'dotnet40'.
winetricks, perform 'Install an application', with no application selected pressed 'cancel', then select 'Install a Windows DLL or component', then selected 'gdiplus'.
WineCFG, select 'Add application' and manually navigate to the directory; I selected MeGUI.exe and set version to either Windows 2008 / 7. Both worked in testing.
MeGUI, note: I got multiple error windows prior to program finally showing up for use on screen. Wine performed two reconfigurations and proceeded some 20 seconds before the application was usable.
Behaviour: Root drive is filled to capacity very quickly reaching 99.99% useage and forcing OS to ask to free up space. MeGUI task monitor shows no progress during this time. The /home/username/.wine/drive_c/users/username/Temp directory is filled with files which appear to be the uncompressed video frames coming from FFMPEG's processing, prior to being piped to the x265 encoder.
Expected behaviour: Each process should be constrained to RAM for fastest processing, vice writing the ouputs to disk. Also the pipe from one process to the next should happen immediately upon reaching a filled capacity (eg. 90% filled buffer).
Additional information: Typical command line that MeGUI generates for actually performing its processes is similar to the following Job command line: "cmd.exe" /c ""C:\Program Files (x86)\MeGUI-2913-32\tools\ffmpeg\ffmpeg.exe" -loglevel level+error -i "Z:\media\PcName\Data\Archive\Video Captures\MyDvDContent.mkv.avs" -strict -1 -f yuv4mpegpipe - | "C:\Program Files (x86)\MeGUI-2913-32\tools\x265\x64\x265.exe" --preset faster --tune grain --crf 21.9 --sar 1:1 --output "Z:\media\PcName\Data\Archive\Video Captures\MyDvDContent.mkv.hevc" --frames 163130 --y4m -"
https://bugs.winehq.org/show_bug.cgi?id=51530
Esme Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|gdiplus |-unknown