我想同时播放通过unitywebrequest下载的视频。 AVPro视频会支持吗?如果是这样,请向我提供一些指导,因为我是Unity和Avpro视频的新手。我可以播放通过AVPro演示中的FullscreenVideo.prefab完全下载的视频。任何帮助将不胜感激。
答案 0 :(得分:1)
有两个主要选项可用于在视频仍在下载时显示它。
通过直播
您可以使用媒体播放器组件上的“绝对路径或URL”选项将视频流化为AVPro视频,然后将其链接为rtsp,MPEG-DASH,HLS或HTTP渐进式流格式的流。根据您要定位的平台,这些选项中的某些选项将比其他选项更有效
在第12页及以后的AVProVideo随附的《 AVProVideo用户手册》中,可以找到文件格式支持哪种平台的表。
如果要使用流式传输,还需要在播放器设置中将“互联网访问”选项设置为“必需”,因为如果没有互联网访问,视频就无法流式传输。 当有足够的视频被缓冲时,正在流式传输的视频将自动开始/继续播放。
但这确实需要持续的互联网连接,如果您定位移动设备,这可能不是理想的选择;如果您打算循环播放视频,则这是不必要的。
HLS m3u8
HTTP实时流(HLS)通过将整个流切成更短,可管理的数据块来工作。然后,无论数据流有多长,这些块都将按顺序下载。 m3u8是一种与播放列表一起使用的文件格式,用于保存有关多个媒体文件而不是整个视频的位置的信息,然后可以将其输入到HLS播放器中,该播放器将按照m3u8文件中的指示顺序播放小型媒体文件。
如果您打算重复播放较小的视频,则使用此方法很有用,因为用户只需下载视频的每个块一次,然后就可以存储以供以后使用。
您还可以根据需要使这些视频块长或短,并设置要预加载多少个块的缓冲区。例如,如果您将块大小设置为5秒,并使用5个视频的缓冲区,则唯一的加载时间是在加载视频的前25秒时。一旦加载了前5个块,它将开始播放视频并将其余的块加载到后台,而不会中断视频(只要您的互联网速度可以处理它)
一个缺点是您必须自己将所有视频转换为m3u8。 FFMPEG之类的工具可以帮助解决此问题。
引用