Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
465 views
in Technique[技术] by (71.8m points)

windows phone 7 - Possible to play Youtube video in a wp7 app?

is it possible to play youtube videos in a wp7 application? I would guess you could retrieve the video file from the youtube api and Perhaps play it using a media element? Any suggestion, tips or resources would be appreciated.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

That's a great question and really goes to the heart of YouTube's business model, YouTube's API and WP7 Integration.

Short answer: To a limited extend it could be possible to play low-quality videos in WP7.

The first question you should ask yourself is: "What is Google?" The answer is "An Ad serving company". The overwhelming majority of Google & YouTube's revenue stream comes exclusively from advertisements. If you were to take YouTube's content and serve it on your own website/app without any YouTube branding or ads, that would works against their financial business model.

The second question you should ask yourself is: "So how is iPhone showing YouTube videos? And WP7? Or YouTube website itself for that matter?". This goes into the heart of YouTube's media delivery system. YouTube publicly exposes multiple formats from their website. For example format #1 is H263, Format #6 is MPEG and Format #5 is the SWF/FLV content. You can read more about YouTube Formats in their official documentation.

And now, to answer your question. YouTube API only exposes thumbnail size videos for unauthorized 3rd parties and those could potentially be showed in WP7 in-app. However the video quality will be terrible if scaled up for more than 1/4 of the WP7 screen resolution.

I suggest you read through the GData YouTube developer guide for information on the API. I'll do a quick run-through of how to get to those public videos. Personally, I haven't been successful in getting these 3GP videos to work on WP7.

  1. Open up the GData feed for top rated videos: http://gdata.youtube.com/feeds/api/standardfeeds/top_rated

  2. from the < entry /> element find the < id /> element which should have a link to single video GData feed. I picked up this one: http://gdata.youtube.com/feeds/api/videos/dMH0bHeiRNg

  3. find the < media:content /> elements with yt:format attributes.

    < media:content url='http://www.youtube.com/v/dMH0bHeiRNg?f=videos&app=youtube_gdata' type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full' duration='360' yt:format='5'/>

    < media:content url='rtsp://v5.cache7.c.youtube.com/CiILENy73wIaGQnYRKJ3bPTBdBMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp' type='video/3gpp' medium='video' expression='full' duration='360' yt:format='1'/>

    < media:content url='rtsp://v3.cache8.c.youtube.com/CiILENy73wIaGQnYRKJ3bPTBdBMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp' type='video/3gpp' medium='video' expression='full' duration='360' yt:format='6'/>

  4. Open up "VLC Player" with format #6 URL and you should see the RTSP stream player.

** This whole post should be considered "As far as I know". This is all knowledge I gleamed from official YouTube documentation and forums.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...