Eu tenho algumas dúzias de sistemas Ubuntu 16.04 que estão capturando vídeo de um Dispositivo de Captura USB da Magewell via ffmpeg
. Os próprios PCs são todos da Dell 5285. Na ocasião, durante a captura de vídeo, o fluxo de vídeo é interrompido. ffmpeg
simplesmente pára de receber bytes. Precisamente neste momento, o kernel envia os seguintes logs:
Apr 11 06:04:53 kernel: [ 8498.989445] uvcvideo: Non-zero status (-32) in video completion handler.
Apr 11 06:04:53 kernel: [ 8498.992933] uvcvideo: Non-zero status (-71) in video completion handler.
Apr 11 06:04:53 kernel: [ 8498.996552] uvcvideo: Non-zero status (-71) in video completion handler.
Apr 11 06:04:53 kernel: [ 8498.999966] uvcvideo: Non-zero status (-71) in video completion handler.
Apr 11 06:04:53 kernel: [ 8499.003544] uvcvideo: Non-zero status (-71) in video completion handler.
Neste ponto, o fluxo de vídeo está inativo e não retorna. Mas se eu matar o processo ffmpeg
e tentar um novo, o fluxo de vídeo agora funciona. Como posso evitar que este problema aconteça e quem é o culpado? (Kernel? Magewell?)
Talvez importante, tentei trocar dispositivos Magewell e trocar cabos USB sem sucesso. Além disso, este problema parece ser mais pronunciado com certos PCs do que outros, como em alguns PCs fazem isso constantemente (quase a cada 15 minutos) enquanto outros parecem fazê-lo nunca ou muito raramente.
Saída de uname -a
:
Linux hostname 4.13.0-38-generic #43~16.04.1-Ubuntu SMP Wed Mar 14 17:48:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux