พจนานุกรม

ความสูงของไฟล์คืออะไร

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

height

ความสูงของไฟล์คือขนาดแนวตั้งของภาพภายในไฟล์ วัดเป็นพิกเซล รายงานข้อมูลเมตาจะแสดงตัวเลขนี้ในแถว Height ความกว้างและความสูงของไฟล์รวมกันคือขนาดของภาพ เช่น 1920x1080 ซึ่ง ความกว้างจะอยู่ก่อน

ความสูงของไฟล์ไม่ใช่ขนาดไฟล์ ความสูงนับจำนวนแถวของพิกเซล ส่วนขนาดไฟล์นับจำนวนไบต์ในไฟล์

โปรแกรม ffprobe จากโครงการ FFmpeg เรียกความสูงของสตรีมวิดีโอว่า height ExifTool มีแท็กชื่อ ImageHeight ซึ่งอธิบายไว้ในบทความ Image Height ในวิดีโอ MOV และ MP4 ExifTool จะดึงค่าแท็กนี้จาก track header ทำให้ตัวเลขทั้ง 2 ค่าอาจต่างกันได้

ไฟล์ใดที่มีรายการนี้อยู่

รูปภาพ วิดีโอ และไฟล์เสียงที่มีภาพปกสามารถรายงานความสูงได้ แต่ละรูปแบบไฟล์จะจัดเก็บค่าความสูงคนละตำแหน่ง:

  • MOV และ MP4: video sample description จะเก็บความสูงของภาพต้นฉบับเป็นจำนวนพิกเซล ส่วน track header จะเก็บค่าความสูงอีกค่าหนึ่งสำหรับ track
  • MKV และ WebM: อิลิเมนต์ PixelHeight จะเก็บความสูงของเฟรมวิดีโอที่ถูกเข้ารหัส
  • AVI: ส่วนหัวของ AVI จะเก็บค่าความสูงของภาพ
  • PNG: ส่วน IHDR chunk จะเก็บค่าความสูงเป็นพิกเซลในรูปของตัวเลข 4 ไบต์

เสียงไม่มีความสูง ดังนั้น ffprobe จะไม่พิมพ์ค่าความสูงสำหรับสตรีมเสียง อย่างไรก็ตาม ไฟล์เสียงยังสามารถแสดงค่าได้เมื่อไฟล์มีภาพปก FFmpeg จะมองภาพที่แนบไว้นี้เป็นสตรีมวิดีโอ และสตรีมนั้นจะมีค่าความสูง

ช่องกรอบภาพในไฟล์ MP3 ไม่มีฟิลด์ความสูง ดังนั้นตัวเลขต้องมาจากข้อมูลภาพเอง ส่วนบล็อกรูปภาพใน FLAC จะมีฟิลด์ความสูงของตนเอง ซึ่งจะเก็บค่า 0 เมื่อไม่ทราบความสูง

ไฟล์เอกสารทำงานต่างออกไป หน้าของ PDF จะวัดเป็นหน่วย 1/72 นิ้ว ไม่ใช่พิกเซล บทความ Page Size อธิบายค่าต่างๆ เหล่านี้

ลักษณะของค่านั้นเป็นอย่างไร

ปกติค่าจะเป็นจำนวนเต็มของพิกเซลโดยไม่มีหน่วย FFmpeg จะแสดงรายการขนาดวิดีโอเหล่านี้และอื่นๆ โดยตัวเลขตัวที่สองของแต่ละขนาดคือความสูง:

  • 1280x720: มีความสูง 720
  • 1920x1080: มีความสูง 1080
  • 3840x2160: มีความสูง 2160
  • 7680x4320: มีความสูง 4320

มีบางไฟล์ที่แสดงค่าต่างออกไป สตรีมคำบรรยายที่ไม่มีค่าความสูงจะแสดง N/A ใน ffprobe ความสูงของภาพ SVG อาจเป็นค่าความยาวหรือค่าเปอร์เซ็นต์ก็ได้

แหล่งที่มาของค่า

โปรแกรมที่สร้างไฟล์จะเป็นตัวกำหนดความสูง หากคุณต้องการเปลี่ยนความสูง คุณต้องปรับขนาดหรือครอปภาพแล้วบันทึกไฟล์ใหม่

เหตุใดความสูงจึงอาจต่างจากสิ่งที่คุณเห็น

ไฟล์วิดีโอสามารถเก็บค่าการหมุนภาพไว้ได้ และ FFmpeg จะหมุนวิดีโอตามค่านั้นตามค่าเริ่มต้น หลังจากหมุน 90 องศา ความสูงที่คุณเห็นจะเท่ากับความกว้างที่เก็บไว้

บางรูปแบบไฟล์ยังเก็บค่าความสูง 2 ค่าไว้ด้วยกัน ในไฟล์ Matroska ค่าของ PixelHeight คือความสูงของเฟรมที่ถูกเข้ารหัส ส่วน DisplayHeight คือความสูงที่ใช้แสดงหลังจากครอปแล้ว ค่า coded height ใน FFmpeg ก็อาจต่างจากค่าความสูงได้เมื่อเฟรมถูกครอปก่อนส่งออก

ทำไมมันจึงสำคัญ

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

ความสูงและความกว้างยังเป็นตัวกำหนดจำนวนพิกเซลด้วย วิดีโอ 1920x1080 มีพิกเซล 2,073,600 พิกเซลในแต่ละเฟรม ซึ่งประมาณ 2.1 เมกะพิกเซล

สำหรับงานพิมพ์ แท็ก Y Resolution จะให้จำนวนพิกเซลต่อหนึ่งนิ้วหรือหนึ่งเซนติเมตรในทิศทางความสูง นำค่าความสูงหารด้วยตัวเลขนี้ เพื่อหาความสูงเมื่อพิมพ์ในหน่วยเดียวกัน

คีย์เมตา