Repository: yt-dlp
Issue: Does "--no-part" cause YT-DLP to add data to an existing, complete download ?
Labels: bug,triage,core:downloader

### DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

- [X] I understand that I will be **blocked** if I *intentionally* remove or skip any mandatory\* field

### Checklist

- [X] I'm asking a question and **not** reporting a bug or requesting a feature
- [X] I've looked through the [README](https://github.com/yt-dlp/yt-dlp#readme)
- [X] I've verified that I have **updated yt-dlp to nightly or master** ([update instructions](https://github.com/yt-dlp/yt-dlp#update-channels))
- [X] I've searched [known issues](https://github.com/yt-dlp/yt-dlp/issues/3766) and the [bugtracker](https://github.com/yt-dlp/yt-dlp/issues?q=) for similar questions **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)

### Please make sure the question is worded well enough to be understood

I am testing what happens in different scenarios when using the "--no-part" parameter in YT-DLP. I have tested downloads from the same URL with and without "--no-part", when a completed download already exists. Thus the default "--no-force-overwrites" should apply.

Without "--no-part" YT-DLP does not download the file again but reports the file "has already been downloaded", which is expected.

With "--no-part", it seems that YT-DLP downloads the file again, adding the data to the existing file. The resulting file, almost doubled in size is still playable (in VLC).

Is this expected behaviour ?

Have provided two logs: first without "--no-part" and second with "--no-part". The download has 1413 fragments and so the log is too long for GitHub. So, I have provided a snipped version in the "Verbose Output" box below and attached a copy of the complete log.

