Modernize codebase, add scaling, and fix memory leaks - #108
Conversation
Tested on 2.8.2. Going to assume 2.6.4 works.
Corrected version number of Debian Squeeze, added Debian Lenny as a tested build.
Stylized the requirements/tested build environments
Add notes about separated branches.
Remove added reference to mpv, as it is not part of the project.
Sync master with the modern branch.
All patched up for usage now. IFO/language may need to be specified if blank results are produced.
Add debug flag for bug reporting.
Testing this out.
Change return value to 0 for missing subtitle name.
Updated installation instructions for dependencies. I did too much of a cleanup in that area.
Removed mention of Mac usage and maintenance status.
Scale factor also changed to 4x, as I originally intended.
Need to conduct more research to find the best method of text enhancement, if even possible.
Addition of version header as well.
Added a note about a rewrite planned for July 2026 with expected improvements.
should require with with fixed by -#include <libpng/png.h>
+#include <png.h>without so maybe add +find_package(TIFF REQUIRED) # for Tesseract
find_package(Tesseract REQUIRED)the language CLI parameter is not working |
|
Seeing that you're on NixOS, I will install a VM with it and have a look at these issues straight away. Thanks for bringing them up! Edit: I have tried your Mad Max .idx/.sub on my system, and it does recognize near perfect. So yes, I will have a look at this apparent NixOS-specific issue. Seems to do with a specific filesystem store Tesseract data may not be recognized normally. |
actually, you can install Nix on any Linux distro, and then run (but of course a VM is better for sandboxing) |
Will get this to work for NixOS. Just a short while.
|
I've uploaded a complete SRT (some mis-identified letters, but mostly accurate) here: |
|
umm, you should remove the commit 6491028 better use the test files from mpv with |
Done. Regarding your strace results, it's as I expected. I will need to add a routine that searches Nix stores for the Tesseract installation. Good find. I should be able to do that from my Linux install, but will test myself on Nix before I commit it. |
revert commit != remove commit
bad idea... the tessdata dir should be
so the only problem i see is the language selection
|
Add conditional inclusion for png.h based on system headers.
Updated links to use HTTPS and clarified Tesseract support deprecation. Removed outdated PPA instructions and added NixOS build instructions.
Hey, it's late. So I missed a couple lines.
|
I can confirm my build works with Nix. It just needs language detection fixed as you mentioned, which I'll look at next. |
I should have taken care of this earlier. At least it was just a warning.
Updated project status and future plans for codebase improvements.
Removed unused include for the format library. Must have been left over from some testing, but now compiles under GCC 12. VobSub2SRT confirmed working with Manjaro ARM on a PinePhone now, too.
Hello! I remembered this tool from quite some time ago, and a few months ago I noticed it needed adjustments to build correctly. This PR brings the original public tree closer to the state already maintained in my fork, with the addition of scaling.
I’m opening this both in case it is useful upstream and so users still landing on the original repository have a visible path to a maintained working version.
My fork currently maintains:
This PR is based on the current development side of that work and includes:
Note: Most of these fixes are only implemented on the modern master branch. The legacy branch remains compatibility-oriented and does not include the newer code. Further work will include preprocessing of text, as sometimes, depending on the font in the subtitle, letters don't get recognized properly. While untested on them, the prebuilt modern .deb may work with systems from before ~2020.
Finally, I'd like to thank Ruediger Sonderfeld for creating this tool. It's been quite a good learning experience delving into old multimedia code like this, working through compiler errors and tracing Valgrind reports.