2010-04-08 114 views
3

我正在將一些YouTube搜索功能構建到iPhone應用程序中,並希望確保我只收到可在設備上播放的結果。根據Searching for videos section in the API reference doc,這看起來相對簡單:如何確保YouTube API只返回iPhone上流傳的視頻?

format參數指定視頻必須以特定視頻格式可用。您的請求可以指定任何以下格式:

我已經嘗試設置「格式= 1」,以限制:移動視頻播放

的RTSP流網址。 H.263視頻(最高176x144)和AMR音頻。

這提供了很大比例的可播放視頻,但有些仍然無法播放,我擔心它不會返回其他可播放的視頻。

當我將格式字段留空時,我會收到更高比例的非流量URL。

回答

2

這聽起來不合適。我的理解是,iPhone不會流式傳輸RTSP,而是支持蘋果的HTTP Streaming分段文件,通過範圍請求實時傳輸MPEG4視頻文件的HTTP流。我也希望視頻是H.264和AAC音頻。

您的設置聽起來適合低端手機特別是,176x144是非智能手機常用的QCIF分辨率。

+0

是的,我希望看到一個H.264選項過濾,但它似乎並不存在。實際上,我完全忽略了這個過濾器選項,似乎得到了更好的(更高比例可播放的)結果。 – prendio2 2010-04-11 20:48:23

+0

我回來了 - 我現在收到大量的無法播放的視頻搜索時沒有過濾 – prendio2 2010-04-12 18:06:30

1

當你看到一個調用返回的XML文件

http://gdata.youtube.com/feeds/api/videos/<your video id> 

,那麼你會發現,它不能播放iPhone上的視頻將具有以下標籤:

<yt:state name='restricted' reasonCode='limitedSyndication'>Syndication of this video was restricted by its owner.</yt:state> 

剛如果標籤存在,請務必查找上面的標籤並忽略視頻。