У меня странная проблема с FFmpeg.

Я пытаюсь транслировать видео на Raspberry Pi на сервер NodeJS. При подключении через SSH напрямую эта команда прекрасно работает:

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

Однако, когда я пытаюсь запустить команду внутри screen , она не работает. Я получаю следующую ошибку:

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

Я выполнил команду с тем же пользователем. Я получаю ту же ошибку при запуске команды с sudo . Это также не работает в systemd сервисе.

Похоже, он не любит работать, когда не в интерактивной оболочке? Но я не знаю почему ... Есть идеи?

1 ответ1

1

Преобразование комментария в ответ:

Переменная среды

ffmpeg зависит от переменной среды оболочки LD_PRELOAD .

Чтобы заставить ffmpeg работать правильно даже при запуске внутри экрана, используйте

export LD_PRELOAD=/usr/lib/uv4l/uv4lext/armv6l/libuv4lext.so

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .