[ˈrantnotiːts]

Optimale Piece size einer .torrent-Datei

Samstag, 25. Februar 2023

Bei Torrents deren zugrundeliegenden Daten jensets der 5 GiB sind, darf man gern mal die Größe der einzelnen Anteile erhöhen. Bei mktorrent ist der Standardwert 18, also 218 = 256 KiB.

Die folgende Liste (Quelle) ist meiner Meinung nach recht sinnvoll.

Zu beachten wäre noch, dass einige Clients bei 225 streiken. Im Zweifel sollte man 224 daher nicht überschreiten. Wie viel es bringt ist hier zu sehen:

$ mktorrent -p -c "Piece size 18" -a udp://opentracker.io:6969/announce -o 2-18.torrent 32GB-Folder/
mktorrent 1.1 (c) 2007, 2009 Emil Renner Berthing

Hashed 131179 of 131179 pieces.
Writing metainfo file... done.

$ du -h 2-18.torrent
3.2M	2-18.torrent
$ mktorrent -l 24 -p -c "Piece size 24" -a udp://opentracker.io:6969/announce -o 2-24.torrent 32GB-Folder/
mktorrent 1.1 (c) 2007, 2009 Emil Renner Berthing

Hashed 2050 of 2050 pieces.
Writing metainfo file... done.

$ du -h 2-24.torrent
44K	  2-24.torrent
Die Faulheit siegt.
#!/bin/bash
folder="$1"
output="$folder.torrent"
fsize="$(du -sm $1 | awk '{print $1}')"
announce="udp://opentracker.io:6969/announce"

## Calculate folder/file size
if [ "$fsize" -le 512 ];
  then psize="18";
elif [ "$fsize" -le 1024 ];
  then psize="19";
elif [ "$fsize" -le 2048 ];
  then psize="20";
elif [ "$fsize" -le 4096 ];
  then psize="21";
elif [ "$fsize" -le 8192 ];
  then psize="22";
elif [ "$fsize" -le 16384 ];
  then psize="23";
elif [ "$fsize" -le 524288 ];
  then psize="24";
else echo "Please split your files and create a torrent for each part separately" && exit 1;
fi

## Create .torrent
mktorrent -v -p -l "$psize" -a "$announce" -o "$output" "$folder"

Fragen oder Anregungen? Gern per E-Mail. Mein PGP-Key (4096) / (2048). Über diese Internetseite Git