Jak znaleźć kodek dla AVI?


19

Jak znaleźć kodek, którego potrzebuje plik AVI? Preferowana byłaby metoda, która nie wymaga pobierania programu (na przykład przeglądanie pliku w notatniku).

Odpowiedzi:


24

Otwórz w notatniku i wyszukaj „vids” - FOURCC zaraz po tym. Np. Znajdziesz coś takiego:

vidsWMV1

Następnie w tym przykładzie przejdź do wyszukiwarki „fourcc WMV1”.


1
Ciekawe rozwiązanie, nie wiedziałem o tym. +1
Sasha Chedygov

Ładny! Do Twojej wiadomości, będzie to również działać na macOS z TextEdit lub innymi edytorami tekstu. Uwielbiam te proste podejścia, które nie wymagają specjalnego oprogramowania.
EJ Mak

21

Jest to bardzo prosty proces, który można wykonać za pomocą narzędzia do kodowania informacji GSpot . Wystarczy pobrać program i zainstalować go. Teraz przejdź do menu Start i otwórz program.

  1. Wybierz Plik | Otwórz i wybierz plik AVI
  2. Poszukaj kodu FourCC dla kodeku wideo tego pliku

  3. Odwiedź stronę FourCC i dowiedz się, kto opracowuje ten kodek

  4. Możesz teraz przejść do tej witryny programistów, aby pobrać kodek. Możesz również odwiedzić sekcję Kodek wmmplugins.

Uwaga: Nie pobieraj niczego oznaczonego jako „Pakiet kodeków” ani z linków na górze strony FourCC. Pomoże to uniknąć kłopotów podczas odtwarzania plików.

VLC ma wbudowane wsparcie dla Divx i 3ivx dla wszystkich platform.

Źródło: http://msmvps.com/blogs/chrisl/articles/11529.aspx


4
Myślę, że wolałby metodę, która nie wymaga pobierania programu.
hyperslug

13
GSpot ma wielkość <200 KB i nie wymaga instalacji. Pobranie i uruchomienie będzie prawdopodobnie szybsze niż próba załadowania pliku wideo w Notatniku.
Badaro

1
Dobra odpowiedź, ale nie takiej odpowiedzi szukałem.
C. Ross

@Badaro zgodził się, że GSpot jest najlepszy. Mam mały folder o nazwie „Inne programy” na moim dodatkowym dysku twardym E: \ tylko do przechowywania takich programów. bardzo szybkie rozwiązanie i działa dla wszystkich formatów AVI
Jake

@Badaro Nawet jeśli uda ci się go załadować, wyszukiwanie będzie koszmarem pod względem wydajności.
jpmc26,

0

Właśnie tego potrzebowałem, znalazłem tę (bardzo starą) stronę i zdecydowałem, że wolę nie ładować 260 MB AVI do edytora tekstu, więc może moje rozwiązanie pomoże komuś innemu.

Jeśli masz powłokę podobną do Uniksa, prawdopodobnie masz program o nazwie „łańcuchy”, który znajduje sekwencje znaków do wydrukowania. Domyślnie minimalna długość to cztery, co jest wystarczające do tej potrzeby. (Można to zmienić w wierszu poleceń.) „Vids” i fourcc będą kolejne w danych wyjściowych (ale nie jeden ciąg w moim AVI).

Możesz podzielić wynik na coś prostego, na przykład „więcej” i sam go znaleźć. Możesz też wpiąć go w głowę i mieć nadzieję, że zgadniesz, ile linii potrzebujesz. Lub możesz być nieco bardziej wyrafinowany i przepuścić go przez sed i wydrukować linię pasującą do pożądanego wzoru. Lub możesz użyć awk, aby zrobić to samo. W mojej powłoce cygwin bash te opcje wyglądają następująco:

strings foo.avi | więcej
ciągów foo.avi | head -10
struny foo.avi | sed -n '/ vids /, + 1p'
strings foo.avi | awk 'NR == 1, / vids / {if (0 $ == "vids") {getline; wydrukować; wyjście } } '

Wadą trzeciej wersji jest to, że przetworzyłem cały plik, więc jego ukończenie może trochę potrwać. Jestem pewien, że jest sposób, aby zatrzymać to po pierwszym meczu, ale nie jestem wystarczająco ekspertem w sed, aby to wiedzieć (lub znaleźć). Wersja awk wyraźnie zatrzymuje się, jeśli warunek jest spełniony (pobierz następny wiersz, wypisz to, wyjdź - podczas gdy komenda sed ma tylko dwie pierwsze z literami +1 i p). Zarówno w komendach sed, jak i awk, / vids / jest potrzebnym wyrażeniem regularnym (tj. Ciąg wyszukiwania w odpowiedzi Chrisa powyżej). Również konstrukcja awk „NR == 1, / vids /” mówi o zastosowaniu następującego bloku kodu do linii od numeru 1 (pierwsza linia wejściowa) do każdego miejsca, w którym znajdzie to wyrażenie regularne (pasujący ciąg). Warunek if uniemożliwia wydrukowanie wszystkich wierszy do pasującego. Mam go dopasować do pełnej linii ($ 0), która dla polecenia string powinna działać poprawnie; i tak ciągi są drukowane po jednym w wierszu.

Zauważ, że znaleziony ciąg znaków może również zawierać dodatkowe znaki (np. Z mojego pliku AVI znajduje „strf” („nie” strf ”, co oznacza fourcc). Jeśli naprawdę potrzebujesz go pokroić na cztery znaki (np. Dla skryptu, który potrzebuje aby dopasować ją do standardowej listy), możesz przesłać odpowiedź do 'head -c 4' i uzyskać tylko fourcc. Oto moja ostatnia odpowiedź:

strings foo.avi | awk 'NR == 1, / vids / {if (0 $ == "vids") {getline; wydrukować; exit}} '| głowa -c 4

FWIW, Windows Media Player wymienił kodek w moim AVI jako „-” zarówno dla audio, jak i wideo, ale powyższe działało zgodnie z oczekiwaniami.

Mam nadzieję, że warto było komuś, że spędziłem czas na pisaniu tego! ;-)

Uff, Mark

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.