-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
extremely inefficient muxing #30
Comments
You're using an old version of pymkv2—latest is 2.0.8, but you've got 2.0.3. Try installing the newest version and see if that improves performance. |
Yeah, I had some problems with a colliding ISO639 package on the newest version, but I will fix that in my project and report back. Thank you for the fast response! |
Can you guys describe the issue with ISO639? I'm noticing some complaints and have some ideas on how to fix them, but I need to gather more feedback. |
I’ll work on upgrading my main project and investigate the ISO639 issue. In the meantime, I created a new project using version 2.0.8 and re-ran the commands above, but I’m still seeing the same mkv.command output, that you can see in additional context. I restructured the command to function as intended:
This processes the MKV file in a single pass, making it significantly faster. |
Describe the bug
When muxing an MKV file with multiple tracks, it appears that each track is loaded individually from the file.
As a result, if a 1GB MKV file contains 10 subtitle tracks, a total of approximately 10GB of data will be read from the drive. This process is highly inefficient and slow.
To Reproduce
Use an MKV file with multiple tracks as the input.
The mux command includes the input file multiple times, which apparently causes the file to be read multiple times.
Open a disk I/O viewer and run the mux process.
The viewer should display I/O read usage roughly equal to the file size multiplied by the track count.
Expected behavior
Each input file should only be read once. Selecting multiple tracks within a single input file should resolve this issue.
My old implementation for extracting subtitles works this way. However, keep in mind that this code is more of a proof of concept than a well-polished solution.
Screenshots
none
Software (please complete the following information):
Additional context
Output of an example mkv file with
mkv.command(output_path)
:The text was updated successfully, but these errors were encountered: