Martchus / tageditor

A tag editor with Qt GUI and command-line interface supporting MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska
GNU General Public License v2.0
688 stars 56 forks source link

Corrupted Files - Bak Files? #85

Closed action1618 closed 2 years ago

action1618 commented 2 years ago

Hello, I really enjoy and appreciate this software but I am noticing 1/10 files are typically becoming corrupted and will not playback.

It appears files that would not be parsed correctly offer a warning that this will happen. I notice the Bak files are automatically generated and must be are likely created as the JUST INCASE. Could you explain how I can use the bak files through the software to undo corrupted files?

Thanks,

Martchus commented 2 years ago

but I am noticing 1/10 files are typically becoming corrupted

In order to improve that I need an example file or at least further details about the file. The file's format and internal structure might be different/special and the underlying library cannot handle it. Maybe it is easy to fix but not without an example file and you telling me what you've did and what settings you've used.

It appears files that would not be parsed correctly offer a warning that this will happen.

What warning? It would be very useful to state it because there can be many different warnings.

I notice the Bak files are automatically generated and must be are likely created as the JUST INCASE.

Please see https://github.com/Martchus/tageditor#backuptemporary-files=. So these files are generated for technical reasons but also serve as a backup.

Could you explain how I can use the bak files through the software to undo corrupted files?

Just delete the broken file and rename the .bak file back to its original name (basically dropping the .bak extension). You can use any program for that. The tag editor itself doesn't allow renaming files.


By the way, what platform are you using and what version of Tag Editor and the underlying tagparser and c++utilities libraries? If you're using older versions, please try again with the latest versions.

nbd-phd commented 2 years ago

Hey I have had the same issue.

I notice that some files will end up truncated, while most of them will work fine. For example I have a video file, a 4K video downloaded from a primary source on the internet via a subscription. I have had this similar result occur for other file types, regardless of file size, resolution, etc.

Here is the diagnostic info that you may need:

Settings:

Structure:

image

Tracks: image

Other Data image

Messages after attempting to edit tags:

image

File information following attempt to edit tags:

image

image

nbd-phd commented 2 years ago

I hope you can fix this issue and release an update, I really like this utility, its a great help.

Martchus commented 2 years ago

It is still hard to tell what makes these files special. Can you reproduce it with a smaller/shareable file? What tool has been used to make the file in the first place? You can often find out using MediaInfo (the info from test tool would be generally useful).

Looks like the file had no tag at all before you've edited. That's uncommon and maybe I have never actually tested it. So that's something I can try out.

Another specialty about your file is that it is just very big. I suppose I've tested it once with big MP4 file but I can test it again because there might be a regression. (The automated testing done before each release doesn't test with that big files.)

Martchus commented 2 years ago

I couldn't reproduce it with a 9 GiB big file created via MP4Box that has also no tags by default.

Do you use by any chance the 32-bit version? I'll try it myself, maybe that makes a difference.

Martchus commented 2 years ago

I could reproduce the problem with the i686 version (using the i686 Windows build via WINE). The x86_64 builds work just fine (tested GNU/Linux and Windows builds) so I recommend to simply use those builds for now. Your system will most likely support it and you might even get better performance.

I still try to fix the issue for the i686 build, though.

Martchus commented 2 years ago

The i686 build should be fixed by https://github.com/Martchus/cpp-utilities/commit/fe6ad813409b42b2e303e35f02e036497cc81141. At least with my test file it works now.

I've been replacing the binaries of the latest release found in the GitHub release section. Not the best practice but less effort for me and supposedly other packagers.

@action1618 Not sure whether this also fixes the issue you have initially reported. If that issue is not fixed, please provide more information as mentioned in my previous comment.

nbd-phd commented 2 years ago

Wow amazing, that was so fast, thank you very much.

I don't know how I did it, but I think I accidentally removed all the tags associated with the files in that directory, because now I have to manually select mp4 tag each time, oops.

I guess I was using the 32 bit version but, and maybe its just me, I didnt realize because all of the versions had "64" somewhere written in the file name, and I really thought I was using the 64 bit version. I went and downloaded the one you specified and it worked immediately; I didnt try it with the version you mentioned, but I'm glad you are so thorough that you tried all these things before handing off back to my side. I really appreciate your efforts! Thanks for this great tool. I wonder what other cool things I can use it for.

Thanks!

Martchus commented 2 years ago

Wow amazing, that was so fast, thank you very much.

Glad to help.

because now I have to manually select mp4 tag each time, oops.

If you enable automatic tag management in the (in the "Tag management" menu) it should create the tag automatically for you.

I didnt realize because all of the versions had "64" somewhere written in the file name

Both also have 32 somewhere written in the file name as the filename includes the full "GNU triplet" of the platform the binary has been compiled for. The documentation explains the format if you're curious: https://www.gnu.org/software/autoconf/manual/autoconf-2.70/html_node/Specifying-Target-Triplets.html

I really appreciate your efforts! Thanks for this great tool.

Thanks for the kind words :-)

Martchus commented 2 years ago

I'm also closing the issue now as it is most likely done.

@action1618 Feel free to re-open if that's not the case for the issue you've initially reported.