tl;dr transcoding AND changing the name/ extension will be flagged as a new file. Only change one at at time
Why it happens
Stash matches existing files based on the full file path (folder, filename and extension) OR oshash (file content), If one of them changes and the other stays the same, stash will rectify the changed field. If both change then it is recognized as a new file
For example,
Moving a file from dir/a/input.mp4 to dir/b/output.mp4 the name has changed, but the conents have not. On a Scan, stash will update the path once it confirms that the oshash (contents) are the same.
If you transcode a file to the exact same path and extension, stash will pick up that the path is the same but the contents are different and will update the oshash accordingly
Solutions
In-Place transcode
- Don’t transxode or remux your files to a different extension since this changes the file path, and transcoding changes the contents
- Output to the same filename and extension as the input. A rescan will pick up this file as long as it is in the exact same folder with the exact same filename and extension
Rename dance
If you have to remux to .mkv or a different extension, with original.mp4 and transcoded.mkv
- Rescan your current folder to confirm
original.mp4 - Rename
original.mp4to the final name,transcoded.mkv - Rescan the folder (this matches on contents and updates the mismatched name to
transcoded.mkv) - Rename
transcoded.mkvback tooriginal.mp4 - Run your transcode process
- Rescan the folder (since contents are mismatched, it matches on name
transcoded.mkvand updates the hash accordingly)