我正在创建一个可以将实时YouTube视频流式传输到我的应用的应用。我想使用ExoPlayer。我浏览了ExoPlayer的演示应用程序,他们在DASH流媒体中使用的URL是这样的:
<子> “URI”:“http://www.youtube.com/api/manifest/dash/id/bf5bb2419360daf1/source/youtube?as=fmp4_audio_clear,fmp4_sd_hd_clear&sparams=ip,ipbits,expire,source ,ID,如&安培; IP = 0.0.0.0&安培; ipbits = 0&安培;到期= 190亿&安培;签名= 51AF5F39AB0CEC3E5497CD9C900EBFEAECCCB5C7.8506521BFC350652163895D4C26DEE124209AA9E&安培;键= IK0" 子>
这很有效。
我不知道如何获得这样的网址,我最终here。这是否意味着即使视频是我自己的,我也无法从YouTube流式传输? (特别是直播视频)如果我可以如何获得我的视频的这样的URL?
1 个答案:
答案 0 :(得分:2)
我了解到DASH URL实际上是Google内部的内容,您可能需要使用解码器才能获取您的URL。
为此,您可以尝试在此SO帖子中尝试Karim Abdell Salam给出的以下解决方案:
首先,您需要调用此网址:http://www.youtube.com/get_video_info?&amp; video_id = v1uyQZNg2vE,不要忘记更改目标网址的最后一个ID。
现在您将注意到下载名为get_video_info且没有extesion的文件。
尝试使用记事本等打开此文件。
现在你有正确的数据,但你无法阅读,因为它的编码你需要HTML解码器来读取这些数据。使用这个:http://meyerweb.com/eric/tools/dencoder/。只需粘贴数据并按几次解码即可确保解码良好
最后,搜索名为dashmpd的密钥并享受您的URL
您可能还想查看这些链接以获取更多有用的信息和更新:
关于ExoPlayer的YouTube视频:Android上的自适应视频流
AndroidDev博客 - 使用ExoPlayer播放Youtube视频,不知道演示应用程序中的示例网址来自何处。
ExoPlayer发行说明
最后,您可以选择尝试在Android版本4.2.2上播放实时视频,而不必使用此SO帖子中提到的ExoPlayer。