Изменить звуковую дорожку видео без кодека

352
Daniel Marschall

У меня есть несколько файлов AVI старой игры Win 3.11, где я хочу изменить звуковую дорожку, не касаясь видео части.

У меня есть (правильный) кодек в виде файла * .drv (VfW; работает в Win95), но он 16-разрядный и, вероятно, является только декомпрессором. Но так как я хочу только прикоснуться к аудио части, мне не нужен видеокодек.

Однако я не могу открыть файл AVI в VirtualDub, потому что отсутствует видеокодек.

1

2 ответа на вопрос

1
Daniel Marschall

Я не нашел ответа на исходный вопрос, тогда как видеокодек неизвестен, но я нашел метод решения моей проблемы:

На машине с Win98 установлен 16-битный видеокодек (специальный кодек прозрачности видеоигры). Итак, я могу воспроизвести видео. Я установил VirtualDub на Win98, и я мог заменить звуковую дорожку, а для видео я мог сделать «прямое потоковое копирование».

Технически, также должно быть возможно сделать прямое потоковое копирование без видеокодека, но VirtualDub отказывается открывать видео, где видеокодек не установлен.

0
Eugen Rieck

Это довольно просто: Использование 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сочетания исходного изображения с новым звуком
Спасибо за ваш ответ. Это решает одну часть моей проблемы. Но как мне перезаписать звуковую дорожку 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