輔助功能*

目錄

Flash 視訊學習指南

Flash 視訊的傳送選項

您可以使用多種選項將 Adobe Flash 視訊傳送到網站。 在將 Flash 視訊加入網站之前, 您必須先選擇傳送選項。

傳送選項摘要

Flash CS3 Professional 能讓您以下列任一方法傳送隨選視訊:

即時視訊必須使用串流。 有關即時視訊的更多資訊, 請參閱傳送選項的詳細比較

有關更多資訊, 請參閱 Chris Hock 執筆的了解漸進式下載和串流視訊間的差異*一文。

在 SWF 檔案中內嵌視訊

自從 Flash MX 和 Flash Player 6 推出後, 多媒體開發人員已經可以透過匯入視訊並將其置於 Flash 編寫工具的時間軸上, 在 SWF 檔案中內嵌視訊。 在您發佈 SWF 檔案後, 視訊便會完整包含在該檔案中。 此方法僅需要使用一般的網站伺服器來傳送視訊。

但是, 內嵌視訊僅建議用於下列情況: 當您希望讓備有 Flash Player 5 (或以下版本) 的訪客能檢視您的視訊、當您必須使用單一檔案來包含視訊與 Flash 內容, 或者當視訊片段長度不超過五秒。在其他狀況下, 我們不建議使用內嵌視訊。

內嵌視訊有幾個好處, 例如, 能夠在 Flash 時間軸上檢視個別視訊影格, 並藉由 Flash 設計工具輔助來建立重疊與互動。

但是, 內嵌視訊也有某些限制:

  • 如果視訊內容變更, 您便必須重新開啟 Flash、重新內嵌視訊和重新檢查, 也可能需要重新製作瀏覽與/或相關內容, 然後再次發佈 SWF 檔案以進行變更。
  • 在編寫期間, 每次您想要預覽或測試部分或全部 Flash 內容時, 都必須發佈整個視訊檔案。 這可能會大幅增加編寫所需的時間。
  • 在網路傳送時, 您必須從網站伺服器下載整個視訊檔案後, 才能開始播放。
  • 在執行階段, 整個視訊檔案必須配合播放系統的本機記憶體。
  • 大約 120 秒連續視訊播放後, 使用者可能會遇到音訊同步的問題。
  • 檔案長度限制為最長時間不超過 16,000 個影格。
  • 視訊影格速率和 Flash 時間軸影格速率必須相同 (因為它們共用同一個時間基礎)。

因此, 內嵌視訊法僅建議於上述特定情況中使用, 甚至在這些情況中, 僅建議用於部署非常短的視訊片段、視訊品質並非優先考量, 以及不會經常變更的視訊內容。

關於外部漸進式下載

Flash Player 7 提供一個名為漸進式下載的新技術, 讓開發人員能使用 ActionScript 指令將外部 FLV 檔案匯入 SWF 檔案中, 然後在執行階段播放。 明確地說, 您可以使用 ActionScript 中的 netConnection 和 netStream 物件來設定 FLV 檔案進行播放, 並控制「播放」、「暫停」、「搜尋」 (至某個時間碼) 、「關閉」行為, 以及緩衝時間和視訊檔案的大小。

在此方法中, 視訊內容 (FLV 檔案) 會保持在其他 Flash 內容和視訊播放控制的外部。 因此, 您可以輕鬆地新增或變更內容而無須重新發佈 SWF 檔案。

Flash Professional (自 Flash MX Professional 2004 起) 也包含視訊組件, 讓您能快速地將完整功能的 FLV 播放控制新增至 Flash 專案。 在 Flash CS3 Professional 中, FLVPlayback 組件同時提供漸進式下載與串流 FLV 檔案的支援。 這個元件可讓您輕鬆設定「外觀」或自訂, 以便擁有符合網站設計的視訊播放器。 有關更多資訊, 請參閱 Dan Carr 執筆的設定 ActionScript 3.0 FLVPlayback 組件的外觀*一文。

Flash CS3 Professional 還包含一組可用來搭配媒體組件的行為, 以在專案的連續視訊與投影片中建立自動化互動。 請注意, 如果您的檔案設為使用 ActionScript 2.0, Flash CS3 會提供這些行為。 (有關使用 ActionScript 2.0 和視訊組件的詳細資訊, 請參閱 Flash「說明」面板的參考指南。 有關在 Flash Professional 8 中或在 Flash CS3 Professional 中的 ActionScript 2.0 檔案使用視訊行為的更多資訊, 請參閱 Dan Carr 執筆的使用 FLVPlayback 行為控制 Flash 視訊*一文。)

