ไม่มีการอัปโหลด, 100% ในเครื่อง, ไม่มีบัญชี

บทความ

ทำไม GIF ถึงมีขนาดหนักขนาดนี้

GIF เคลื่อนไหวสามวินาทีมักหนักกว่าวิดีโอ MP4 เต็มนาทีที่ครอบคลุมคลิปเดียวกัน ซึ่งทำให้ใครก็ตามที่เคยชินกับการคิดว่าวิดีโอเป็นฟอร์แมตที่หนักกว่าประหลาดใจ GIF ไม่เคยถูกออกแบบมาให้เป็นวิธีที่มีประสิทธิภาพในการเก็บการเคลื่อนไหว มันคือฟอร์แมตภาพจากปี 1987 ที่บังเอิญรองรับลำดับเฟรม และทุกการตัดสินใจออกแบบเบื้องหลังมันมีมาก่อนการบีบอัดวิดีโอสมัยใหม่หลายสิบปี

GIF คือลำดับภาพ ไม่ใช่สตรีมวิดีโอ

Graphics Interchange Format ที่ CompuServe เปิดตัวในปี 1987 และปรับปรุงเป็น GIF89a ในปี 1989 เก็บแอนิเมชันเป็นชุดเฟรมภาพแยกกันเล่นตามลำดับ แต่ละเฟรมเป็นภาพนิ่งที่บีบอัดของตัวเอง โคเดกวิดีโอจริงอย่าง H.264 เข้ารหัสเฟรมส่วนใหญ่เป็นความแตกต่างจากเฟรมก่อนหน้าแทน เนื่องจากเฟรมวิดีโอที่ต่อเนื่องกันมักคล้ายกันมาก โดยเก็บเฉพาะสิ่งที่เปลี่ยนแปลง GIF ไม่มีกลไกเทียบเท่า: แม้แต่ฉากที่นิ่งเป็นส่วนใหญ่ก็ยังเก็บส่วนใหญ่ของทุกเฟรมใหม่ทั้งหมด

แผนภาพเปรียบเทียบ GIF ที่เก็บภาพเต็มแบบอิสระต่อเฟรม กับโคเดกวิดีโอที่เก็บเฟรมส่วนใหญ่เป็นความแตกต่างจากเฟรมก่อนหน้า

256 สี ไม่ว่าต้นฉบับจะต้องการหรือไม่

GIF จำกัดทุกเฟรมไว้ที่จานสีสูงสุด 256 สี เลือกจากช่วงที่ใหญ่กว่ามากที่รูปถ่ายหรือวิดีโอมีจริง การบันทึกหน้าจอหรือคลิปวิดีโอที่มีไล่สีและแสงนุ่มนวลจะถูกทำให้แบนลงบนจานสีที่จำกัดนั้น ทำให้เกิด banding และ dithering ให้เห็นชัด และไฟล์ยังต้องเก็บข้อมูลสีที่ลดลงนั้นเต็มเฟรมในทุกเฟรม โดยไม่มีการบีบอัดข้ามเฟรมให้พึ่งพา

เปรียบเทียบตัวอย่างสี: จานสี GIF 256 สีข้าง ๆ ช่วงสีเต็มของรูปถ่ายหรือวิดีโอต้นฉบับ

ทำไมฟอร์แมตนี้ถึงไม่เคยมีตัวแทนสมัยใหม่

การวนซ้ำแอนิเมชันของ GIF และการรองรับที่เป็นสากล ทุกเบราว์เซอร์และแอปแชทเล่นได้โดยไม่ต้องมีปลั๊กอิน ทำให้มันถูกใช้งานต่อเนื่องนานหลังจากมีตัวเลือกที่ดีกว่าแล้ว เหมือนกับที่ MP3 ยังคงอยู่ต่อไปหลังจากมีโคเดกเสียงที่มีประสิทธิภาพกว่าออกมา WebP และ APNG ต่างรองรับแอนิเมชันด้วยการบีบอัดต่อเฟรมจริงและสีมากกว่ามาก และให้ไฟล์ที่เล็กกว่าอย่างเห็นได้ชัดสำหรับเนื้อหาเดียวกัน แต่ไม่มีตัวไหนเข้าถึงระดับการรองรับสากลของ GIF ในทุกแพลตฟอร์มและบริบทการแชร์ ดังนั้น GIF ยังคงเป็นค่าเริ่มต้นสำหรับแอนิเมชันวนซ้ำสั้น ๆ แม้ว่ามันจะเป็นวิธีที่มีประสิทธิภาพน้อยที่สุดในการเก็บมันก็ตาม

