Versão resumida:
- arquivos estão corrompidos porque você está interrompendo para concluir o
mp4
encode, alterne para algo comomkv
. - 'não corrompido' pelo formato mudando para outro contêiner
ffmpeg -i corrupt.mp4 -c copy not_corrupt.mkv
- não use
vfwcap
, pois está desatualizado
Por que estou tendo problemas para capturar da minha webcam USB com ffmpeg
?
Do ffmpeg
docs em vfwcap
:
Note Well this is out of date, these days you can use the -f dshow device to capture from a directshow device.
Como está desatualizado, use -f dshow
. A partir da documentação do DirectShow :
FFmpeg can take input from "directshow" devices on your Windows computer. See the FFmpeg dshow input device documentation for official documentation. It can accept input from audio, video devices, video capture devices, analog tv tuner devices.
A partir da documentação dshow
vinculada , você deve primeiro descobrir qual é o dispositivo em dshow
:
ffmpeg.exe -list_devices true -f dshow -i dummy
Exemplo de saída:
[dshow @ 0000000002e9bb20] DirectShow video devices (some may be both video and audio devices)
[dshow @ 0000000002e9bb20] "PC Camera"
[dshow @ 0000000002e9bb20] Alternative name "@device_pnp_\?\usb#vid_058f&pid_3880&mi_00#6&218cd81a&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
usando o "PC Camera"
encontrado pelo comando anterior:
ffmpeg -f dshow -i video="PC Camera" -y output.mkv
(Eu desistiria de usar -rtbufsize
inicialmente, já que existem algumas advertências para usar com dshow
devices ')
Gostaria de sugerir o uso de mkv
over mp4
, porque acho que você não está fazendo um código de tempo fixo, mas terminando com ffmpeg
com Ctrl-C ; isso impede que ffmpeg
grave determinados átomos no contêiner de vídeo e provavelmente porque o arquivo está corrompido 1 . mkv
pode ser interrompido à vontade 2 .
1 : Você pode testar isso mudando o formato do mp4s corrompido:
%código%. Se isso não funcionar, outra resposta sobre a SU pelo sparrowt recomenda ffmpeg -i corrupt.mp4 -c copy not_corrupt.mkv
2 : Testado usando untrunc
no Windows, e uma webcam aleatória e barata que eu encontrei por aí