Τι είναι ένα αρχείο TGS;
Ένα αρχείο με επέκταση .tgs είναι ένα κινούμενο αρχείο αυτοκόλλητων που παρουσιάστηκε από την υπηρεσία ανταλλαγής μηνυμάτων μεταξύ πλατφορμών, Telegram. Τα κινούμενα αυτοκόλλητα χρησιμοποιούνται από χρήστες εφαρμογών ανταλλαγής μηνυμάτων για την αποστολή πιο βελτιωμένου και ζωντανού περιεχομένου σε μηνύματα σε αντίθεση με τα στατικά γραφικά που είναι στατικές εικόνες. Το Telegram χρησιμοποίησε αρχικά τη μορφή αρχείου WEBP για αυτοκόλλητα ακίνητων εικόνων. Η μορφή αρχείου TGS μπορεί να αποθηκεύσει δεδομένα κινούμενων εικόνων σε υψηλότερες αναλύσεις και μικρότερο μέγεθος αρχείου σε σύγκριση με τα στατικά αυτοκόλλητα WEBP. Τα αρχεία TGS μπορούν να ανοίξουν χρησιμοποιώντας εφαρμογές όπως το Telegram, το 7-zip, το Apple Archive Utility και το Corel WinZip.
Μορφή αρχείου TGS
Η Telegram εισήγαγε τη μορφή αρχείου TGS τον Ιούλιο του 2019 με βάση τη βιβλιοθήκη Lottie. Ένα αρχείο TGS αποτελείται από JSON κείμενο που εξάγεται από μια κινούμενη εικόνα στο Adobe After Effects. Το εξαγόμενο κείμενο JSON συμπιέζεται χρησιμοποιώντας τη συμπίεση gzip που μειώνει το μέγεθος του αρχείου. Οι πληροφορίες JSON σχετικά με το αρχείο κειμένου αποθηκεύονται σε αρχείο κειμένου που γίνεται η βάση των υψηλών ρυθμών συμπίεσης.
Προδιαγραφές αυτοκόλλητων TGS
Η μορφή αρχείου TGS επιβάλλει ορισμένους περιορισμούς στη δημιουργία κινούμενων αυτοκόλλητων TGS. Ένα κινούμενο αρχείο TGS:
- Το μέγεθος αυτοκόλλητου/καμβά πρέπει να είναι 512x512 pixel.
- Τα αυτοκόλλητα αντικείμενα δεν πρέπει να φεύγουν από τον καμβά.
- Η διάρκεια της κινούμενης εικόνας δεν πρέπει να υπερβαίνει τα 3 δευτερόλεπτα.
- Όλα τα κινούμενα σχέδια πρέπει να είναι κυκλικά.
- Το μέγεθος του αυτοκόλλητου δεν πρέπει να υπερβαίνει τα 64 KB μετά την απόδοση στο Bodymovin.
- Όλα τα κινούμενα σχέδια πρέπει να εκτελούνται με ταχύτητα 60 καρέ ανά δευτερόλεπτο.
Δείγμα κειμένου TGS JSON
Ένα δείγμα κινούμενου αυτοκόλλητου, όταν αποσυμπιεστεί, περιέχει το ακόλουθο περιεχόμενο κειμένου JSON.
$ head -c 200 animated-sticker
{"tgs":1,"v":"5.5.2","fr":60,"ip":0,"op":180,"w":512,"h":512,"nm":"C-07","ddd":0,"assets":[],"comps":[],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"master","sr":1,"ks":{"o":{"a":0,"k":0},"r":{"a":0,"k":0}