Я создаю приложение чата. Пользователи могут отправлять сообщения, фотографии и видео.
Мой код на стороне клиента (упрощенно):
// for a text message
socket.emit('message', { from: 'john', to: 'jane', type: 'message', data: 'hi' })
// for an image
socket.binary(true).emit('message', { from: 'john', to: 'jane', type:'image', data:'...base64string...'})
Это работает, но я также хочу иметь возможность отправлять (маленький) видео, и я предполагаю, что base64-кодирование видео и его отправка через сокет - не лучшее решение.
Это не для живых видео, а для предварительно записанных видео.
Разговор хранится на стороне клиента, а не на стороне сервера, клиент имеет состояние с избыточностью и массивом всех сообщений.
Каково лучшее решение для отправки / потоковой передачи изображений и видео через веб-сокеты другим клиенты? Есть ли для этого библиотека?
Я использую клиентскую сторону реакции и nodejs серверную сторону.