相較於使用內嵌視訊, 使用外部漸進式 FLV 檔案有以下優點:

  • 在編寫時, 您只需發佈 SWF 介面來預覽或測試部分或全部 Flash 內容。 此方法能以最快的時間進行預覽和反覆進行實驗。
  • 使用 ActionScript 2.0 檔案時, 視訊會在第一段下載並快取至本機磁碟時開始播放。
  • 使用 ActionScript 3.0 檔案時, 視訊則只會在已下載足夠的內容時才會開始播放, 如此才能從頭到尾播放 FLV 檔案。 此行為可使用 ActionScript 變更。
  • 在執行階段, 視訊檔案會在沒有任何檔案大小或長度的限制下, 從本機磁碟載入至 SWF 檔案。 這時不會有音訊同步問題或記憶體限制。
  • 視訊檔案的影格速率可與 SWF 檔案的影格速率不同, 以允許在設定專案時有較多的彈性。

請注意: 當直接從伺服器載入時, FLV 檔案都會以漸進方式下載。 若要選擇串流檔案, 必須使用 Flash Media Server。

關於串流視訊

最完整、一致且穩定的傳送選項, 是從執行 Flash Media Server (前身為 Flash Communication Server) 的伺服器上串流視訊與音訊檔案。 在串流時, 每個用戶端會開啟持續連線至視訊伺服器, 讓傳送的視訊與用戶端互動間有著緊密的關係。 此方法可以讓您傳送多種功能, 例如頻寬偵測以傳送正確檔案大小的視訊、服務度量的品質、詳細的追蹤與報告統計資料, 以及全面性的互動功能和視訊體驗。

如同漸進式下載, 在此方法中, 視訊內容 (FLV 檔案) 會保持在其他 Flash 內容和視訊播放控制的外部。 因此, 您可以輕鬆地新增或變更內容而無須重新發佈 SWF 檔案。 再者, 由於用戶端與伺服器之間在串流時持續保持連線, 因此 FLV 內容便可以依據使用者或應用程式的回應進行變更。 例如, 如果您發現服務品質已降低, 便可以切換為位元速率較低的視訊。

此方法也有其他好處, 例如:

  • 相較於其他方法, 可以提早開始播放視訊。
  • 串流使用用戶端的記憶體和磁碟空間不多, 這是因為用戶端無須下載整個檔案。
  • 這能讓您更效地使用網路資源, 因為只會將檢視的部分視訊傳送至用戶端。
  • 這能提高傳送媒體的安全性, 因為媒體在串流時無法儲存到用戶端的快取。
  • 這提供較佳的追蹤、報告和記錄功能, 這對視訊廣告業等產業是極重要的功能。
  • 這可讓您傳送即時視訊與音訊, 或從用戶端的網路攝影機或數位攝影機中擷取視訊。
  • 這可以啟用多向與多使用者串流, 以建立視訊聊天、視訊訊息和視訊會議應用程式。
  • 這提供串流程式化控制 (伺服器 Script), 以建立伺服器端播放清單、同步化串流、視用戶端連線速度調整傳送, 以及建立應用程式。
  • 這提供進階的流量與處理量監視與報告。

無法購買與維護伺服器硬體和 Flash Media Server 軟體的客戶, 可以藉由 Flash Video Streaming Service 串流 Flash 視訊與 MP3 檔案而取得各種好處。 此服務為 Flash Media Server 負載平衡備援部署, 由 Adobe 授權的內容傳送網路 (Content Delivery Network) 夥伴所代管。 有關更多資訊, 請造訪 Adobe.com 的 Flash Video Streaming Service* 網頁。

Flash Media Server 產品系列新增了 Adobe Flash Media Live Encoder*, 這可整合隨插即用的攝影機和麥克風, 讓您在擷取音訊和視訊的同時, 將其串流至 Flash Media Server。 有關串流視訊和廣播即時視訊的更多資訊, 請參閱 Flash Media Server 開發人員中心*

傳送選項的詳細比較

表 2 提供了 Flash 視訊傳送方法特性的比較:

表 2. Flash 視訊傳送方法
  內嵌式視訊 漸進式 FLV 串流 FLV
編碼 根據預設, Flash 視訊匯入精靈會使用 VP6 視訊 Codec 編碼視訊以用於 Flash Player 8, 並使用 Sorenson Spark Codec 以用於 Flash Player 7。此外, 還可以將 FLV 檔案 (在別處編碼) 匯入並置於 Flash 時間軸上 (而無須重新編碼)。 FLV 檔案會透過 FLV QuickTime 匯出外掛程式或 Flash Professional 8 的 Flash 視訊匯入精靈, 從多種專業編輯與編碼應用程式匯出的同時進行編碼, 或者可以使用獨立式 Flash Video Encoder 來編碼視訊檔案。

請注意: 這些選項需要使用 Flash Professional 8 或更新版本。

