У меня есть несколько файлов AVI старой игры Win 3.11, где я хочу изменить звуковую дорожку, не касаясь видео части.
У меня есть (правильный) кодек в виде файла * .drv (VfW; работает в Win95), но он 16-разрядный и, вероятно, является только декомпрессором. Но так как я хочу только прикоснуться к аудио части, мне не нужен видеокодек.
Однако я не могу открыть файл AVI в VirtualDub, потому что отсутствует видеокодек.
2 ответа на вопрос
1
Daniel Marschall
Я не нашел ответа на исходный вопрос, тогда как видеокодек неизвестен, но я нашел метод решения моей проблемы:
На машине с Win98 установлен 16-битный видеокодек (специальный кодек прозрачности видеоигры). Итак, я могу воспроизвести видео. Я установил VirtualDub на Win98, и я мог заменить звуковую дорожку, а для видео я мог сделать «прямое потоковое копирование».
Технически, также должно быть возможно сделать прямое потоковое копирование без видеокодека, но VirtualDub отказывается открывать видео, где видеокодек не установлен.
будет извлекать звуковую дорожку только в формате 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сочетания исходного изображения с новым звуком
Спасибо за ваш ответ. Это решает одну часть моей проблемы. Но как мне перезаписать звуковую дорожку AVI-файла? удалить звуковую дорожку (это PCM), а затем заменить ее новой звуковой дорожкой? Будут ли серьезные проблемы, если звуковая дорожка не составляет 100% от длины видео?
Daniel Marschall 9 лет назад
0
@rinntech Смотрите мои изменения!
Eugen Rieck 9 лет назад
0
Большое спасибо :-) Теперь я понимаю синтаксис ffmpeg, но, увы, проблема все еще остается. Поток, кажется, скопирован, но видео в Win98 невозможно открыть: «Кодек отсутствует» (установлен 16-битный кодек). Исходное видео имеет тот же код FourCC, что и новое видео (я также проверил его с помощью GSpot). Старое видео можно открыть без проблем. Вот мой вывод ffmpeg: http://pastebin.com/FuPCKy0K. Я не знаю, связано ли с этим предупреждение "max_analyze_duration", но даже `-analyzeduration 100000000000000` не помогает.
Daniel Marschall 9 лет назад
0
Я думаю, что это может быть в случае ** аудио ** отсутствует кодек! Можете ли вы воспроизвести аудиофайл на Win98? Кстати: ffmpeg, кажется, знает ваш видеокодек - вы можете попробовать преобразовать его в более современный кодек.
Eugen Rieck 9 лет назад
0
Да, я слышу звук. Я попытаюсь запустить ffmpeg на Win98 (там, где существует 16-битный кодек). Я не хочу превращать его в современный кодек. Мне бы хотелось, чтобы игра могла читать измененное видео, и в ней используется специальный «прозрачный AVI» кодек. ffmpeg не может знать мой кодек. Это кодек, который использовался только в этой старой игре, и я запустил ffmpeg на отдельной машине с Linux, где я хочу выполнить пакетную обработку всех AVI-файлов игры.
Daniel Marschall 9 лет назад
0