Bütünlük kontrolü bir hatayla karşılaştığında ffmpeg'i durdurabilir miyim?


7

Bir hatayla karşılaşıldığında ffmpeg'in işlemesini durdurmanın bir yolu var mı? Video bütünlüğünü kontrol etmek için ffmpeg kullanıyorum:

ffmpeg -v error -i file.avi -f null - 2>error.log

Ancak, bir hata tanımlandığı anda süreci durdurmak için genişletmek istiyorum.

Yanıtlar:


6

Bunu zaten kendim merak ettim ve ffmpeg Bunu yapmak için kolay bir yol sağlamaz. Aldığım geri bildirimlere göre FFmpeg posta listesi , genel seçeneği kullanabilirsiniz

-err_detect explode

Bu seçenek her durumda işe yaramazsa da görünmüyor. Görmek ffmpeg -h full seçenek listesi için:

-f_err_detect      <flags>      .D.... set error detection flags (deprecated; use err_detect, save via avconv)
   crccheck                     .D.... verify embedded CRCs
   bitstream                    .D.... detect bitstream specification deviations
   buffer                       .D.... detect improper bitstream length
   explode                      .D.... abort decoding on minor error detection
   careful                      .D.... consider things that violate the spec and have not been seen in the wild as errors
   compliant                    .D.... consider all spec non compliancies as errors
   aggressive                   .D.... consider things that a sane encoder shouldnt do as an error
-err_detect        <flags>      .D.... set error detection flags
   crccheck                     .D.... verify embedded CRCs
   bitstream                    .D.... detect bitstream specification deviations
   buffer                       .D.... detect improper bitstream length
   explode                      .D.... abort decoding on minor error detection
   careful                      .D.... consider things that violate the spec and have not been seen in the wild as errors
   compliant                    .D.... consider all spec non compliancies as errors
   aggressive                   .D.... consider things that a sane encoder shouldnt do as an error

Teşekkürler! Bu seçeneği kullanacağım, bazı hataların yakalanması hiçbir şeyden daha iyidir :)
Kate

5

Bir seçenek olarak:

-xerror 

Komut satırı seçeneği tam olarak ne istersen onu yapmakla belgelenmiştir.

Seçeneği eklediğinizde ffmpeg bir akış hatasından çıkar (ayrıca çıkış değerini 1'e ayarlar):

ffmpeg -h full | grep xerror .... -xerror error exit on error

1
Çok teşekkürler, tam olarak istediğim bu, cevabın bu olduğuna inanıyorum. slhck'ın cevabı değil.
pylover
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.