2010-05-03 22 views
9

我運行一個網站,其中包含約700個參考視頻(並且不,它不是色情內容 - 讓您的主意擺脫陰溝:-))。HTML的H.264/FLV最佳實踐

視頻目前採用FLV格式。我們使用JWPlayer來渲染這些視頻。 IIS6託管。一切正常。據我所知,H.264(不是FLV,可能不是OGG)是新興的首選HTML5視頻標準。今天,iPad真的只尊重H.264或YouTube。據推測,很多更重要的瀏覽器都會遵循蘋果的標準,只尊重HTML5標籤。

好吧,所以我想我可以弄清楚如何將我現有的視頻轉換爲合適的H.264格式。有各種工具可用,包括ffmpeg.exe。我還沒有嘗試過,但我不認爲這將是擺脫編解碼器設置後的問題。

我的問題是關於容器本身 - 也就是規劃所有用戶的優雅過渡。渲染這些視頻的最佳做法建議是什麼?如果我只是使用HTML5標記,那麼大概所有尚未支持HTML5的瀏覽器都不會看到這些視頻。如果我通過JWPlayer或其他播放器以Flash格式呈現它們,那麼它們將無法在iPad上播放。我是否必須在這裏做醜陋的UserAgent檢測才能找出要呈現的內容?

我知道JWPlayer支持H.264媒體,但不是播放器本身是Flash組件,因此無法在iPad上播放?對不起,如果我不清楚,但我正在摸索適合當前瀏覽器,iPad和即將到來的HTML5浪潮的優雅過渡計劃。我不是視頻專家,所以任何建議都會受到歡迎,謝謝。

+0

更新 - 它看起來像JWPlayer團隊深知此問題,並正在開發一個HTML5更新:HTTP:// WWW .longtailvideo.com/support/forums/jw-player/feature-suggestions/10383/html5-version-of-jw-player仍然會喜歡任何建議。 JWPlayer確實是一個Flash應用程序,我不太瞭解他們的HTML5方法,但看起來他們正在嘗試處理正常的故障轉移。 – 2010-05-03 03:45:23

+0

專利侵權訴訟的H.264(MPEG4)公司 http://bit.ly/9vNGZW – Rob 2010-05-03 11:14:11

回答

8

請注意,Firefox不支持帶有視頻標籤的H.264,所以如果您想要一個優雅的回退功能,那麼您應該呈現如下所示的視頻標籤並擁有該視頻的OGG版本。

 <video controls id="video" width="320" height="240" preload autobuffer > 
      <source src="http://mycdn.com/videos/vid1.ogg" type="video/ogg" /> 
      <source src="http://mycdn.com/videos/vid1.mp4" type="video/mp4" /> 
      <!--RENDERED ON BROWSERS WITH NO HTML5 VIDEO SUPPORT--> 
      <object width="320" height="240"> 
      <param name="movie" value="myplayer.swf"> 
      <embed src="myplayer.swf" width="550" height="400"> 
      </embed> 
      </object> 
      <!----> 
     </video> 
+3

非常有趣 - 這些格式的爭鬥似乎決定讓我們的網站運營商/發行商使用相同的多種編碼的硬盤空間視頻... :-) – 2010-05-03 04:01:53

+0

Flash可以播放H.264視頻,所以我不確定這是多少問題,唯一額外的內容是swf視頻播放器,希望它不應該太大。 – quoo 2010-05-03 17:29:13

4

我不知道這是否是一個答案,或只是一個評論,但我真的需要去挑戰原題的假設之一:「據推測,很快許多更重要的瀏覽器將仿效蘋果的領先地位和只尊重HTML5標籤。「

這只是沒有任何我能看到的備份。

  1. 所有的桌面瀏覽器都支持插件,包括Flash。大多數非Apple智能手機/平板電腦支持Flash,支持插件或支持其他瀏覽器。
  2. 所有的瀏覽器,甚至是iPhone OS的,都支持對象標籤,並且至少試圖用它做一些事情。他們甚至支持像滾動字幕和字體標籤的東西!對象標籤將會存在很長時間,並且據我所知甚至是HTML5的一部分。
  3. Firefox,可能是各種IE版本之後的#2瀏覽器,目前不支持H.264。
  4. 微軟已經明確表示,他們不喜歡Flash,並希望人們使用Silverlight,支持我認爲對象標籤留在這裏的感覺。他們模糊地致力於僅在IE9中支持本地HTML5視頻標籤。同時,他們將Flash插件作爲Vista和Win7操作系統的一部分。

無論如何,要真正瞭解這個問題:「我的問題是關於容器本身 - 也就是爲所有用戶規劃優雅的過渡。渲染這些視頻的最佳做法建議是什麼「

HTML5視頻標籤支持命名多個來源,因此您可以將原生H.264視頻作爲」主要「視頻並將Flash播放器視爲」後備「視頻如果使用的瀏覽器不具備直H.264視頻流支持

<video> 
<source src="../videos/primary.mp4" type="video/mp4" /> 
<object> 
    <param name="movie" value="fallbackplayer.swf"> 
    <embed src="../videos/fallbackplayer.swf"> 
    </embed> 
</object> 
</video> 
+0

非常感謝您抽出時間 - 我並沒有真正關注WC3/HTML5/H.264的內容,並欣賞上述背景。 – 2010-05-03 04:00:42

+0

上面的解決方案我認爲對我們的需求來說是一個很好的解決方案。沒有意識到新的

+0

我很確定Flash不包含在Windows中 - 它總是一個單獨的下載。但IE處理ActiveX的方式使它*幾乎*無縫(點擊黃色信息欄,「安裝組件」,它的工作原理) – 2010-05-03 04:05:31

1

在每個瀏覽器的視頻編解碼器支持是這樣的:

  • 火狐:奧格Theora格式/ Vorbis格式
  • 歌劇院:奧格Theora格式/ Vorbis格式
  • 鉻:奧格Theora格式/ Vorbis和H.264
  • Safari中:H.264(奧格的Theora/Vorbis的安裝XiphQT組件)
  • IE9:H.264

我也會推薦使用Ogg Theora替代品。我知道,如果你關心磁盤空間,這並不是一個好主意,但是要感謝專利使用費和對專利巨魔的恐懼,這就是我們所面臨的困境。

1

不直接回答你的問題,但doom9.org有很多關於視頻轉換/處理的優秀教程。可能對您有用

3

建議您閱讀video for everybody以獲得良好的跨瀏覽器實施。您也可以使用H.264 for Flash後備,但是Lachlan說您也應該使用Ogg進行渲染以實現完整的跨瀏覽器兼容性。