ffmpeg - ข้ามกระบวนการหากมีอยู่แล้วเอาท์พุท


20

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

คำตอบ:


29

จากffmpegเอกสาร :

-n (โกลบอล)
อย่าเขียนทับไฟล์เอาต์พุตและออกทันทีหากไฟล์เอาต์พุตที่ระบุมีอยู่แล้ว

การใช้งาน:

$ ffmpeg -n -i input output.mp4
  …
  File 'output.mp4' already exists. Exiting.
  • -nเป็นตัวเลือกระดับโลก ควรระบุตัวเลือกสากลก่อน
  • ตัวเลือกตรงข้ามคือ-yซึ่งจะเขียนทับผลลัพธ์โดยอัตโนมัติโดยไม่ต้องถาม

3

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

เมื่อคุณตรวจสอบแล้วว่ามีสคริปต์อยู่แล้วคุณสามารถไปยังไฟล์ถัดไปเพื่อประมวลผลได้


stackoverflow.com/a/638980/1265980นี้สามารถช่วยได้
Ereli

1
หากคุณใช้ python คุณสามารถตรวจสอบไฟล์ที่มีอยู่โดยใช้ pathlib - stackoverflow.com/a/82852/1265980
Ereli
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.