我正在制作一个可以将实时 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,as&ip=0.0.0.0&ipbits=0&expire=19000000000&signature=51AF5F39AB0CEC3E5497CD9C900EBFEAECCCB5C7.8506521BFC350652163895D4C26DEE124209AA9E&key=ik0"
这是有效的。
我不知道如何获得这样的网址,最后我here https://github.com/google/ExoPlayer/issues/48。这是否意味着即使视频是我自己的,我也无法从 YouTube 进行流式传输? (尤其是直播视频)如果可以的话,我怎样才能获得我的视频的这样的 URL?
我了解到 DASH URL 实际上是 Google 内部的东西,您可能需要使用解码器才能获取您的 URL。
为此,您可能需要尝试 Karim Abdell Salam 在此提供的以下解决方案SO post https://stackoverflow.com/questions/29607104/how-to-play-youtube-video-in-exoplayer-in-android:
- 首先你需要调用这个url:
http://www.youtube.com/get_video_info?&video_id=v1uyQZNg2vE
并且不要忘记将最后一个 id 更改为目标 id。
- 现在您会收到通知,需要下载一个名为
get_video_info
没有扩展名。
- 尝试使用记事本等打开此文件。
- 现在你有了正确的数据,但你无法读取它,因为它是经过编码的。你需要 HTML 解码器来读取此数据。使用这个:
http://meyerweb.com/eric/tools/dencoder/
。只需粘贴您的数据并按多次解码即可确保其正确解码
- 最后,搜索一个名为
dashmpd
并享受您的网址
您可能还想查看这些链接以获取更多有用的信息和更新:
-
Youtube 视频 https://www.youtube.com/watch?v=6VjF638VObA关于 ExoPlayer:Android 上的自适应视频流
- AndroidDev 博客 - 使用 ExoPlayer 播放 Youtube 视频,不知道演示应用程序中的示例 URL 来自哪里。 https://www.reddit.com/r/androiddev/comments/2sfhlc/using_exoplayer_to_play_youtube_videos_dont_know/
- ExoPlayer 发行说明 https://github.com/google/ExoPlayer/blob/dev-v2/RELEASENOTES.md
最后,您也可以选择尝试在 Android 版本 4.2.2 上播放实时视频,而不必使用本文中提到的 ExoPlayerSO post https://stackoverflow.com/questions/21121259/how-can-i-play-youtube-live-streams-with-the-youtube-android-player-api.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)