Yanıtlar:
Not defterinde açın, 'vids' için bir arama yapın - FOURCC hemen ardından. Örneğin şöyle bir şey bulacaksınız:
vidsWMV1
Ardından bu örnekte 'fourcc WMV1' için google.
Bu çok basit bir işlemdir ve GSpot Codec Information Tool kullanılarak yapılabilir . Sadece programı indirin ve yükleyin. Şimdi Başlat Menünüze gidin ve programı açın.
Dosyanın Video Codec Bileşeni için FourCC kodunu arayın
FourCC web sitesini ziyaret edin ve bu codec bileşenini kimin geliştirdiğini öğrenin
Şimdi codec'inizi indirmek için geliştiricilerin web sitesine gidebilirsiniz. Ayrıca wmplugins'in Codec bölümünü ziyaret edebilirsiniz .
Not: "Codec Pack" olarak etiketlenmiş veya FourCC web sitesinin üst kısmındaki bağlantılardan hiçbir şey indirmeyin. Bu, dosyalarınızı oynatırken beladan uzak durmanıza yardımcı olacaktır.
VLC, tüm platformlar için yerleşik Divx ve 3ivx desteğine sahiptir.
Sadece buna ihtiyacım vardı, bu (çok eski) sayfayı buldum ve 260 MB AVI'mı bir metin düzenleyiciye yüklememeye karar verdim, belki de çözümüm başka birine yardımcı olacak.
Unix benzeri bir kabuğunuz varsa, büyük olasılıkla yazdırılabilir karakter dizilerini bulan 'dizeler' adlı bir programınız vardır. Varsayılan olarak, minimum uzunluk dörttür, bu da bu ihtiyaç için iyidir. (Komut satırında değiştirilebilir.) 'Vids' ve fourcc çıktıda ardışık olur (ancak AVI'mda bir dize olmaz).
Sonucu 'daha fazla' gibi basit bir şeye bağlayabilir ve kendiniz bulabilirsiniz. Ya da kafaya borulayabilir ve ihtiyacınız olacak hat sayısını tahmin etmeyi umabilirsiniz. Ya da biraz daha sofistike olabilir ve sed yoluyla boru oluşturabilir ve istenen desene uyan çizgiyi yazdırabilirsiniz. Veya aynısını yapmak için awk kullanabilirsiniz. Cygwin bash kabuğumda, bu seçenekler şu komutlara benziyor:
dizeleri foo.avi | daha fazla
dizeleri foo.avi | kafa -10
dizeleri foo.avi | sed -n '/ vids /, + 1p'
dizeleri foo.avi | awk 'NR == 1, / vids / {if ($ 0 == "vids") {getline; Yazdır ; çıkış } } '
Üçüncü sürümün dezavantajı, tüm dosyayı sed süreci var, bu yüzden tamamlanması biraz zaman alabilir. İlk maçtan sonra onu durdurmanın bir yolu olduğuna eminim, ama bunu bilmek (veya bulmak) için sed konusunda yeterince uzman değilim. Koşul doğruysa awk sürümü açıkça durur (sonraki satırı alın, yazdırın, çıkın - sed komutunda +1 ve p olanların yalnızca ilk ikisi vardır). Hem sed hem de awk komutunda / vids /, ihtiyacımız olan normal ifadedir (yani Chris'in cevabındaki arama dizesi). Ayrıca, awk yapısı 'NR == 1, / vids /', 1 kodundan (ilk giriş satırı) bu normal ifadeyi (eşleşen dize) bulduğu yere aşağıdaki kod bloğunu uyguladığını söylüyor. İf koşulu, eşleşen tüm satırların yazdırılmasını engeller. Ben dizeleri komutu için iyi çalışması gereken tam satır ($ 0), maç var; dizeler zaten her satıra bir tane yazdırılır.
Bulduğu dizenin fazladan karakterler içerebileceğini unutmayın (örn. AVI dosyamdan 'strf (' dört cc'dir 'strf' değil) bulur. Eğer gerçekten dört karakterde kesmeniz gerekiyorsa (ör. standart bir listeyle eşleştirmek için), cevabı 'head -c 4' e bağlayabilir ve sadece fourcc'yi alabilirsiniz.
dizeleri foo.avi | awk 'NR == 1, / vids / {if ($ 0 == "vids") {getline; Yazdır ; çıkış}} '| kafa -c 4
FWIW, Windows Media Player, AVI'mdaki codec bileşenini hem ses hem de video için "-" olarak listeledi, ancak yukarıdaki gibi bekledi.
Umarım bu yazarak zaman harcadığım birine değdi! ;-)
Vay canına, Mark