Я использую VirtualDub 1.10.4 для захвата аудио и видео с устройства DirectShow только для видео:
[dshow @ 0000018baeadb920] DirectShow video device options (from video devices)
[dshow @ 0000018baeadb920] Pin "Video YUV Out" (alternative pin name "2")
[dshow @ 0000018baeadb920] pixel_format=uyvy422 min s=160x120 fps=25 max s=720x576 fps=25
[dshow @ 0000018baeadb920] pixel_format=uyvy422 min s=160x120 fps=29.97 max s=720x486 fps=29.97
[dshow @ 0000018baeadb920] pixel_format=uyvy422 min s=160x120 fps=29.97 max s=720x480 fps=29.97
[dshow @ 0000018baeadb920] Pin "Audio PCM Out" (alternative pin name "3")
[dshow @ 0000018baeadb920] Crossbar Switching Information for ezcap Video Grabber:
[dshow @ 0000018baeadb920] Crossbar Output pin 0: "Video Decoder" related output pin: 1 current input pin: 1 compatible input pins: 1 2
[dshow @ 0000018baeadb920] Crossbar Output pin 1: "Audio Decoder" related output pin: 0 current input pin: 5 compatible input pins: 5
[dshow @ 0000018baeadb920] Crossbar Input pin 0 - "Video Tuner" related input pin: 4
[dshow @ 0000018baeadb920] Crossbar Input pin 1 - "Video Composite" related input pin: 5
[dshow @ 0000018baeadb920] Crossbar Input pin 2 - "S-Video" related input pin: 5
[dshow @ 0000018baeadb920] Crossbar Input pin 3 - "Video YRYBY" related input pin: 5
[dshow @ 0000018baeadb920] Crossbar Input pin 4 - "Audio Tuner" related input pin: 0
[dshow @ 0000018baeadb920] Crossbar Input pin 5 - "Audio Line" related input pin: 1
По какой-то причине, когда я начинаю захват, я получаю черный экран в течение 2 секунд, затем еще примерно 2 секунды он как бы мигает, и только после этого начинается захват. Все время звук воспроизводится и захватывается. Это приводит к задержке видео примерно на 4 секунды.
Теперь несколько вещей, чтобы отметить:
- Если я только предпросмотрю аудио и видео без захвата, то аудио и видео в VD синхронизируются.
- Если я записываю аудио и видео и отображаю как видео, так и воспроизведение звука включено, то снова аудио и видео синхронизируются в VD, но НЕ синхронизируются в сгенерированном avi.
- Я попробовал это со всеми видами опций: видео - наложение и отсутствие отображения; аудио - с воспроизведением и без; перепробовал все виды настроек времени и все их комбинации; пробовал работать в режиме администратора; попытался захватить аудио и видео в необработанном несжатом формате; попытался увеличить размер буфера. Все не имеет значения!
Теперь я думаю, что эта задержка несколько случайная и не обязательно ровно 4 секунды, 4 секунды - это среднее значение. Следовательно, я не хочу возиться с постобработкой и повторным смешиванием, чтобы вручную исправить это. У меня есть около 100 VHS для захвата, и я не хочу проходить вручную через каждый из них.
Почему я не использую другие инструменты захвата видео? Потому что либо они не работают (ffmpeg не позволяет мне захватывать аудио с этой настройкой - посмотрите это, либо у них есть другие проблемы (не связанные с синхронизацией /v)).
И наконец: я проверил с помощью различных независимых средств, что проблема не в видеомагнитофоне, USB-устройстве захвата или самой VHS. Это действительно проблема, связанная с программным обеспечением. Я мог бы захватить это просто отлично с синхронизацией видео и аудио, используя ArcSoft ShowBiz, например, но я не использую это, потому что у него есть другие проблемы.
Итак, что же мне не хватает в настройке VD, чтобы она вызывала эту задержку видео (или эквивалентно преждевременный захват звука)?