2011-12-18 132 views
2

我的任務是構建ASP.NET 4.0 Web Forms網站以支持YouTube視頻的播放。將它構建爲HTML5網站,但我試圖通過視頻格式/編解碼器的迷宮編織我的方式。ASP.NET 4.0 YouTube視頻

我不想使用插件,我希望它有跨瀏覽器支持:

  • IE9/IE8/IE7
  • 火狐
  • Safari瀏覽器

大部分流量都是IE。對於其他瀏覽器,最新版本就足夠了。

我正在尋找直接嵌入視頻。真的只需要知道如何在不使用插件的情況下迎合不同的瀏覽器(包括Google Frame)。

任何人都可以提供一些指導/方向?

UPDATE

每Stilgar的回答,有可能會沒有獲得創造這個作爲HTML5

+1

你希望能夠嵌入youtube視頻或者想要構建你自己的視頻服務系統? – Stilgar

+0

只是嵌入它們(我更新了Q):) – IrishChieftain

回答

4

如果您只需要從YouTube上嵌入視頻,則無需關心編解碼器和瀏覽器支持。您只需在您的頁面上呈現僅嵌入iframe的Youtube嵌入代碼。用戶可以通過點擊共享>嵌入在youtube上來獲取html,或者當用戶將URL粘貼到YouTube視頻時,您可以通過編程方式生成它。代碼如下所示:

<iframe width="560" height="315" src="http://www.youtube.com/embed/Kt82xgsm9N8" frameborder="0" allowfullscreen></iframe> 

如果你這樣做,youtube會爲用戶提供一個播放器。播放器將基於用戶的設置IN YOUTUBE。例如,如果用戶在YouTube上選擇了HTML5視頻,他將爲其瀏覽器獲取HTML5播放器。如果用戶選擇使用Flash或正在使用舊版瀏覽器,則YouTube會爲Flash播放器提供服務。另外一些視頻(帶廣告的視頻)僅適用於Flash。

基本上,即使你想做別的事情你不能。這就是YouTube的工作原理,你想嵌入他們的視頻不是你自己的。但是我不明白你爲什麼會想要與他們提供的東西不同的東西。他們盡最大努力以最佳方式支持每個瀏覽器。

而且僅供參考,視頻標籤在所有瀏覽器的最新版本上都受支持,並且在IE8和IE7中不支持。目前有兩種編解碼器(2種格式),它們分別是H.264(mp4)和VP8(webm) Safari(包括Safari上的iOS)和IE9 +(包括Windows Phone上的IE)支持H.264 Chrome ,Firefox和Opera支持VP8 如果您想通過視頻標籤支持所有瀏覽器,則需要提供兩種編碼並對視頻進行兩次編碼。 如果你想支持IE7和IE8,你唯一的選擇是插件(無論是Flash,Silverlight還是普通的默認默認媒體播放器插件)

+0

感謝您的澄清,標記爲答案:) – IrishChieftain

1

優勢,我沒有用它自己,但是我聽說過jPlayer一些好東西。退房http://jplayer.org/

有一點需要記住的是,儘管許多瀏覽器都支持HTML5語義,但它們不支持相同的編解碼器。您需要將視頻編碼爲各種瀏覽器支持的各種格式。維基百科在http://en.wikipedia.org/wiki/HTML5_video有一個例子。

<video poster="movie.jpg" controls> 
    <source src='movie.webm' type='video/webm; codecs="vp8.0, vorbis"'/> 
    <source src='movie.ogv' type='video/ogg; codecs="theora, vorbis"'/> 
    <source src='movie.mp4' type='video/mp4; codecs="avc1.4D401E, mp4a.40.2"'/> 
    <p>This is fallback content</p> 
</video> 
+1

這不會在IE8和IE7中工作(並根據問題支持是必需的)。您需要Flash後備。此外,如果不需要支持舊版本的Firefox(4歲以上),則可能跳過ogv,因爲Firefox支持WebM – Stilgar

+0

而Flash作爲插件,在我這裏不適用於我... – IrishChieftain

+0

@IrishChieftain您無法在IE8上支持視頻, IE7沒有插件,無論你做什麼。 – Stilgar