พจนานุกรม

Probe score หมายถึงอะไร?

คะแนน probe เป็นตัวเลขตั้งแต่ 0 ถึง 100 ซึ่งแสดงระดับความมั่นใจของ FFmpeg เกี่ยวกับรูปแบบคอนเทนเนอร์ของไฟล์

probe-score

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

คะแนนเป็นจำนวนเต็มตั้งแต่ 0 ถึง 100 และตัวเลขที่สูงกว่าจะหมายถึงความตรงกันที่มากขึ้น คะแนนนี้อธิบายเฉพาะรูปแบบคอนเทนเนอร์ เช่น MKV หรือ MP4 เท่านั้น คะแนนนี้ไม่ได้วัดคุณภาพของเสียงหรือภาพ

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

คะแนน probe จะไม่ถูกเก็บไว้ในไฟล์ของคุณ FFmpeg จะคำนวณตัวเลขนี้ใหม่ทุกครั้งที่เปิดไฟล์

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

FFmpeg เริ่มจากข้อมูล 2048 ไบต์ หากไม่มีรูปแบบใดได้คะแนนมากกว่า 25 FFmpeg จะเพิ่มปริมาณข้อมูลเป็นสองเท่าแล้วลองใหม่

ค่าจำกัดเริ่มต้นคือ 1,048,576 ไบต์ หรือประมาณ 1 MB ในความพยายามครั้งสุดท้าย คะแนนที่มากกว่า 0 ใดๆ ก็เพียงพอแล้ว

หากอินพุตรายงาน ชนิด MIME ที่ตรงกับรูปแบบหนึ่งรูปแบบนั้นจะได้คะแนนเพิ่มอีก 30 คะแนน สูงสุดไม่เกิน 100 หากมี 2 รูปแบบได้คะแนนสูงสุดเท่ากัน FFmpeg จะปฏิเสธทั้งคู่ หากไม่เหลือรูปแบบใดเลยหลังจากความพยายามครั้งสุดท้าย FFmpeg จะหยุดทำงานพร้อมข้อผิดพลาด Invalid data found when processing input

ส่วนขยายไฟล์มีผลต่อคะแนนอย่างไร

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

เมื่อรูปแบบหนึ่งมีไดเท็กเตอร์ นามสกุลที่ตรงกันมักจะช่วยยกคะแนนจาก 0 เป็นเพียง 1 รูปแบบที่ไม่มีไดเท็กเตอร์จะขึ้นกับนามสกุล และการตรงกันจะให้คะแนนรูปแบบนั้นเป็น 50 หากต้องการตรวจสอบนามสกุลที่น่าสงสัย ให้เปรียบเทียบนามสกุลกับชื่อรูปแบบที่ ffprobe รายงานไว้ข้างคะแนน

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

เมื่อใช้ตัวเลือก -show_format ffprobe จะแสดงคะแนนเป็นบรรทัดหนึ่งในส่วนของ format: probe_score=100 รายงานแบบ XML ของ ffprobe จะมีตัวเลขเดียวกันในแอตทริบิวต์ชื่อ probe_score

ค่าทั่วไป

ตัวอย่างเหล่านี้มาจากซอร์สโค้ด FFmpeg 9.0 เวอร์ชันอื่นอาจให้ตัวเลขอื่น เช่น 51 สำหรับตัวอย่าง MP3 ใน FFmpeg 8.1

  • 100: ไฟล์ MP4 หรือ MOV ที่มีส่วนชื่อ ftyp หรือ moov
  • 100: ไฟล์ Matroska หรือ WebM ที่มีชนิดเอกสารที่รู้จัก
  • 100: ไฟล์ FLAC ที่มีข้อมูลสตรีมที่ถูกต้อง
  • 99: ไฟล์ WAV ที่มีส่วนหัว RIFF มาตรฐาน
  • 52: ไฟล์ MP3 ที่มีเฟรมเสียงอย่างน้อย 7 เฟรมที่จุดเริ่มต้น
  • 51: ไฟล์ AAC ในรูปแบบ ADTS ที่มีเฟรมเสียงอย่างน้อย 3 เฟรมที่จุดเริ่มต้น
  • 50: ไฟล์ในรูปแบบที่ไม่มีไดเท็กเตอร์ โดยตรงกันจากนามสกุลไฟล์เท่านั้น
  • 0: ไฟล์ที่ถูกบังคับกำหนดรูปแบบด้วยตัวเลือก -f ทำให้ FFmpeg ข้ามขั้นตอนการตรวจจับ

เหตุใดจึงสำคัญต่อไฟล์ของคุณ

คะแนนที่ตรวจพบได้ 25 หรือน้อยกว่านั้นเป็นสัญญาณเตือน ไม่ใช่หลักฐานของความผิดปกติ จากนั้น FFmpeg จะแสดงข้อความที่มีคำว่า misdetection possible ซึ่งหมายความว่า FFmpeg อาจเลือกใช้รูปแบบผิด

คะแนนใกล้ 50 ถือว่าเป็นปกติสำหรับไฟล์ MP3 และ AAC เนื่องจากไดเท็กเตอร์ของไฟล์เหล่านี้จะไม่ให้คะแนนเกิน 52 ดังนั้นคะแนน 51 หรือ 52 จึงไม่ได้หมายความว่าไฟล์ MP3 ของคุณมีปัญหา

สำหรับคะแนนที่ตรวจพบได้ 25 หรือน้อยกว่า เอกสารสำหรับนักพัฒนา FFmpeg แนะนำให้ลองใหม่ด้วยข้อมูลที่มากขึ้น ตัวเลือก -formatprobesize ใช้กำหนดขีดจำกัดการตรวจจับรูปแบบเป็นจำนวนไบต์ ส่วนตัวเลือก -probesize และ -analyzeduration มีหน้าที่ต่างกัน คือจำกัดข้อมูลที่ FFmpeg อ่านเพื่อค้นหารายละเอียดของสตรีม

คีย์เมตา