我在mp4文件下面提供代码:
import os
from starlette.responses import FileResponse
return FileResponse(
filename_out,
media_type="video/mp4",
filename=os.path.basename(filename_out)
)
在firefox、chrome和安卓系统中都可以正常工作。不幸的是,它不适用于IOS中的AVPlayer(由Flatter video_player软件包使用)
我找到了这个线程iOS 10 AVPlayer will not stream video from URL with no extension and with video/mp4 as content type
但是,文件扩展名提供了显式的文件名,我对标题的内容感到困惑。有没有类似的经验和解决方案
编辑:文件名为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中使用。我们使用Flitter软件包video_player和_controller.value.initialized在IOS中始终为false,但在使用starlette未提供服务的AWS直接文件时为true:
_controller = VideoPlayerController.network('urlWithMp4StreamOrAttachment',);
先谢谢你,克里斯蒂安
它与nginx配合使用,请参见此处的一些配置详细信息:
https://gist.github.com/nnfuzzy/50151e817d752c9941f83c1770f74626
相关问题 更多 >
编程相关推荐