Как преобразовать файл видео-блоба (отправленный из браузера) во что-то читаемое с помощью opencv на сервере? - PullRequest
0 голосов
/ 25 мая 2019

В настоящее время, когда я отправляю свой видеофайл с клиента (actjs) на мой локально размещенный сервер (фляжка), файл поступает в виде видеоблока.Я пытаюсь прочитать этот файл на сервере, используя библиотеку opencv.Как я могу преобразовать большой двоичный объект во что-то, что может быть прочитано opencv?

Я отправляю аксиос-запрос большого двоичного объекта (преобразованный из массива медиа через MediaRecorder API).На сервере я могу получить файл, но он поставляется в формате .Я попытался отправить файл как тип «Файл», а также попытался преобразовать BLOB-объект на сервере в массив Uint8.Для некоторого большего контекста видеофайл, который я отправляю, является записью моей веб-камеры, поэтому видео будет иметь максимальную длину 5-10 секунд.

# localhost:5000/video route (FLASK SERVER)
@APP.route('/video', methods=['GET', 'POST'])
@cross_origin(supports_credentials=True)
def new_func():
    if request.method == 'GET':
        return 'Hello, World!'
    else:
        # uses request.files becuase what I am sending over is in blob format
        print('this is files', request.files['video'])
        return 'received it'


  sendVideo() {
// here is the post request with axios client side
  let data = new FormData();
    data.append('video', this.state.video)
// this.state.video is a video blob
    const config = {
      headers: {
        'content-type': 'multipart/form-data'
      }
    }
    axios.post('http://localhost:5000/video', data, config)
  }

// here is the conversion of the buffer array (all the video recording) //into a blob

// creating new blob (binary large obj) defining it as an mp4 file
          let blob = new Blob(buffer, { 'type': 'video/mp4' });
          t.setState({ video: blob }, () => {
            t.sendVideo() // this function is the above js snippet
          })

Я ожидаю, что сервер получит файл (что он уже делает) и сможет прочитать файл с помощью openCV (python).В настоящее время я не могу прочитать файл, полученный от клиента

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...