Потоковое видео mp4 (mongodbgridfsbucket) в приложении nextJS ⇐ Javascript
Потоковое видео mp4 (mongodbgridfsbucket) в приложении nextJS
Я пытаюсь транслировать видеофайл в формате mp4 в своем приложении nextJS. Файл хранится в GridFSBucket mongodb.
Итак, для этого я использую getServerSideProps(). При вызове страницы в браузере Chrome отображается видеоплеер, но видео не воспроизводится (продолжительность 0:00). Я вижу несколько сообщений журнала предупреждение: вам не следует обращаться к 'res' после разрешения getServerSideProps.. Но я не думаю, что это проблема, поскольку это всего лишь предупреждение.
Возможно, кто-то заметит фундаментальную ошибку в моем коде, поскольку я не знаю, как отладить проблему без каких-либо сообщений об ошибках.
[хеш].tsx
export const getServerSideProps: GetServerSideProps = async ({ рез, запрос: {хэш} }) => { константная база данных = ожидание mongodb() const Videos = data.collection('видео') const { fileId } = await Videos.findOne({ uid: hash }) const Files = новый GridFSBucket (база данных) константный идентификатор = новый ObjectId (fileId) const файл: GridFSFile = ожидайте нового обещания ((разрешить, отклонить) => { Файлы.find({ _я сделал }).toArray((ошибка, файлы) => { если (ошибка) отклонить (ошибка) решить (файлы [0]) }) }) const {contentType} = файл || {} res.writeHead('Content-Type', contentType) // ContentType — "video/mp4" Files.openDownloadStream(id) .on('данные', (кусок) => { res.write(кусок) }) .on('конец', () => { Отправить() }) .on('ошибка', (ошибка) => { выбросить ошибку }) возвращаться { реквизит: {} } }
Я пытаюсь транслировать видеофайл в формате mp4 в своем приложении nextJS. Файл хранится в GridFSBucket mongodb.
Итак, для этого я использую getServerSideProps(). При вызове страницы в браузере Chrome отображается видеоплеер, но видео не воспроизводится (продолжительность 0:00). Я вижу несколько сообщений журнала предупреждение: вам не следует обращаться к 'res' после разрешения getServerSideProps.. Но я не думаю, что это проблема, поскольку это всего лишь предупреждение.
Возможно, кто-то заметит фундаментальную ошибку в моем коде, поскольку я не знаю, как отладить проблему без каких-либо сообщений об ошибках.
[хеш].tsx
export const getServerSideProps: GetServerSideProps = async ({ рез, запрос: {хэш} }) => { константная база данных = ожидание mongodb() const Videos = data.collection('видео') const { fileId } = await Videos.findOne({ uid: hash }) const Files = новый GridFSBucket (база данных) константный идентификатор = новый ObjectId (fileId) const файл: GridFSFile = ожидайте нового обещания ((разрешить, отклонить) => { Файлы.find({ _я сделал }).toArray((ошибка, файлы) => { если (ошибка) отклонить (ошибка) решить (файлы [0]) }) }) const {contentType} = файл || {} res.writeHead('Content-Type', contentType) // ContentType — "video/mp4" Files.openDownloadStream(id) .on('данные', (кусок) => { res.write(кусок) }) .on('конец', () => { Отправить() }) .on('ошибка', (ошибка) => { выбросить ошибку }) возвращаться { реквизит: {} } }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
OpenCV2 / Python: FFMPEG: тег не поддерживается с помощью ID 12 и формата MP4 / MP4
Anonymous » » в форуме Python - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-