我正在考慮在Java中實現一個應用程序(使用GWT GUI),其中的選項將能夠播放YouTube視頻和音頻,或者至少只能播放音頻。Java GUI中的YouTube播放器
問題是,我似乎無法找到任何啓用它的API或源代碼。我想要的是,給定YouTube中視頻的URL,可以使用Java進行播放。
我正在考慮在Java中實現一個應用程序(使用GWT GUI),其中的選項將能夠播放YouTube視頻和音頻,或者至少只能播放音頻。Java GUI中的YouTube播放器
問題是,我似乎無法找到任何啓用它的API或源代碼。我想要的是,給定YouTube中視頻的URL,可以使用Java進行播放。
看看Google的YouTube Data API,檢索VideoEntry
應該是非常平凡的(例如參見Interact with YouTube from Java)。從Java播放它們可能需要更多的工作,我想你需要嵌入一個SWF播放器。或者,也可以檢查GWT的Flash/Flex Widget gwt2swf。
我想爲了做到這一點,你必須讓我們的Java應用程序播放Flash視頻。有這Java Flash Player API,但我真的不知道它將如何工作。您必須檢查YouTube的條款和條件,以檢查是否允許 - 並檢查是否可以通過YouTube API(來自視頻網址)獲取更多視頻信息。
最簡單的途徑,恕我直言,是獲得玩家ID並使用custom player打開一個瀏覽器頁面只有玩家在上面。它不會嵌入到應用程序中,但它應該起到魅力的作用。
Youtube視頻使用Adobe的Flash視頻格式進行編碼。從本質上講,你需要做的是獲得FLV文件並找到使用Java播放的方法。
要做到這一點,請查看GreaseMonkey腳本的想法:http://userscripts.org/scripts/review/17972 實質上,您必須獲取Youtube頁面的HTML,解析它並提取FLV文件的URL。
要做後者,您可以使用Java Media Foundation以及提供編解碼器的庫。似乎有幾個包裝可用於FFMPEG,它可以處理FLV文件中找到的大多數常見編解碼器。 Jffmpeg就是其中之一。另一個是FFMPEG-Java。
將Xuggler的MediaViewer對象用於Java媒體播放器,並查看Xuggle-Utils庫中的一組實用函數,以從YouTube網址獲取可播放的FLV。