Я работаю с кодом ниже файла 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',);
Заранее спасибо, Кристиан