HTML5视频路径混乱

时间:2013-08-26 09:11:59

标签: html5 asp.net-mvc-3 video razor video.js

这是一个奇怪的人,对我这么光鲜。

我一直在玩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。我正在使用localhost进行调试。

完整视频标记 -

<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>

问题是 - 为什么视频会播放绝对路径而不是相对路径?

谢谢:)

2 个答案:

答案 0 :(得分:1)

因为此<source src="@Url.Content("~/Media/oceans-clip.mp4")" type='video/mp4' />呈现的内容如下:

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

在第一种情况下,您正在从驱动器中读取文件:

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

答案 1 :(得分:0)

解决方案非常简单。使用IIS express。不知道这是如何或为什么这样做但我认为它与C:\ Users \\ Documents \ IISExpress \ config中的applicationhost.config文件有关。也许MP4需要指定的mime类型才能工作。就像我说的,不确定。希望这有助于其他人。

另外,归功于karaxuna让我思考。

相关问题