2013-08-26 121 views
0

這是一個奇怪的,與我一起裸露。HTML5視頻路徑混淆

我一直在玩Video.js,並遇到了提供的示例問題。

使用html5視頻元素指定MP4(h264)視頻時,會出現一些混淆。

當我使用(絕對值):

<source src="C:\<filsystempath>\Media\oceans-clip.mp4" type='video/mp4' /> 

顯示視頻,沒有問題。但是當我使用:

<source src="@Url.Content("~/Media/oceans-clip.mp4")" type='video/mp4' /> 

視頻不顯示。我會得出結論,使用相對路徑是問題,但使用像這樣的ogv視頻時:

<source src="@Url.Content("~/Media/oceans-clip.ogv")" type='video/ogg' /> 

它工作正常。

還有一個煩惱 - 當視頻用於閃回時,它可以工作。

我正在使用ASP.MVC和video.js。我正在使用本地主機進行調試。

全視頻標籤 -

<video id="example_video_1" class="video-js vjs-default-skin" 
    controls preload="auto" width="640" height="264" 
    poster="http://video-js.zencoder.com/oceans-clip.png" 
    data-setup='{"example_option":true}'> 
<source src="@Url.Content("~/Media/oceans-clip.ogv")" type='video/ogg' /> -- Works 
<source src="C:\<filesystempath>\oceans-clip.mp4" type='video/mp4' /> -- Works 
<source src="@Url.Content("~/Media/oceans-clip.mp4")" type='video/mp4' /> -- Doesn't work 
<source src="http://video-js.zencoder.com/oceans-clip.webm" type='video/webm' /> 
</video> 

的問題是 - 爲什麼會在視頻播放絕對路徑,但不是一個相對?

謝謝:)

回答

1

因爲這<source src="@Url.Content("~/Media/oceans-clip.mp4")" type='video/mp4' /> renderes類似:

<source src="localhost:8080/Media/oceans-clip.mp4" type='video/mp4' /> 

而在第一種情況下,你是從驅動器中讀取文件:

<source src="C:\<filsystempath>\Media\oceans-clip.mp4" type='video/mp4' /> 
+0

那麼爲什麼ogv會以相同的方式完成呢? – user2008963

+0

我會得出結論,使用相對路徑是問題,但使用像這樣的ogv視頻時: 它工作正常。 – user2008963

+0

@ user2008963' \ Media \ oceans-clip.mp4」type ='video/mp4'/>'這會從客戶端計算機讀取文件!這從服務器讀取:'' – karaxuna

0

的解決方案是非常簡單的。使用IIS express。不知道如何或爲什麼這樣工作,但我認爲它與C:\ Users \\ Documents \ IISExpress \ config中的applicationhost.config文件有關。也許MP4需要指定MIME類型的工作。就像我說的,不確定。希望這可以幫助別人。

此外,信貸卡拉克納讓我覺得。