Vimeo 离线视频播放问题

iPa*_*tel 12 android vimeo ios dart flutter

我使用fijkplayer了 flutter 上可用的库来播放 m3u8 视频。在不下载的情况下播放工作正常,只有在我尝试播放下载的视频时才会出现此问题。另外,我尝试了其他库,如chewie, flutter_jikplayerflutter_tencentplayer但都没有工作。

此问题仅发生在Vimeohls 链接上。我已经使用互联网上可用的公共hls链接实现了所有内容。之后,我发现了这个错误。

此输出似乎是与协议相关的问题。

xcode 输出是,

===== versions =====
ijkplayer    : f0.7.8
FFmpeg       : ff4.0--ijk0.8.25--20191031--001
libavutil    : 56.14.100
libavcodec   : 58.18.100
libavformat  : 58.12.100
libswscale   : 5.1.100
libswresample: 3.1.100
===== options =====
player-opts : overlay-format               = fcc-bgra
player-opts : videotoolbox                 = 1
player-opts : enable-position-notify       = 1
player-opts : start-on-prepared            = 1
format-opts : ijkapplication               = 4850081840
format-opts : ijkiomanager                 = 4849971424
===================
Opening 'https://46vod-adaptive.akamaized.net/exp=1597409385~acl=%2F04cf7e17-5507-416e-97c2-a26f6a27d395%2F%2A~hmac=2d7bd4c50e30032541752817b808bd618f7b0fff4a472e3d0b481f0aa2bd11f5/04cf7e17-5507-416e-97c2-a26f6a27d395/sep/audio/7724a1ec/playlist.m3u8' for reading
Protocol 'https' not on whitelist 'file,crypto'!

/var/mobile/Containers/Data/Application/0851E4DB-AA4C-4346-A6F2-5F2D00478D61/Documents/offline/+919744480203133/playlist.m3u8: Invalid argument
Run Code Online (Sandbox Code Playgroud)

让我知道是否需要任何东西,将在此处更新。

Kyl*_*enn 1

HLS 文件在一段时间后就会过期。因此,如果您正在下载m3u8,您实际上并没有下载视频,只是播放列表/清单文件的链接,告诉播放器从哪里提取真实(通常mp4)视频文件。您可以在 M3U 上看到类似的示例mp3(此示例链接到文件,但m3u8通常链接到mp4文件)。

因此,您需要从 Vimeo 下载实际 mp4文件,然后将这些文件传递到您的播放器。我在这里给出了一个答案,通过一种方法来做到这一点。(这里介绍如何使用Flutter下载)。

mp4 文件的链接也会过期。但如果您在过期之前下载它们,则可以随时从磁盘访问它们(使用本地文件 URL)。