Flutter video_player (только IOS / AVPlayer) не воспроизводит файлы mp4 без расширения, используя fastapi - PullRequest
0 голосов
/ 12 февраля 2020

Я работаю с кодом ниже файла mp4:

import os
from starlette.responses import FileResponse
return FileResponse(
            filename_out,
            media_type="video/mp4",
            filename=os.path.basename(filename_out)
        )

В firefox, chrome и в android он работает нормально. К сожалению, это не относится к AVPlayer (используется пакетом flutter video_player) в IOS.

Я нашел эту тему iOS 10 AVPlayer не будет транслировать видео с URL без расширения и с video / mp4 в качестве типа контента

Однако расширение файла имеет явное имя файла, и я запутался в заголовке. Кто-нибудь имеет подобный опыт и решение?

Редактировать: В имени файла, например, video.mp4 после этого с test.client это выглядит так:

{'content-type': 'video/mp4', 'content-disposition': 'attachment; filename="video.mp4"', 
'content-length': '5909110', 'last-modified': 'Mon, 10 Feb 2020 21:23:10 GMT', 'etag': 'd4be0ee89866a2fdc6e2c2dc94c4bc21'} 

Вложение чувствует себя не правильно с / без это поток и работает с обычным плеером браузера и android, но не в IOS. Мы используем пакет flutter video_player, а _controller.value.initialized всегда ложно с IOS, но верно, если используется прямой файл из AWS, не обслуживаемый звездочкой:

 _controller = VideoPlayerController.network('urlWithMp4StreamOrAttachment',);

Заранее спасибо, Кристиан

1 Ответ

0 голосов
/ 23 февраля 2020

Работает с nginx см. Здесь некоторые детали конфигурации:

https://gist.github.com/nnfuzzy/50151e817d752c9941f83c1770f74626

...