Вопрос

У меня есть инструмент, который выводит видео из 3D-приложения, а затем объединяет отдельные видео в последовательность.Но кажется, что звук в последовательности не синхронизирован (отдельные файлы в порядке), и он заикается в VLC и Quicktime.Проигрыватель Windows Media, кажется, справляется с этим хуже, чем я предполагал, но все равно он не синхронизируется.У меня два сенария, один работает, а другой нет, но мне нужно, чтобы оба работали:

Работает:
получить уже созданные мовы ...

преобразовать в avi:
os.system( ffmpeg + " -i C:\clip.mov -sameq -r 24 -y C:\clip.avi")

преобразовать последовательность в avi:
os.system( ffmpeg + ''' -i concat: C:\clip.avi|C:\clip1.avi|C:\clip2.avi -sameq -r 24 -y C:\sequence.avi''' )

преобразовать последовательность в mov:
os.system( ffmpeg + " -i C:\sequence.avi -sameq -r 24 -y C:\sequence.mov")

Не работает: создавать индивидуальные avi из 3D программы ...

обрезать до нужной длины:
os.system(ffmpeg + " -i C:\clip.avi -sameq -r 24 -ss " + startTime + " -vframes " + totalFrames + " -y C:\clip.avi" )

преобразовать последовательность в avi:
os.system( ffmpeg + ''' -i concat: C:\clip.avi|C:\clip1.avi|C:\clip2.avi -sameq -r 24 -y C:\sequence.avi''' )

преобразовать последовательность в mov: os.system( ffmpeg + " -i C:\sequence.avi -sameq -r 24 -y C:\sequence.mov")

конвертировать отдельные avi в mov: os.system( ffmpeg + " -i C:\clip.avi-sameq -r 24 -y C:\clip.mov")

Пожалуйста, дайте мне знать, где я ошибся?

Это было полезно?

Решение

Оказывается, во время резки использовался флаг "-sameq".Звук был испорчен, поэтому я просто изменил

родовое слово

в

родовое слово

- принуждение ffmpeg к использованию pcm_s16le в качестве аудиокодека вместо несинхронизированного, которое использовал -sameq ... и это исправило!

Надеюсь, это поможет кому-то другому.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top