Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video 计算m3u8 url引用视频的文件大小_Video_Ffmpeg_Http Live Streaming_M3u8 - Fatal编程技术网

Video 计算m3u8 url引用视频的文件大小

Video 计算m3u8 url引用视频的文件大小,video,ffmpeg,http-live-streaming,m3u8,Video,Ffmpeg,Http Live Streaming,M3u8,如果m3u8 url引用了一个链表,则没有视频大小,但是,如果m3u8 url引用了一个视频,有没有办法计算出视频文件的大小 我不想把每个视频片段的所有httpcontent-length头相加,因为这有点乏味 我提供了一个示例用法。M3U8清单文件中特定视频流的持续时间不是强制性的,但如果给定视频流通常在其自身容器的标头中包含此信息 例如,如果流是MP4流,那么您可以在开始读入头“Moov”atom后从中获取持续时间,而不必读取每个片段并将其内容长度相加 值得注意的是,特别是对于MP4,您需要

如果m3u8 url引用了一个链表,则没有视频大小,但是,如果m3u8 url引用了一个视频,有没有办法计算出视频文件的大小

我不想把每个视频片段的所有http
content-length
头相加,因为这有点乏味


我提供了一个示例用法。

M3U8清单文件中特定视频流的持续时间不是强制性的,但如果给定视频流通常在其自身容器的标头中包含此信息

例如,如果流是MP4流,那么您可以在开始读入头“Moov”atom后从中获取持续时间,而不必读取每个片段并将其内容长度相加

值得注意的是,特别是对于MP4,您需要在文件的开头使用Moov atom——大多数为流媒体制作的MP4视频都会这样做

查看文件大小:假设您使用的是HLS视频,m3u8文件实际上是视频多个分块版本的索引。这些不同版本具有不同的分辨率和比特率。其目的是允许播放器为设备和当前网络条件选择最佳比特率/分辨率。参考rred为自适应比特率流-有关更多信息,请参阅此处:


因此,ABR M3U8视频实际上没有一个文件大小。例如,您可以通过将持续时间乘以比特率来计算最大比特率流的文件大小,但您需要注意,您的播放机可能会在比特率之间切换,除非您将其设置为仅使用一个。

是否已计算出来?@AkulNarang Not现在,除了加上每个视频段的所有http内容长度头之外,我想得到的是m3u8 url引用视频的文件大小,而不是持续时间。@iMath-在re文件大小的基础上添加了更多信息。