Как мне найти кодек для AVI?

19

Как я могу найти, какой кодек нужен AVI-файл? Предпочтителен метод, который не требует загрузки программы (например, просмотр файла в блокноте).

Пересекать
источник

Ответы:

24

Откройте в блокноте, выполните поиск «vids» - FOURCC сразу после этого. Например, вы найдете что-то вроде:

vidsWMV1

Затем Google для 'Fourcc WMV1' в этом примере.

Крис
источник
1
Интересное решение, не знал об этом. +1
Саша Чедыгов
Ницца! К вашему сведению, это также будет работать на macOS с TextEdit или другими текстовыми редакторами. Мне нравятся эти простые подходы, которые не требуют специального программного обеспечения.
EJ Мак
21

Это очень простой процесс, который можно выполнить с помощью средства информации о кодеках GSpot . Просто скачайте программу и установите ее. Теперь зайдите в меню «Пуск» и откройте программу.

  1. Выбрать файл | Откройте и выберите файл AVI
  2. Ищите код FourCC для видео кодека файла

  3. Посетите веб-сайт FourCC и узнайте, кто разрабатывает этот кодек

  4. Теперь вы можете перейти на сайт разработчиков, чтобы загрузить кодек. Вы также можете посетить раздел кодеков wmplugins.

Примечание. Не загружайте ничего, помеченного как «Пакет кодеков» или по ссылкам в верхней части веб-сайта FourCC. Это поможет вам избежать проблем при воспроизведении файлов.

VLC имеет встроенную поддержку Divx и 3ivx для всех платформ.

Источник: http://msmvps.com/blogs/chrisl/articles/11529.aspx

Джо
источник
4
Я думаю, что он предпочел бы метод, который не требует загрузки программы.
HyperSlug
13
GSpot <200 КБ и не требует установки. Загрузка и запуск, вероятно, будет быстрее, чем попытка загрузить видеофайл в Блокнот.
Badaro
1
Хороший ответ, но это был не тот ответ, который я искал.
К. Росс
@Badaro согласился, что GSpot - лучший. У меня есть небольшая папка с именем «Другие программы» на моем E: \ Secondary HDD только для хранения программ, подобных этим. очень быстрое решение, и оно работает для всех форматов AVI
Jake
@Badaro Даже если вам удастся загрузить его, поиск будет кошмарным с точки зрения производительности.
jpmc26
0

Мне просто нужно было это, я нашел эту (очень старую) страницу и решил, что не буду загружать свой 260 МБ AVI в текстовый редактор, поэтому, возможно, мое решение поможет кому-то еще.

Если у вас Unix-подобная оболочка, у вас, вероятно, есть программа под названием 'strings', которая находит последовательности печатных символов. По умолчанию минимальная длина составляет четыре, что хорошо для этой необходимости. (Это может быть изменено в командной строке.) 'Vids' и fourcc будут последовательно в выводе (но не одна строка в моем AVI).

Вы можете передать результат в нечто простое, например, «больше» и найти его самостоятельно. Или вы можете добавить это в голову и надеяться угадать, сколько строк вам понадобится. Или вы можете быть немного более изощренным и пропустить его через sed и напечатать строку, которая соответствует желаемому шаблону. Или вы можете использовать awk, чтобы сделать то же самое. На моей оболочке cygwin bash эти параметры выглядят так:

струны foo.avi | больше
строк foo.avi | голова -10
строк foo.avi |
строки sed -n '/ vids /, + 1p' foo.avi | awk 'NR == 1, / vids / {if ($ 0 == "vids") {getline; Распечатать ; выход } } '

Недостатком третьей версии является то, что я обработал весь файл, поэтому для его завершения может потребоваться некоторое время. Я уверен, что есть способ остановить его после первого матча, но я не достаточно опытен с sed, чтобы знать (или находить) это. Версия awk явно останавливается, если условие истинно (получить следующую строку, вывести ее, выйти - тогда как команда sed имеет только первые два из них с +1 и p). В командах sed и awk / vids / - это регулярное выражение, которое нам нужно (т.е. строка поиска в ответе Криса выше). Кроме того, конструкция awk 'NR == 1, / vids /' говорит о том, чтобы применить следующий блок кода к строкам от номера 1 (первая строка ввода), где бы оно ни находило это регулярное выражение (совпадающая строка). Условие if не позволяет печатать все строки до той, которая соответствует. У меня это соответствует полной строке ($ 0), что для команды strings, должно работать нормально; в любом случае строки печатаются по одной на строку.

Обратите внимание, что найденная строка может содержать дополнительные символы (например, из моего AVI-файла он находит 'strf (' не 'strf', который равен fourcc). Если вам действительно нужно разделить его на четыре символа (например, для сценария, который требует чтобы сопоставить его со стандартным списком), вы можете передать ответ 'head -c 4' и получить только четыре куба. Вот мой окончательный ответ:

струны foo.avi | awk 'NR == 1, / vids / {if ($ 0 == "vids") {getline; Распечатать ; выход}} '| голова -c 4

FWIW, Windows Media Player перечислил кодек в моем AVI как «-» для аудио и видео, но вышеупомянутый работал как ожидалось.

Я надеюсь, что это того стоило кому-то, что я потратил время, набирая это! ;-)

Вот так, Марк

отметка
источник