2012-01-11 2 views
1

У меня есть ТВ-тюнер, который отображается как /dev/video1. Я пытаюсь оцифровать некоторые старые VHS-ленты. ТВ-тюнер не делает звук, у меня есть провод, подключенный к моему микрофону.Запись с ТВ-тюнера/веб-камеры с gstreamer и аудио/видео, выходящих из синхронизации

Это конвейер gstreamer, который я использую для записи видео & и сохранения его в файл. Я использую motion jpeg, потому что я не хочу, чтобы он отбрасывал кадры и терял контент. Я буду перекодировать его лучше позже.

gst-launch-0.10 v4l2src device=/dev/video1 ! \ 
    queue ! \ 
    video/x-raw-yuv,width=640,height=480 ! \ 
    ffmpegcolorspace ! \ 
    jpegenc ! \ 
    avimux name=mux ! \ 
    filesink location=output.avi \ 
    pulsesrc ! \ 
    queue ! \ 
    audioconvert ! \ 
    audio/x-raw-int,rate=44100,channels=2 ! \ 
    mux. 

Это все работает хорошо и хорошо. У меня есть файлы, которые воспроизводят видео и аудио. Однако иногда при воспроизведении выходных файлов звук & не синхронизируется. Это происходит в том же месте в видео, на многих разных медиаплеерах (тотем, mplayer). Поэтому я думаю, что это проблема в том, как я сохраняю и записываю файл.

Есть ли что-нибудь, что я могу сделать для конвейера, чтобы уменьшить вероятность проблем с аудио/видеосинхронизацией? Я немного новичок в gstreamer и видео/аудио кодеках, поэтому я мог бы делать что-то глупое (пожалуйста, укажите!). Есть ли какой-нибудь видео/аудио/мультиплексор кодека, который будет лучше?

ответ

3

Попробуйте добавить аудиоразъем в аудиовизуальную ветвь и элемент видеозаписи в ветви видео, чтобы узнать, не имеет значения, или попробуйте другой мультиплексор, например qtmux или matroskamux.

Смежные вопросы