Estou executando este comando para capturar vídeo e áudio da minha webcam:
ffmpeg -y -f video4linux2 -s 320x240 -i /dev/video0 -f alsa -i "plughw:CARD=U0x46d0x825,DEV=0" -ac 2 -strict experimental Filename.mp4
Funciona, mas o áudio fica cerca de meio segundo atrás do vídeo (por exemplo, se eu bater palmas, quando assistir ao vídeo ouvirei as palmas e depois me verei fazendo isso).
Isto é para uma transmissão online, então não posso consertar mais tarde, precisa ser gravado corretamente.
Parece sempre estar errado na mesma proporção, então estou tentando encontrar uma opção para simplesmente atrasar quando o áudio começa a ser gravado, mas não consigo descobrir.
Alguma ideia?
Responder1
Você experimentou o Google? Olharaqui
Eles sugerem usar -async
ou -vsync
dependendo de sua necessidade, ou -map
em combinação com-itsoffset
Usar um recente ffmpeg
com o seguinte comando deve resolver o problema:
ffmpeg -y -f video4linux2 -s 320x240 -i /dev/video0 -itsoffset 2 -f alsa -i "plughw:CARD=U0x46d0x825,DEV=0" -ac 2 -strict experimental Filename.mp4
Responder2
VerFFmpeg: hora de início do áudio muito erradacomo resolvi um problema muito semelhante. Eu costumava usar -itsoffset
antes, mas é muita adivinhação para o meu gosto.