Как открыть первые n байтов файла в шестнадцатеричном формате и отредактировать его?
Я хочу отредактировать некоторые видео.avi (вырезать их, если быть точным) в VirtualDub, но он не смог открыть файлы. Они закодированы в xvid, который я установил, и играют в KMPlayer без проблем. Кроме того, все другие видео xvid могут быть легко открыты и вырезаны VirtualDub.
Я подозреваю, что что-то не так в первых нескольких байтах этих видео (магическое число?). Это означает, что я должен открыть файлы, нарушающие работу, в шестнадцатеричном редакторе и внести некоторые необходимые изменения в заголовок. Проблема в том, что они очень большие (> 3 ГБ каждая) и открываются в UltraEdit очень долго.
Может ли UltraEdit открыть только первые несколько байтов файла? Если нет, знаете ли вы приложение, которое может это сделать?
Изменить: я использую Windows XP.
2 ответа
Нет, насколько мне известно (пользователь UltraEdit с 1998 года) UltraEdit считывает весь файл в память, и есть также некоторые недостатки, которые описаны в комментариях к этому вопросу (и дальнейшие недостатки при открытии больших файлов HTML).
Однако, если ваша система работает (64-битная Windows и достаточно оперативной памяти) и временные файлы отключены для больших файлов (меню "Дополнительно" /"Конфигурация" /"Обработка файлов" /"Временные файлы" /"Отключить временные файлы при открытии больших файлов (больше 2) Мб)") тогда должно получиться немного терпения.
Шестнадцатеричные редакторы для больших файлов
HxD. Из функций: "Мгновенное открытие независимо от размера файла. Открытие и редактирование очень быстро"
Из списка шестнадцатеричных редакторов я нашел wxHexEditor, который выглядит многообещающе:
- Он не копирует весь файл в вашу оперативную память.
- Использование памяти: в настоящее время ~25 МБ при открытых нескольких файлах> ~8 ГБ.
- Вы можете работать с байтами удаления / вставки в файл более одного раза, не создавая временный файл!
- Он поддерживает файлы размером до 2^64 байт. Помимо Linux его можно использовать с другими операционными системами, такими как Windows и Mac OS.
Я не проверял их, хотя.
Недавно я опубликовал Hexinator - бесплатный шестнадцатеричный редактор для Windows и Linux, который позволяет мгновенно открывать файлы неограниченного размера - в память загружается только видимая часть.
Несвободная часть позволяет вам применять "грамматику" к двоичным файлам, которая позволяет автоматически декодировать файлы. Уже есть (бесплатная) грамматика для файлов WAV, которая основана на RIFF, как AVI. Вы можете попытаться применить эту грамматику и посмотреть, где она плохо разбирается.