Flatter video_player(仅IOS/AVPlayer)不使用fastapi播放没有扩展名的mp4文件

2024-10-03 04:28:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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',);

先谢谢你,克里斯蒂安


Tags: 文件fromimportosvideotypecontentfilename