MP4 ของคลิปเดียวกันมักเล็กกว่ามาก

การแปลงคลิปสั้นเดียวกันเป็น MP4 ด้วย H.264 คงการบีบอัดแบบความแตกต่างระหว่างเฟรมของโคเดกวิดีโอและช่วงสีเต็มไว้ ซึ่งเป็นเหตุผลที่ไฟล์มักลงเอยเป็นเศษส่วนของขนาด GIF ที่เทียบเท่าสำหรับเนื้อหาและความยาวเดียวกัน การแลกเปลี่ยนคือ MP4 ต้องการโปรแกรมเล่นวิดีโอแทนที่จะแสดงแบบอินไลน์เป็นภาพได้ทุกที่ที่ GIF ทำได้ แม้ว่าแอปแชทและแพลตฟอร์มโซเชียลสมัยใหม่ส่วนใหญ่จะเล่น MP4 สั้น ๆ อัตโนมัติเหมือนกับที่จะทำกับ GIF อยู่แล้ว

แปลงระหว่าง GIF และวิดีโอโดยไม่ต้องอัปโหลดอะไรเลย

เครื่องมือ GIF เป็นวิดีโอของเราเข้ารหัส GIF เคลื่อนไหวใหม่เป็น MP4 ขนาดกะทัดรัด และวิดีโอเป็น GIF ทำแบบย้อนกลับเมื่อ GIF จริง ๆ สำหรับบริบทที่ต้องการมันโดยเฉพาะ คือสิ่งที่คุณต้องการจริง ๆ ทั้งสองทำงานทั้งหมดในเบราว์เซอร์ของคุณด้วย ffmpeg ที่คอมไพล์เป็น WebAssembly การแปลง GIF หนักที่มีอยู่เป็น MP4 ก่อน แล้วกลับไปใช้ GIF เฉพาะบริบทน้อยนิดที่ต้องการฟอร์แมตนี้จริง ๆ มักเป็นวิธีที่เร็วที่สุดในการลดขนาดไฟล์ของแอนิเมชันที่แชร์โดยไม่เสียการวนซ้ำ

เครื่องมือที่กล่าวถึงในบทความนี้

คำถามที่พบบ่อย

ทำไม GIF สั้น ๆ ถึงหนักกว่าวิดีโอ MP4 ที่ยาวกว่ามาก

GIF เก็บแต่ละเฟรมส่วนใหญ่แบบอิสระใหม่โดยไม่มีการบีบอัดข้ามเฟรม จำกัดที่ 256 สี ในขณะที่ MP4 เข้ารหัสเฟรมส่วนใหญ่เป็นแค่ความแตกต่างจากเฟรมก่อนหน้าและคงรายละเอียดสีไว้มากกว่ามาก ค่าใช้จ่ายต่อเฟรมของฟอร์แมต GIF สะสมเร็วแม้สำหรับคลิปที่เป็นเศษส่วนของความยาววิดีโอ

ฉันทำให้ GIF เล็กลงได้โดยไม่ต้องแปลงเป็นวิดีโอหรือไม่

ได้ ในระดับหนึ่ง: การลดอัตราเฟรม ย่อมิติพิกเซล หรือตัดคลิปให้สั้นลง ล้วนลดขนาด GIF ได้โดยตรง เพราะเฟรมที่น้อยลงหรือเล็กลงหมายถึงข้อมูลที่ต้องเก็บน้อยลง สิ่งเหล่านั้นไม่เปลี่ยนแปลงการขาดการบีบอัดข้ามเฟรมพื้นฐานของฟอร์แมตเลย ซึ่งเป็นเหตุผลที่การแปลงเป็น MP4 มักประหยัดได้มากกว่าการตัด GIF ให้สั้นลง

MP4 จะวนซ้ำอัตโนมัติแบบที่ GIF ทำหรือไม่

แอปแชทและแพลตฟอร์มโซเชียลส่วนใหญ่เล่นและวนซ้ำ MP4 สั้น ๆ แบบอินไลน์อัตโนมัติ เหมือนกับที่จัดการ GIF ดังนั้นผลลัพธ์ทางภาพมักเหมือนกันสำหรับผู้ชม บริบทที่แสดงแท็กภาพดิบโดยไม่รองรับโปรแกรมเล่นวิดีโอ อีเมลบางแบบและซอฟต์แวร์ฟอรัมเก่า ยังคงต้องการไฟล์ GIF จริง

แหล่งข้อมูล