2015-10-04 28 views
0

所以我試圖播放在遠程服務器上託管的視頻,我遇到的問題是,它需要很長的時間,大的視頻開始播放。似乎需要在視頻開始播放之前下載整個視頻(通過比較視頻開始播放所需的時間和下載所需的時間)。有沒有人有任何建議,如何設置視頻即可開始展示,只要其中一小部分已經下載。設置緩衝爲<video>對象

+0

你將要將元數據移動到文件的開頭,這有助於瀏覽器更好地決定它需要正確流式傳輸多少。看到這個答案 - https://stackoverflow.com/questions/27351136/preparing-mp4-file-for-html-5/27362604#27362604 - forhow做 – Offbeatmammal

+0

我已經在我的研究這些建議,問題是,該網站允許用戶上傳自己的視頻供以後查看。有沒有辦法在php後端或網站上運行類似的東西? – user3194367

+0

您可以在監視上載文件夾的服務器上運行腳本,並觸發ffmpeg來處理任何新文件。因爲有延遲,儘管用戶必須等到他們的視頻可用時才能看到...請看http://stackoverflow.com/questions/2504842/ffmpeg-running-in-command-line-but-not-php ?rq = 1 – Offbeatmammal

回答

1

來處理你要使用類似的ffmpeg移動元數據(MOOV原子)的視頻文件的前個人上傳:

./ffmpeg -y -i SourceFile.mp4 -s 1280x720 -c:v libx264 -b 3M -strict -2 -movflags faststart DestFile.mp4 

上述會給你一個1280×720的輸出,以3Mbps的速度在mp4容器中使用h264,並且還將第二次將moov元素移動到文件的前面,使其能夠更快地開始流式傳輸。它不會重新編碼的音頻,以便將讓你開始

您可能要玩的框架尺寸和比特率來獲得文件大小來匹配你喜歡/需要什麼什麼品質。

這樣做的背景,你會想要查看類似this從PHP調用的ffmpeg,或者利用http://ffmpeg-php.sourceforge.net/稱呼它,或者更容易使用的遠程代碼轉換服務如http://ffmpegasaservice.com/