O FFmpeg só funciona no “terminal”, mas não está funcionando via “tela”.

0

Estou com um problema estranho no FFmpeg.

Estou tentando transmitir um vídeo em um Raspberry Pi para um servidor NodeJS. Ao se conectar via SSH diretamente, este comando funciona muito bem:

ffmpeg -s 320x240 -f video4linux2 -i /dev/video0 -f mpeg1video -vf "vflip,hflip" -b:v 800k -r 30 http://localhost:8082/camera/320/240/

No entanto, quando tento executar o comando dentro de um screen , ele não funciona. Eu recebo o seguinte erro:

[video4linux2,v4l2 @ 0x21642a0] The device does not support the streaming I/O method.
/dev/video0: Function not implemented

Eu corri o comando com o mesmo usuário. Eu recebo o mesmo erro ao executar o comando com sudo . Também não funciona em um serviço systemd .

Parece que não gosta de ser executado quando não está em um shell interativo? Mas eu não sei porque ... Alguma idéia?

    
por Alexandre Blin 01.08.2016 / 23:52

1 resposta

1

Convertendo um comentário em uma resposta:

Variável de ambiente

O ffmpeg depende da variável de ambiente do shell LD_PRELOAD .

Para que o ffmpeg funcione corretamente mesmo quando executado dentro da tela, use

export LD_PRELOAD=/usr/lib/uv4l/uv4lext/armv6l/libuv4lext.so
    
por 03.08.2016 / 14:16

Tags