[ytdl_log-Jonathan_Ross'_Myths_And_Legends_S1_Ep1_-_Northern_England-Tuesday_9_January_2024_at_1_20_57 pm.txt](https://github.com/yt-dlp/yt-dlp/files/13868274/ytdl_log-Jonathan_Ross._Myths_And_Legends_S1_Ep1_-_Northern_England-Tuesday_9_January_2024_at_1_20_57.pm.txt)

By the way, timestamps are added by a separate executable called [ets](https://github.com/zmwangx/ets/) which makes no other changes to the log.

### Provide verbose output that clearly demonstrates the problem

- [X] Run **your** yt-dlp command with **-vU** flag added (`yt-dlp -vU <your command line>`)
- [ ] If using API, add `'verbose': True` to `YoutubeDL` params instead
- [X] Copy the WHOLE output (starting with `[debug] Command-line config`) and insert it below

### Complete Verbose Output

```shell
Without "--no-part":

[2024-01-09 13:34:51] [debug] Command-line config: ['--ignore-errors', '--newline', '-S', 'res:720', '--no-warnings', '--recode-video', 'mp4', '--postprocessor-args', 'ffmpeg:-codec copy', '--verbose', '-o', '%(title)s.%(ext)s', 'https://www.sbs.com.au/ondemand/watch/2293127235678']
[2024-01-09 13:34:51] [debug] Encodings: locale utf-8, fs utf-8, pref utf-8, out utf-8 (No ANSI), error utf-8 (No ANSI), screen utf-8 (No ANSI)
[2024-01-09 13:34:51] [debug] yt-dlp version nightly@2024.01.08.232709 from yt-dlp/yt-dlp-nightly-builds [5af1f1978] (darwin_exe)
[2024-01-09 13:34:51] [debug] Python 3.12.1 (CPython arm64 64bit) - macOS-14.2.1-arm64-arm-64bit (OpenSSL 3.0.11 19 Sep 2023)
[2024-01-09 13:34:51] [debug] exe versions: ffmpeg 6.1-https (setts), ffprobe 6.1-https
[2024-01-09 13:34:51] [debug] Optional libraries: Cryptodome-3.19.1, brotli-1.1.0, certifi-2023.11.17, mutagen-1.47.0, requests-2.31.0, sqlite3-3.43.1, urllib3-2.1.0, websockets-12.0
[2024-01-09 13:34:51] [debug] Proxy map: {}
[2024-01-09 13:34:51] [debug] Request Handlers: urllib, requests, websockets
[2024-01-09 13:34:51] [debug] Loaded 1798 extractors
[2024-01-09 13:34:51] [debug] Using fake IP 1.153.0.128 (AU) as X-Forwarded-For
[2024-01-09 13:34:51] [SBS] Extracting URL: https://www.sbs.com.au/ondemand/watch/2293127235678
[2024-01-09 13:34:51] [SBS] 2293127235678: Downloading SMIL file
[2024-01-09 13:34:52] [SBS] 2293127235678: Downloading m3u8 information
[2024-01-09 13:34:52] [SBS] 2293127235678: Downloading JSON metadata
[2024-01-09 13:34:52] [SBS] 2293127235678: Downloading JSON metadata
[2024-01-09 13:34:52] [debug] Sort order given by user: res:720
[2024-01-09 13:34:52] [debug] Formats sorted by: hasvid, ie_pref, res:720(720.0), lang, quality, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, size, br, asr, proto, vext, aext, hasaud, source, id
[2024-01-09 13:34:52] [debug] Default format spec: bestvideo*+bestaudio/best
[2024-01-09 13:34:52] [info] 2293127235678: Downloading 1 format(s): hls-1981
[2024-01-09 13:34:52] [debug] Invoking hlsnative downloader on "https://sbs-vod-prod-01.akamaized.net/Content/HLS_AES_TSO/VOD/geo/3903/10607/0e43b6b6-c925-4845-a81b-31ad48e48882/9439a831-9b13-6280-ed4f-cb66148195cb/Stream(04)/hdntl=exp=1704854092~acl=%2f*~data=hdntl~hmac=0642a8750007d1d98e97a93c777e62cc8b89d4e4ff10f4a4a602cc3a0b4ba58e/index.m3u8?aka_me_session_id=AAAAAAAAAABMAp5lAAAAACtT7m41Ns8zRvTolA0eK9dx5Hok+rLpAHA0cXWVWEQUwqgTLUZBXb07W9laE0HEkFaXWLR4W85Z&aka_media_format_type=hls"
[2024-01-09 13:34:52] [download] Jonathan Ross' Myths And Legends S1 Ep1 - Northern England.mp4 has already been downloaded
[2024-01-09 13:34:52] [download] 100% of    1.80GiB
[2024-01-09 13:34:52] [VideoConvertor] Not converting media file "Jonathan Ross' Myths And Legends S1 Ep1 - Northern England.mp4"; already is in target format mp4


With "--no-part":

[2024-01-09 13:21:00] [debug] Command-line config: ['--ignore-errors', '--newline', '-S', 'res:720', '--no-part', '--no-warnings', '--recode-video', 'mp4', '--postprocessor-args', 'ffmpeg:-codec copy', '--verbose', '-o', '%(title)s.%(ext)s', 'https://www.sbs.com.au/ondemand/watch/2293127235678']
[2024-01-09 13:21:00] [debug] Encodings: locale utf-8, fs utf-8, pref utf-8, out utf-8 (No ANSI), error utf-8 (No ANSI), screen utf-8 (No ANSI)
[2024-01-09 13:21:00] [debug] yt-dlp version nightly@2024.01.08.232709 from yt-dlp/yt-dlp-nightly-builds [5af1f1978] (darwin_exe)
[2024-01-09 13:21:00] [debug] Python 3.12.1 (CPython arm64 64bit) - macOS-14.2.1-arm64-arm-64bit (OpenSSL 3.0.11 19 Sep 2023)
[2024-01-09 13:21:00] [debug] exe versions: ffmpeg 6.1-https (setts), ffprobe 6.1-https
[2024-01-09 13:21:00] [debug] Optional libraries: Cryptodome-3.19.1, brotli-1.1.0, certifi-2023.11.17, mutagen-1.47.0, requests-2.31.0, sqlite3-3.43.1, urllib3-2.1.0, websockets-12.0
[2024-01-09 13:21:00] [debug] Proxy map: {}
[2024-01-09 13:21:00] [debug] Request Handlers: urllib, requests, websockets
[2024-01-09 13:21:00] [debug] Loaded 1798 extractors
[2024-01-09 13:21:00] [debug] Using fake IP 1.138.171.50 (AU) as X-Forwarded-For
[2024-01-09 13:21:00] [SBS] Extracting URL: https://www.sbs.com.au/ondemand/watch/2293127235678
[2024-01-09 13:21:00] [SBS] 2293127235678: Downloading SMIL file
[2024-01-09 13:21:01] [SBS] 2293127235678: Downloading m3u8 information
[2024-01-09 13:21:01] [SBS] 2293127235678: Downloading JSON metadata
[2024-01-09 13:21:01] [SBS] 2293127235678: Downloading JSON metadata
[2024-01-09 13:21:02] [debug] Sort order given by user: res:720
[2024-01-09 13:21:02] [debug] Formats sorted by: hasvid, ie_pref, res:720(720.0), lang, quality, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, size, br, asr, proto, vext, aext, hasaud, source, id
[2024-01-09 13:21:02] [debug] Default format spec: bestvideo*+bestaudio/best
[2024-01-09 13:21:02] [info] 2293127235678: Downloading 1 format(s): hls-1981
[2024-01-09 13:21:02] [debug] Invoking hlsnative downloader on "https://sbs-vod-prod-01.akamaized.net/Content/HLS_AES_TSO/VOD/geo/3903/10607/0e43b6b6-c925-4845-a81b-31ad48e48882/9439a831-9b13-6280-ed4f-cb66148195cb/Stream(04)/hdntl=exp=1704853261~acl=%2f*~data=hdntl~hmac=15aaa0993414e069a08a7598ed6b081715c37bff186e747c2e6bd451d2c03fa6/index.m3u8?aka_me_session_id=AAAAAAAAAAAN%2f51lAAAAAPUwXr4KmMMxDj0HUf9ym8fJGJ1Yz8YkYRyNj8GprlJHNj%2fPfWkdlfCDtdmNzEQ3OuL%2fFjmQ3n+m&aka_media_format_type=hls"
[2024-01-09 13:21:02] [hlsnative] Downloading m3u8 manifest
[2024-01-09 13:21:02] [hlsnative] Total fragments: 1413
[2024-01-09 13:21:02] [download] Destination: Jonathan Ross' Myths And Legends S1 Ep1 - Northern England.mp4
[2024-01-09 13:21:02] [download]   0.1% of ~   1.91TiB at      0.00B/s ETA Unknown (frag 0/1413)
[2024-01-09 13:21:02] [download]   0.1% of ~   1.91TiB at      0.00B/s ETA Unknown (frag 0/1413)
[2024-01-09 13:21:02] [download]   0.1% of ~   1.91TiB at      0.00B/s ETA Unknown (frag 0/1413)
[2024-01-09 13:21:02] [download]   0.1% of ~   1.91TiB at      0.00B/s ETA Unknown (frag 0/1413)
[2024-01-09 13:21:02] [download]   0.1% of ~   1.91TiB at      0.00B/s ETA Unknown (frag 0/1413)
[2024-01-09 13:21:02] [download]   0.1% of ~   1.91TiB at      0.00B/s ETA Unknown (frag 0/1413)
[2024-01-09 13:21:02] [download]   0.1% of ~   1.91TiB at      0.00B/s ETA Unknown (frag 0/1413)
[2024-01-09 13:21:02] [download]   0.1% of ~   1.91TiB at      0.00B/s ETA Unknown (frag 0/1413)
[2024-01-09 13:21:02] [download]   0.1% of ~   1.91TiB at      0.00B/s ETA Unknown (frag 1/1413)
[2024-01-09 13:21:02] [download]   0.1% of ~ 975.70GiB at 1010.04KiB/s ETA Unknown (frag 1/1413)
[2024-01-09 13:21:02] [download]   0.1% of ~ 975.70GiB at 1010.04KiB/s ETA Unknown (frag 1/1413)
[2024-01-09 13:21:02] [download]   0.1% of ~ 975.70GiB at 1010.04KiB/s ETA Unknown (frag 1/1413)
[2024-01-09 13:21:02] [download]   0.1% of ~ 975.70GiB at 1010.04KiB/s ETA Unknown (frag 1/1413)
[2024-01-09 13:21:02] [download]   0.1% of ~ 975.71GiB at 1010.04KiB/s ETA Unknown (frag 1/1413)
[2024-01-09 13:21:02] [download]   0.1% of ~ 975.72GiB at 1010.04KiB/s ETA Unknown (frag 1/1413)
[2024-01-09 13:21:02] [download]   0.1% of ~ 975.74GiB at 1010.04KiB/s ETA Unknown (frag 1/1413)
[2024-01-09 13:21:02] [download]   0.1% of ~ 975.78GiB at 1010.04KiB/s ETA Unknown (frag 1/1413)
[2024-01-09 13:21:02] [download]   0.1% of ~ 975.87GiB at 1010.04KiB/s ETA Unknown (frag 1/1413)
[2024-01-09 13:21:02] [download]   0.1% of ~ 975.89GiB at 1010.04KiB/s ETA Unknown (frag 2/1413)
[2024-01-09 13:21:02] [download]   0.2% of ~ 650.60GiB at 1010.04KiB/s ETA Unknown (frag 2/1413)
[2024-01-09 13:21:02] [download]   0.2% of ~ 650.60GiB at 1010.04KiB/s ETA Unknown (frag 2/1413)
[2024-01-09 13:21:02] [download]   0.2% of ~ 650.60GiB at 1010.04KiB/s ETA Unknown (frag 2/1413)
[2024-01-09 13:21:02] [download]   0.2% of ~ 650.61GiB at 1010.04KiB/s ETA Unknown (frag 2/1413)
[2024-01-09 13:21:02] [download]   0.2% of ~ 650.61GiB at 1010.04KiB/s ETA Unknown (frag 2/1413)

[snipped]

[2024-01-09 13:21:54] [download] 100.0% of ~   1.80GiB at    8.35MiB/s ETA 00:02 (frag 1412/1413)
[2024-01-09 13:21:54] [download] 100.0% of ~   1.80GiB at    8.35MiB/s ETA 00:02 (frag 1412/1413)
[2024-01-09 13:21:54] [download] 100.0% of ~   1.80GiB at    8.35MiB/s ETA 00:02 (frag 1413/1413)
[2024-01-09 13:21:54] [download] 100% of    1.80GiB in 00:00:51 at 35.57MiB/s
[2024-01-09 13:21:54] [debug] ffprobe command line: ffprobe -hide_banner -show_format -show_streams -print_format json 'file:Jonathan Ross'"'"' Myths And Legends S1 Ep1 - Northern England.mp4'
[2024-01-09 13:21:54] [VideoConvertor] Not converting media file "Jonathan Ross' Myths And Legends S1 Ep1 - Northern England.mp4"; already is in target format mp4
```