我正在制作一个可以将实时YouTube视频传输到我的应用程序的应用程序。我想使用exoplayer。我浏览了exoplayer的演示应用程序,它们在仪表板流中使用的URL就是这样:
" uri":" http://www.youtube.com/api/manifest/manifest/dash/dash/bf5b2419360daf1/source/source/youtube?as=fmp4_audio_audio_audio_audio_audio_clear,fmp4,ID,AS& ip = 0.0.0.0.0& ipbits = 0& expire = 19000000000& signature = 51AF5F39AB0CEC3E549CD9C9C9C9C900EBFFEAECBCB5C7.8506521BFC35065216521638954CARENEE "
这在工作。
我不知道如何获得这样的URL,我最终在这里。这是否意味着即使视频是我自己的视频,我也无法从YouTube流媒体?(尤其是现场视频)如果我能为视频获得这样的URL吗?
我了解到,dash URL实际上是Google内部的东西,您可能需要使用解码器才能获取URL。
为此,您可能需要尝试Karim Abdell Salam在此帖子中给出的以下解决方案:
- 首先,您需要调用此URL:
http://www.youtube.com/get_video_info?&video_id=v1uyQZNg2vE
,不要忘记用目标一个更改最后一个ID。- 现在您将通知下载一个名为
get_video_info
的文件,而无需扩展。- 尝试使用记事本和SO打开此文件。
- 现在您拥有正确的数据,但是您无法读取它,因为它编码了您需要HTML解码器来读取此数据。使用此:
http://meyerweb.com/eric/tools/dencoder/
。只需粘贴您的数据并按下几次解码以确保其解码良好- 最后,搜索一个称为
dashmpd
的键并享受您的URL
您可能还需要检查这些链接以获取更多有用的信息和更新:
- YouTube视频有关埃法勒仪:Android上的自适应视频流
- Androiddev博客 - 使用Exoplayer播放YouTube视频,不知道演示应用中的示例URL来自哪里。
- 外部层次发行注释
最后,您也可以选择尝试在Android版本4.2.2上播放实时视频,而不必使用此帖子中提到的外层器。