ชื่อฟอร์แมตคือชื่อแบบย่อของฟอร์แมตคอนเทนเนอร์ของไฟล์มีเดีย ซึ่งบอกคุณว่าโปรแกรม FFmpeg เรียกฟอร์แมตของไฟล์คุณว่าอะไร คอนเทนเนอร์คือรูปแบบไฟล์ที่บรรจุสตรีมเสียงหรือวิดีโอหนึ่งรายการหรือมากกว่า และข้อมูลเมทาดาทา เพื่อให้เล่นพร้อมกันได้
Format Long Name คือช่องข้อมูลที่สองที่อธิบายฟอร์แมตเดียวกันด้วยคำที่เข้าใจง่ายกว่า โปรแกรม ffprobe ของ FFmpeg รายงานช่องข้อมูลทั้ง 2 ช่องเป็น format_name และ format_long_name
ลักษณะของค่าเป็นอย่างไร
FFmpeg อ่านไฟล์แต่ละชนิดด้วยส่วนหนึ่งที่เรียกว่า demuxer ชื่อฟอร์แมตคือชื่อแบบย่อของ demuxer นั้น และชื่อแบบยาวคือคำอธิบาย หนึ่ง demuxer สามารถอ่านฟอร์แมตที่เกี่ยวข้องกันได้หลายชนิด ดังนั้นชื่อฟอร์แมตจึงอาจเป็นรายการที่คั่นด้วยจุลภาค
คู่ค่าต่อไปนี้มาจากซอร์สโค้ดของ FFmpeg โดยชื่อฟอร์แมตอยู่ก่อน:
mov,mp4,m4a,3gp,3g2,mj2และQuickTime / MOVสำหรับไฟล์ MP4, MOV และ M4Amatroska,webmและMatroska / WebMสำหรับไฟล์ MKV และ WebMmp3และMP2/3 (MPEG audio layer 2/3)สำหรับไฟล์เสียง MP3wavและWAV / WAVE (Waveform Audio)สำหรับไฟล์เสียง WAVmpegและMPEG-PS (MPEG-2 Program Stream)สำหรับสตรีมโปรแกรม MPEG-2 ซึ่งอาจลงท้ายด้วย .mpgpng_pipeและpiped png sequenceสำหรับภาพ PNG
FFmpeg บางรุ่นตัดชื่อแบบยาวออกไป ชื่อแบบยาวจึงอาจแสดงเป็น unknown หรือไม่มีข้อมูล
แหล่งที่มาของค่า
ไฟล์ไม่ได้เก็บชื่อฟอร์แมตของตัวเองไว้ FFmpeg จะอ่านส่วนต้นของไฟล์และให้คะแนนกับแต่ละฟอร์แมตที่รู้จัก จากนั้นจะเลือกฟอร์แมตที่มีคะแนนสูงสุด และช่องข้อมูล probe score จะแสดงค่านั้น
นามสกุลไฟล์ มีความสำคัญก็ต่อเมื่อการทดสอบนี้ให้คำตอบที่ไม่น่าเชื่อถือ หรือเมื่อฟอร์แมตนั้นไม่มีการทดสอบ เอกสารของ FFmpeg เตือนว่าการเดาฟอร์แมตจากนามสกุลไฟล์นั้นเชื่อถือได้ไม่เพียงพอ
ทำไมไฟล์ MP4 จึงอาจแสดงเป็น QuickTime
ไฟล์ MP4 จะแสดงชื่อฟอร์แมตเป็น mov,mp4,m4a,3gp,3g2,mj2 และชื่อแบบยาวเป็น QuickTime / MOV ซึ่งเป็นเรื่องปกติและไม่ได้หมายความว่าไฟล์นั้นเป็นไฟล์ MOV FFmpeg ใช้ demuxer ตัวเดียวสำหรับฟอร์แมตที่เกี่ยวข้องกัน 6 ชนิด ดังนั้นค่าชุดเดียวกันจึงปรากฏในไฟล์ MOV, MP4, M4A, 3GP, 3G2 และ MJ2
ฟอร์แมตเหล่านี้เกี่ยวข้องกันเพราะ MP4 มีต้นกำเนิดจาก ISO base media file format และฟอร์แมตนั้นมีต้นกำเนิดจาก QuickTime file format MP4 และ QuickTime จึงมีความเกี่ยวข้องกัน แต่ยังมีความแตกต่างอยู่ จึงไม่สามารถใช้แทนกันได้เสมอไป
ไฟล์เหล่านี้ยังอาจมีแท็ก major_brand อยู่ด้วย FFmpeg จะมองค่าที่เป็น qt ว่าเป็นไฟล์ QuickTime และค่าที่เหลือว่าเป็นไฟล์ ISO base media
ไฟล์ใดที่มีรายการนี้อยู่
ชื่อฟอร์แมตจะปรากฏในไฟล์ที่ FFmpeg เปิดเป็นมีเดียได้ ได้แก่ วิดีโอ เสียง และไฟล์รูปภาพอีกหลายฟอร์แมต หาก ffprobe ไม่สามารถจําแนกไฟล์ว่าเป็นไฟล์มัลติมีเดียได้ จะส่งคืนข้อผิดพลาดและไม่มีชื่อฟอร์แมต ในกรณีนี้ให้ดูที่ช่องข้อมูล ชนิดไฟล์ แทน
FFmpeg ยังตั้งชื่อฟอร์แมตให้กับไฟล์ที่ไม่มีคอนเทนเนอร์แบบทั่วไป ตัวอย่างเช่นไฟล์ MP3 เป็นสตรีมของเฟรมเสียง ซึ่งมักจะมีแท็ก ID3
เหตุใดจึงสำคัญต่อไฟล์ของคุณ
คะแนนที่สูงจะมีความสำคัญมากกว่าชื่อไฟล์ ดังนั้นชื่อฟอร์แมตจึงมักแสดงคอนเทนเนอร์ที่ไฟล์ใช้งานจริง หากชื่อไฟล์ลงท้ายด้วย .mp3 แต่ชื่อฟอร์แมตคือ wav แสดงว่าไฟล์เริ่มต้นด้วยส่วนหัวแบบ WAV ชื่อไฟล์จึงไม่สอดคล้องกับเนื้อหา
ชื่อฟอร์แมตไม่ได้บอกคุณเสมอไปว่าไฟล์ใช้ codec ใดบ้าง Codec Long Name จะอธิบายว่าสตรีมหนึ่งภายในคอนเทนเนอร์ถูกเข้ารหัสอย่างไร ดังนั้นแต่ละสตรีมจะมีข้อมูลนี้ของตัวเอง
ตัวอย่างเช่น ไฟล์ MP4 สามารถบรรจุวิดีโอแบบ AVC (H.264), AV1 หรือ VP9 และเสียงแบบ AAC, FLAC หรือ Opus ดังนั้นชื่อฟอร์แมตเดียวกันจึงอาจปรากฏในไฟล์ที่ใช้ codec ต่างกันได้