Linux'ta ffmpeg çalışırken hata


0

Bir windows makinesinde geliştiriyorum ve videoları kontrol etmek için aşağıdaki kodu başarıyla kullanıyordum:

ffmpeg -v error -i $file_path -f null - 2>&1

Linux’a yerleştirdikten sonra, Google’da hiçbir şey bulamadığım feryat hatası alıyorum.

Expected number for v but found: error

Bilgelik herhangi bir kelime ???


Hangi Linux dağıtımı bu? Bu soruna neden olur mu bilmiyorum ama Debian / Ubuntu depolarındaki 'ffmpeg' aslında avconv ; bu belki farklı bir sözdizimi vakası olabilir.
evilsoup

CentOS sürüm 6.4. Ben sadece sunucunun webroot dizinine giriyorum ve bu komutları PHP'nin exec () fonksiyonu ile çalıştırıyorum.
Kate

Yanıtlar:


0

-v ayrıntı düzeyi için bir sayı alır, bu yüzden yazmak gerekir -v 0 sadece hatalar için (orijinaline göre), veya -v 1 daha fazla bilgi için.


Teşekkürler towo. Ben -v 0 olarak değiştirdim, ancak sonuç sadece hatalardan daha fazla çıktı veriyor.
Kate

Garip, çünkü 0 sadece hata / ölümcül artı potansiyel pankartlar olmalı: ffmpeg-users.933282.n4.nabble.com/Verbosity-td934587.html
towo

Biliyorum, garip ve sinir bozucu! -V seçeneğinin devre dışı bırakılması mümkün mü?
Kate

Aslında, -v artık 0 olarak sayı almıyor. 2008’den bir konuya değiniyorsunuz, bu da bu durum arasında çok değişti. Doğru numaralar için cevabımı gör.
slhck

1

Belki de istediğin -err_detect bayrak?

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

Bu iyi bir seçenek, ancak benim durumumdaki çıktıyı da etkilemiyor: (... Bir hata olup olmadığını belirlemek için sonuç durumunu okudum.
Kate

1

Muhtemelen eski bir sürümünü kullanıyorsunuzdur. ffmpegBüyük olasılıkla CentOS ile birlikte gelen çok eski bir şey. Çekirdeğinize bağlı olarak statik bir yapı indir veya kendin yap En son sürümü edinmek için.

Sonra -v seçenek (veya -loglevel(aynı olan), aşağıdaki parametreleri kabul eder:

  • 'Sessiz' - Hiçbir şey gösterme; sessiz ol.
  • ‘Panik’ - Yalnızca sürecin çökmesine neden olabilecek ölümcül hataları gösterin,   gibi ve iddialı başarısızlık. Bu şu anda hiçbir şey için kullanılmamaktadır.
  • ‘Ölümcül’ - Sadece ölümcül hataları gösterir. Bunlar sonradan yapılan hatalardır.   süreç sonra kesinlikle devam edemez.
  • ‘Error’ - Kurtarılabilecekler de dahil olmak üzere tüm hataları göster.
  • ‘Warning’ - Tüm uyarı ve hataları göster. İle ilgili herhangi bir mesaj   muhtemelen yanlış veya beklenmeyen olaylar gösterilecektir.
  • ‘İnfo’ - İşlem sırasında bilgilendirici mesajları göster. Bu içinde   uyarı ve hatalara ek olarak. Bu varsayılan değerdir.
  • ‘Verbose’ - Daha ayrıntılı hariç, bilgi ile aynı.
  • ‘Debug’ - Hata ayıklama bilgileri dahil her şeyi gösterin.

O yapar sayıları kabul et, ancak bunlar sabit kodlanmış değerlerdir. içinde log.h dosya :

AV_LOG_QUIET    -8
AV_LOG_PANIC     0
AV_LOG_FATAL     8
AV_LOG_ERROR    16
AV_LOG_WARNING  24
AV_LOG_INFO     32
AV_LOG_VERBOSE  40
AV_LOG_DEBUG    48

Yani, eğer istersen bu sayıları kullanabilirsin, ama sadece dize gösterimlerini kullanmak daha kolay olacak.


Ffmpeg sürümü daha eski bir sürümdür: FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers" [1]=> string(73) " built on Jan 29 2012 17:52:15 with gcc 4.4.5 20110214 (Red Hat 4.4.5-6) ve ne yazık ki, yükseltmek için ayrıcalıklarım yok. Önerdiğin gibi, sabit kodlu sayıları kullanmayı denedim, ama ffmpeg öyle gözükmüyor ve geri geliyor The value for v was 16 which is not within -10.000000 - 10.000000
Kate

Kayıt numaraları 0.6.5 için aynıdır, ancak belki ayrıştırılma yöntemlerini değiştirdiler. Sürümü kendiniz değiştiremezseniz, sağlayıcınızdan size daha yeni bir sürüm sağlayabileceklerini sormayı düşünün - kaç hata kapatıldığına ve 0.6.5'ten bu yana iyileştirmeler yapıldığına inanmazsınız.
slhck

Parmaklarımı aşıp merhamet gösterip, kendilerini geliştirmelerini umuyorum. Katkıların için teşekkür ederim!!!
Kate
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.