Score:0

อาร์กิวเมนต์จากสคริปต์ทุบตีถึง ffprobe ตีความไม่ถูกต้อง

ธง pk

ฉันมีฟังก์ชั่นต่อไปนี้ในสคริปต์ทุบตี เมื่อฉันดำเนินการ ฉันมักจะได้รับสตริงที่ส่งคืนจากคำสั่ง ffprobe ที่มีข้อผิดพลาดในรูปแบบ:

อาร์กิวเมนต์ '-' ระบุเป็นชื่อไฟล์อินพุต แต่ระบุ '/media/Testing/Sorted/badfile.mp4' ไว้แล้ว

ฉันได้ลองย้ายอาร์กิวเมนต์ไปที่ ffprobe ภายในเครื่องหมายคำพูดสำหรับชื่อไฟล์ (ไม่สามารถแก้ปัญหาได้) ฉันได้ลองย้ายอาร์กิวเมนต์ไปยังอาร์เรย์และผ่าน "${array[@]}" (ไม่สามารถแก้ปัญหาได้) เห็นได้ชัดว่าฉันพลาดบางสิ่งที่เห็นได้ชัดที่นี่ฉันไปผิดที่ไหน

# วิดีโอขั้นตอน
#
# ใช้ชื่อไฟล์อินพุต (น่าจะเป็นไฟล์วิดีโอ แต่ฟังก์ชันไม่ใช่
# พยายามตรวจสอบสิ่งนั้นจริง ๆ ) และส่งต่อให้ ffprobe เพื่อทำขั้นพื้นฐาน 
# การประมวลผลของสตรีมวิดีโอ เราตั้งค่าสถานะเพื่อให้ข้อผิดพลาดใด ๆ เกิดขึ้น
# ทำให้ ffmpeg ออกพร้อมกับชุดรหัสข้อผิดพลาด หาก ffmpeg ตั้งรหัสข้อผิดพลาด เรา
# บันทึกชื่อไฟล์เป็นไฟล์
#
# ProcessVideo <เส้นทางไปยังวิดีโอ>

วิดีโอกระบวนการ ()
{
    vfn ท้องถิ่น = $1
    ec ท้องถิ่น = 0
    เอาต์พุตในเครื่อง
    echo "กำลังตรวจสอบวิดีโอ $vfn"
    oput=$(ffprobe -loglevel คำเตือน "$vfn" - 2>&1)
    อีซี=$?
# ถ้า (( ec > 0 ))
#   แล้ว
# echo "เกิดข้อผิดพลาดในการออกจาก $ec $vfn"
# LogErr "ข้อผิดพลาดในการออกจาก $ec $vfn"
#ฟิค
# ถ้า [[ "$oput" == *"moov atom"* ]]
    ถ้า [[ -n "$oput" ]]
    แล้ว
        echo "ข้อผิดพลาดสตริง $vfn"
        LogErr "ข้อผิดพลาดสตริง $vfn"
        LogErr "$oput"
    ไฟ
}

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

hr flag
คุณแน่ใจหรือว่าปัญหาเกิดขึ้นกับอาร์กิวเมนต์ *pass* ไปยังฟังก์ชัน - ไม่ใช่ฮาร์ดโค้ด `-` ที่คุณมีใน `$(ffprobe -loglevel warning "$vfn" - 2>&1)` ?
Cyrus avatar
cn flag
ffprobe ควรอ่านจาก "$vfn" หรือจาก stdin?
Tracy avatar
pk flag
ขอบคุณทั้งคู่สำหรับการชี้ข้อผิดพลาด - ฉันกำลังโฟกัสที่ '-' ผิด นี่คือสิ่งที่ฉันได้รับจากการปรับสคริปต์เพื่อวัตถุประสงค์อื่นโดยไม่ต้องเขียนส่วนที่เกี่ยวข้องใหม่ทั้งหมด

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา