Belgelerde gördüğüm gibi: "Bu giriş aygıtını etkinleştirmek için ... Windows'ta IDL dosyalarını widl aracılığıyla çalıştırmanız gerekir". Birisi lütfen ne anlama geldiğini açıklayabilir: "IDL dosyalarını widl aracılığıyla çalıştırmanız gerekir" ve bunun nasıl yapılacağı?
Kısa cevap
Senin durumunda böyle bir şey yapmana gerek yok. Bu, DeckLink desteğiyle sıfırdan FFmpeg oluşturma sürecindeki bir adıma atıfta bulunmaktadır (bu, bağlantı kurduğunuz ikili dosyayı oluştururken sizin için yapıldı).
Sorun giderme
[NULL @ XXXXXXXXXXXXXXXX] Requested output format 'XYZ' is not a suitable output format genellikle FFmpeg komutunuzda yanlış bir şeyler olduğunu gösteren genel bir hatadır (yani "yanlış" seçenekleri veya seçeneklerin birleşimini belirttiniz).
Bu, muhtemelen farklı bir problemin olduğunu söyledi . Bağlanacağınız derlemenin --enable-decklink seçeneğini (listelendiği gibi) desteklemesi gerektiği gerçeğine rağmen, DeckLink desteğinin gerektirdiği başka bir seçenek ( --disable-w32threads ) eksik (en azından yamalar olmadan). Bu seçeneği destekleyen en son yapı görünüşte 10 Aralık 2016 yapımıydı ( ffmpeg-20161210-edb4f5d ).
Ne yazık ki, bu yapı artık kolay erişilebilir görünmüyor. Bir sonraki en iyi seçenek , eski Zeranoe 32-bit ve 64-bit derleme dizinlerinden hala mevcut olan v3.2 yapılarını (örneğin ffmpeg-3.2-win64-static.zip ) denemek olacaktır .
Not: Konfigürasyon seçenekleri (hangi FFmpeg seçeneğiyle oluşturulmuş) konfigürasyon başlığında listelenmiştir, komut satırına "ffmpeg" yazmanız yeterlidir.
Uzun cevap
Bir Arabirim Tanım Dili (IDL) şunun için bir yoldur:
[...] bir arayüzü, dilden bağımsız bir şekilde tanımlayarak, bir dili paylaşmayan yazılım bileşenleri arasında iletişimi sağlar.
Bu durumda, Black Magic Design ( DeckLink yakalama kartları serisini üreten ), DeckLink destekli FFmpeg oluştururken kullanılması gereken, görünüşe göre gerekli olan bir takım IDL dosyalarına sahip bir Yazılım Geliştirme Kiti (SDK) sunar.
IDL dosyaları çeşitli durumlarda kullanılabildiğinden, belirli bir araç zincirinde diğer uygulamalarla birlikte kullanılabilecek dosyalar oluşturmak için bir IDL derleyicisinden çalıştırılması gerekir. WIDL olan Şarap yerine kullanılabilecek Arayüz Tanımlama Dili derleyici, MIDL (Arabirim tanımı dili derleyici). widl, MinGW- w64 ile birlikte gelir ve Linux'ta kullanılabilir olduğundan, bunun en azından önerilen nedenlerin bir parçası olduğundan şüpheleniyorum.
Widl'in kullanım örneklerini bulamadığım halde (yukarıda bağlantı verilen man sayfasından başka), bu eski Zeranoe forum mesajı , midl'nin gerekli IDL dosyalarını örneğin wl'ye benzer şekilde işlemek için kullanılabileceğini öne sürüyor:
midl /h DeckLinkAPI.h DeckLinkAPI.idl
burada / h, midl için başlık anahtarıdır (karşılaştırılabilir anahtar, widl'de -h'dir). Sonuçta ortaya çıkan dosyalar daha sonra --extra-cflagsve --extra-ldflagsseçenekleriyle birlikte kullanılır .
Not: Bu çok daha yeni yazı , DeckLinkAPI.h, DeckLinkAPI_i.c ve DeckLinkAPIVersion.h (sonuncusu SDK'ya dönüşüm olmadan dahil edilmiştir) kullanımını gösterir. Bunların sadece gerekli dosyalar olup olmadığı benim için net değil. Gönderi aynı zamanda yukarıda belirtildiği gibi "--disable-w32threads" ile binaya atıfta bulunuyor.