У меня есть несколько AVI-файлов старой игры для Win 3.11, в которых я хочу изменить звуковую дорожку, не трогая видеочасть.
У меня есть (собственный) кодек в виде *.drv-файла (VfW; работает в Win95), но он 16-битный и, вероятно, является только декомпрессором. Но поскольку я хочу затронуть только аудиочасть, мне не нужен видеокодек.
Однако я не могу открыть файл AVI в VirtualDub, поскольку отсутствует видеокодек.
решение1
Я не нашел ответа на исходный вопрос, так как видеокодек неизвестен, но я нашел способ решить свою проблему:
На машине Win98 установлен 16-битный видеокодек (специальный кодек прозрачности видеоигры). Поэтому я могу воспроизводить видео. Я установил VirtualDub на Win98, и поэтому я мог заменить звуковую дорожку, а для видеочасти я мог сделать "прямое потоковое копирование".
Технически, также должно быть возможно выполнять прямое потоковое копирование без видеокодека, но VirtualDub отказывается открывать видео, в котором видеокодек не установлен.
решение2
Это довольно просто: используйте ffmpeg
:
ffmpeg -i yourfile.avi -c:v copy -c:a mp3 yournewfile.avi
например, создаст новый файл, в котором видеодорожка просто скопирована, а звуковая дорожка преобразована в MP3.
ffmpeg -i yourfile.avi -vn -c:a mp3 yournewfile.mp3
извлечет звуковую дорожку только в формате MP3.
РЕДАКТИРОВАТЬ
Возможный рабочий процесс замены саундтрека будет следующим:
- Используйте что-то вроде
ffmpeg -i yourfile.avi -vn -c:a copy yournewfile.wav
для извлечения саундтрека - Управляйте саундтреком по своему желанию
- Используйте что-то вроде того
ffmpeg -i yourfile.avi -i manipulatedsound.wav -map '0:V' -map '1:A' -c copy finalfile.avi
, чтобы объединить оригинальное изображение с новым звуком.