为什么我们必须在 VLC 中等待视频(通过 samba 共享)?

为什么我们必须在 VLC 中等待视频(通过 samba 共享)?

所以..我们有一个带有硬盘的路由器,我通过 samba 共享视频。

我们的问题是,当我们想观看这样的视频时:

file NOTX264AVI.avi
NOTX264AVI.avi: RIFF (little-endian) data, AVI, 720 x 304, 25.00 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)

然后我们可以将 VLC 滚动到例如视频的一半,然后立即播放(这很棒,因为我们不必等待两分钟的视频..)。但。当我们观看这样的视频时:

file X264AVI.avi
X264AVI.avi: RIFF (little-endian) data, AVI, 576 x 320, 25.00 fps, video: H.264 X.264 or H.264, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)

使用 VLC...我们必须等待很长时间才能继续播放视频(如果我们滚动到例如:到视频的一半)。

问题:那为什么VLC直到我们想看的部分才下载X264AVI.avi,而当我们想看NOTX264AVI.avi时它不下载它呢?使用 X264 编解码器的视频无法“流式传输*”?

所以我需要对 VLC(?)做一些事情,以便它也能“流*”(?)X264 视频,但是如何做呢?

*对于流媒体,我的意思是,如果我们在视频中播放 1 小时 10 分钟(不使用 x264 视频编解码器),那么它将立即开始。但如果我们想要进入例如使用 x264 编解码器的视频中的 1 小时 10 分钟的情况,我们必须等待几分钟。(当我们等待视频“加载”时,我可以看到巨大的网络流量)

答案1

这不是 VLC 的限制,但可能是视频编码或服务方式的问题。该问题很可能是以下两件事之一:

  1. 视频元数据不在文件开头

  2. 该文件未使用“分块编码”提供服务

在这种特殊情况下,1 似乎是更有可能出现的问题。有一些工具(似乎您已经找到了)可以分析视频文件并将元数据移动到文件的开头。

qt-faststart 是执行此操作的一个实用程序http://multimedia.cx/eggs/improving-qt-faststart/

答案2

相关内容