Извлечение данных кадра RGB из MP4 в NodeJS - PullRequest
0 голосов
/ 09 октября 2019

Я видел несколько похожих на это вопросов, но не нашел удовлетворительного ответа.

Есть ли какой-нибудь возможный способ извлечения видеоданных из процесса NodeJS? Более конкретно я пытаюсь извлечь данные кадра из видео. Я ищу одномерный массив данных RGB для каждого кадра. Я использовал opencv4nodejs, но это чрезмерное излишество, и у меня возникли проблемы, включая библиотеку с Electron.

Есть идеи?

1 Ответ

2 голосов
/ 09 октября 2019

Вы можете подумать, что openCV излишне, но на самом деле это не так. Получение RGB-данных из видео означает декодирование этого видео, а декодирование видео - одна из более сложных вещей, которые вы можете сделать с компьютером (в общем случае). Если вы хотите иметь возможность обрабатывать стандартное видео в кодировке H.264 внутри контейнера mp4, вам понадобится что-то вроде GStreamer или FFMPEG и связанных с ними библиотек, OpenCV полагается на LibAVCodec и LibAVFormat, я полагаю (это библиотекичто лежит в основе FFMPEG).

Не существует «простого» способа получения RGB-данных произвольного видео без библиотеки декодирования видео, и они не будут JS-родными, они будут монолитными и написаны на C.

Я собирался сказать, что вы могли бы искать что-то вроде этого (https://github.com/fluent-ffmpeg/node-fluent-ffmpeg),, но вам, вероятно, лучше всего использовать OpenCV, если вы хотите буквальный многомерный массив данных RGB. Если выпытаетесь выполнить кодирование / декодирование / повторное смешивание, а затем взгляните на плагины FFMPEG для NodeJS.

...