Video-Encoding

為什麼我們必須在 VLC 中等待影片(通過 samba 共享)?

  • June 22, 2012

所以.. 我們有一個帶有 HDD 的路由器,我通過 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 到 ex.: 影片的一半,它會立即播放(這很棒,因為我們不必等待兩分鐘的影片..)。但。當我們觀看這樣的影片時:

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 分鐘..(當我們等待影片“載入”時,我可以看到很大的網路流量)

http://sourceforge.net/projects/divfixpp/

是解決方案..

這不是 VLC 的限制,但可能是影片如何編碼或提供的問題。這個問題很可能是以下兩件事之一:

  1. 影片元數據不在文件開頭
  2. 未使用“分塊編碼”提供文件

在這種特殊情況下,似乎 1 是更可能的問題。有一些工具(您似乎已經找到了)可以分析影片文件並將元數據移動到文件的開頭。

qt-faststart 是執行此操作的一種實用程序http://multimedia.cx/eggs/improving-qt-faststart/

引用自:https://unix.stackexchange.com/questions/39049