แนวคิดที่ดีทั้งหมดเกี่ยวกับวิธีการซ่อมแซมดัชนี AVI ที่เสียหาย (การตั้งค่าของฉันffmpeg
) แต่การมีส่วนร่วมที่นี่เป็นวิธีในการค้นหาไฟล์ avi ที่มีดัชนีที่เสียหายเพื่อทดสอบและทำการซ่อมแซมเชิงรุก หลังจากพยายามใช้งานไม่สำเร็จmediainfo
ffprobe
และคนอื่น ๆ ตรวจสอบไฟล์ที่ vlc บ่นในที่สุดฉันก็ตัดสินใจใช้vlc
เพราะมันเป็นไฟล์ที่บ่น นี่คือตัวอย่างข้อมูลที่อาจเป็นประโยชน์ในส่วนหนึ่งของสคริปต์สแกนและซ่อมแซมอัตโนมัติ
if grep -q "avi demux error" \
<(cvlc --vout null --aout null --stop-time 2 "${VIDFILE}" vlc://quit 2>&1 )
# alternate ways to stop after two seconds
#<(timeout 2 cvlc --vout null --aout null "${VIDFILE}" 2>&1)
#<(cvlc --vout null --aout null "${VIDFILE}" 2>&1 & sleep 2; kill $!)
then
echo "avi demux error: ${VIDFILE}"
exit 1
fi
หมายเหตุ: การสลับหยุดวิธีการ (จึงไม่เล่นวิดีโอทั้งหมดก่อนที่จะออก) จะรวมอยู่เพราะบางรุ่นของ VLC มีข้อผิดพลาดใน --stop เวลาและระบบอื่น ๆ timeout
อาจไม่ได้