Repository: yt-dlp
Issue: Add option to not overwrite the embedded metadata if the video file already exists
Labels: bug

### Checklist

- [X] I'm reporting a feature request
- [X] I've verified that I'm running yt-dlp version **2021.10.22**. ([update instructions](https://github.com/yt-dlp/yt-dlp#update))
- [X] I've searched the [bugtracker](https://github.com/yt-dlp/yt-dlp/issues?q=) for similar issues including closed ones. DO NOT post duplicates
- [X] I've read the [guidelines for opening an issue](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#opening-an-issue)

### Description

Currently it is not possible to leave the video untouched when I accidentally download the same yt video again with `--embed-metadata` (or with `--embed-thumbnail`) option.

There are two overwrite disabling options, but none of them helps:
```
-w, --no-overwrites            Do not overwrite any files
--no-post-overwrites           Do not overwrite post-processed files
```

It would be good to have a third option, `--no-embed-overwrites` or something that prevents overwriting the already downloaded video file even when --embed-* options are used.

The example shows that the metadata embedding ffmpeg command still runs despite of both no-overwrite options are used, and it effectively overwrites the video file and changes its contents, the MD5 hash of the file changes.

```
λ certutil -hashfile "Autostereogram Encoding Test [p2aJBPZ9MEs].webm" MD5 |findstr /v "hash"
d6 f1 46 bb 37 83 2b f2 34 1b bb 0c 11 f1 d9 a2

λ yt-dlp --embed-metadata --no-overwrites --no-post-overwrites https://www.youtube.com/watch?v=p2aJBPZ9MEs -v
[debug] Command-line config: ['--embed-metadata', '--no-overwrites', '--no-post-overwrites', 'https://www.youtube.com/watch?v=p2aJBPZ9MEs', '-v']
[debug] Encodings: locale cp1250, fs utf-8, out utf-8 (No ANSI), err utf-8 (No ANSI), pref cp1250[debug] yt-dlp version 2021.10.22
[debug] Python version 3.8.1 (CPython 32bit) - Windows-8.1-6.3.9600-SP0
[debug] exe versions: ffmpeg 4.3.1-2021-01-26-full_build-www.gyan.dev, ffprobe 4.3.1-2021-01-26-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
[debug] [youtube] Extracting URL: https://www.youtube.com/watch?v=p2aJBPZ9MEs
[youtube] p2aJBPZ9MEs: Downloading webpage
[youtube] p2aJBPZ9MEs: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, codec:vp9.2, lang
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), acodec, lang, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] p2aJBPZ9MEs: Downloading 1 format(s): 247+251
[download] Autostereogram Encoding Test [p2aJBPZ9MEs].webm has already been downloaded
[Metadata] Adding metadata to "Autostereogram Encoding Test [p2aJBPZ9MEs].webm"
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:Autostereogram Encoding Test [p2aJBPZ9MEs].webm" -map 0 -dn -c copy -metadata "title=Autostereogram Encoding Test" -metadata "date=20101207" -metadata "description=Test of an encoding algorithm for autostereograms, that might be used in a project related to my studies.

Code written in Blitz Basic." -metadata "synopsis=Test of an encoding algorithm for autostereograms, that might be used in a project related to my studies.

Code written in Blitz Basic." -metadata "purl=https://www.youtube.com/watch?v=p2aJBPZ9MEs" -metadata "comment=https://www.youtube.com/watch?v=p2aJBPZ9MEs" -metadata "artist=Paul Scharf" "file:Autostereogram Encoding Test [p2aJBPZ9MEs].temp.webm"

λ certutil -hashfile "Autostereogram Encoding Test [p2aJBPZ9MEs].webm" MD5 |findstr /v "hash"
b0 0e 85 ae a7 38 bb 31 ba f5 86 bb 02 5a 9b e9
```