與漸進式 FLV 相同。 此外, 串流的頻寬偵測功能可以讓您偵測用戶端連線, 並傳送適當編碼的視訊。 您可以從用戶端的網路攝影機或數位攝影機 (DV) 擷取即時視訊內容, 並以程式設計方式控制即時編碼變數。
檔案大小 SWF 檔案包含視訊與音效串流和 Flash 介面, 會產生單一大型檔案。 SWF 檔案可以互相載入, 可讓您將個別視訊片段切割成多個檔案。 將 SWF 和 FLV 檔案獨立開來, 可產生較小的 SWF 檔案。 與漸進式 FLV 相同。
時間軸存取 當視訊內嵌在 Flash 時間軸時, 會出現在個別關鍵影格中, 而且可當作「舞台」中的物件來處理。 適用於依據視訊中的個別關鍵影格建立互動。 視訊僅在執行階段播放。 您無法在 Flash「舞台」中看到個別關鍵影格。 與漸進式 FLV 相同。
發佈 每次要發佈或測試 Flash 內容時, 都必須重新發佈整個視訊檔案。 若變更視訊檔案, 就必須將檔案重新匯入至 Flash 時間軸。 FLV 檔案僅在執行階段參考。 發佈不需要直接參考視訊檔案, 而且比內嵌視訊的方法還要快許多。 您可以更新或修改 FLV 檔案, 而無須變更專案的 SWF 檔案。 與漸進式 FLV 相同。 您可以從虛擬位置動態提取 FLV, 例如您的 SAN 或 Flash Video Streaming Service CDN。
影格速率 視訊影格速率必須和 SWF 影格速率相同。 FLV 視訊檔案的影格速率能與 SWF 檔案不同, 以讓視訊與其他 Flash 內容有個別的時序。 與漸進式 FLV 相同。 即時視訊擷取可利用程式設計方式控制影格速率。
ActionScript 存取 視訊播放與控制是透過控制 Flash 時間軸上 SWF 內容播放來進行。 Flash CS3 Professional 提供多個行為, 可以在使用 ActionScript 2.0 檔案時, 控制視訊和音訊播放。 您可以使用 ActionScript 中的 netStream 物件來「載入」、「播放」、「暫停」和「搜尋」多個外部 FLV 檔案。 與漸進式 FLV 相同。 您也可以使用伺服器端 ActionScript, 以提供串流同步化、伺服器端播放清單、視用戶端連線速度調整的智慧傳送和其他功能。
組件 沒有視訊特定組件。 您可以使用媒體組件 (適用於 Flash MX Professional 2004 或更新版本) 或 FLVPlayback 組件 (適用於 Flash Professional 8 或更新版本) 來設定與顯示外部 FLV 檔案和傳輸控制 (「播放」、「暫停」和「搜尋」)。 您可以使用媒體組件 (適用於 Flash MX Professional 2004 或更新版本) 或 FLVPlayback 組件 (適用於 Flash Professional 8 或更新版本), 來配合從 Flash Media Server 或 Flash Video Streaming Service 串流的視訊。 此外, 您也可以使用 Flash Media Server 通訊組件來串流即時與多向視訊。
網路傳送 除非您將 SWF 檔案內嵌在影片片段中, 否則會以漸進方式下載。 在這種情況下, 整個視訊都必須先下載至用戶端並載入至記憶體, 才能夠播放。 FLV 檔案會以漸進方式下載、快取, 然後從本機磁碟播放。 整個視訊片段不需配合記憶體。 FLV 檔案會從 Flash Media Server 串流, 並在用戶端機器上播放, 然後以邊下載邊播的方式從記憶體中刪除。
效能 在大約 120 秒的視訊之後, 音訊與視訊的同步化會受限制。 整個檔案長度受限於播放系統上的可用記憶體 (RAM)。 改善內嵌的 SWF 視訊的效能, 有較大且較長的視訊, 和可靠的音訊同步。 提供最佳的影像品質, 不過會視播放系統上可用硬碟空間的多寡而定。 從網路傳送的角度能提供最佳效能, 以需求為基礎的最佳化位元速率傳送給更多客戶。 影像品質受限於可以即時傳送的位元速率。
用法 尺寸較小 (小於 320 x 240) 且影格速率較低 (每秒 12 個影格 (fps)) 的視訊短片 (少於 1 分鐘)。 較長、較大 (720 x 480 或以上) 且影格速率較高 (最多達 30 fps) 的視訊片段。 大量視訊、很長的視訊片段, 以及即時與多向串流 (例如網路攝影機聊天和即時事件廣播)。
相容性 Flash Player 6 和更新版本 (On2 VP6 Codec 需要 Flash Player 8 或更新版本)。 Flash Player 7 配合 Sorenson Squeeze Codec, Flash Player 8 配合 On2 VP6 Codec。 Flash Player 6 和更新版本。