android - 用于 Youtube 视频的 Exoplayer

标签 android video youtube exoplayer

我的目标是在应用程序中播放 Youtube 视频。

  • Youtube Player API 不是我想要的,因为视频前面可能有叠加层。
  • Webview 的性能很差,而且不允许自动播放。

Exoplayer 看起来不错,但他们的大部分文档都已损坏(链接),对于一个非常简单的任务来说非常复杂,并且不提供工作演示(他们的演示崩溃......)。此外,他们没有解释如何正确获取 youtube URL 的 DASH。

那么,有没有办法让 Exoplayer 轻松获取任何 youtube 链接的 DASH 信息,例如 https://www.youtube.com/watch?v=yFAnn2j4iB0

我使用 http://www.youtube.com/get_video_info?&video_id=yFAnn2j4iB0解码后我得到这个 DASH url:https://manifest.googlevideo.com/api/manifest/dash/ms/au/nh/IgpwcjAxLnBhcjAxKgkxMjcuMC4wLjE/mv/m/source/youtube/requiressl/yes/ip/165.225.76.70/fexp/3300108,3300130,3300161,3313267,9419451,9422596,9424135,9425619,9426788,9428398,9431012,9431719,9433096,9433223,9433946,9435526,9438327,9438662,9439580,9441225,9441737,9442156,9442424,9442426,9442680,9443322,9443345,9443768,9443913,9444207,9445344/ipbits/0/as/fmp4_audio_clear,webm_audio_clear,webm2_audio_clear,fmp4_sd_hd_clear,webm2_sd_hd_clear/sparams/as,hfr,id,initcwndbps,ip,ipbits,itag,mm,mn,ms,mv,nh,pl,playback_host,requiressl,source,expire/pl/23/id/c850279f68f8881d/mn/sn-25g7snee/mm/31/hfr/1/playback_host/r18---sn-25g7snee.googlevideo.com/itag/0/mt/1471872416/sver/3/key/yt6/initcwndbps/9365000/expire/1471894709/upn/w1CO218TeQA/s/11395DF1FE7737DA54826F38EE1C61D28B46619DC.9724AB654EE916E8B5C5F687BE3504E4799BA939933

但它并没有在 Exoplayer 演示中开始抛光。这个 DASH 正确吗?你们有人在他们的应用程序中使用 ExoPlayer 吗?

目前我找到的文档:
How to play youtube video in ExoPlayer in Android? https://github.com/google/ExoPlayer/tree/release-v1/demo_ext (但它崩溃了><)

最佳答案

如果您的目标是播放 YouTube 视频,请使用 YouTube Android Player API .您需要向 Exoplayer 提供直接 URL。

关于android - 用于 Youtube 视频的 Exoplayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39083918/

相关文章:

android - 什么是 Android GSF 包?

android - 订阅 ID 在 Android 中存在多长时间?

android - 在 android studio 中从网站中提取文本

javascript - 如何从父 YouTube 帐户访问子帐户的播放列表或维护子帐户的授权?

javascript - 在播放和播放YouTube iframe嵌入时触发事件

java - 线程中的 ParseUser 和 ParseObject 导致 ANR

javascript - 在 javascript/jquery 中生成图形时间线

C++ Winapi - MPEG 电影作为动画背景

multithreading - FFmpeg 对 avcodec_send_packet() 做了什么?

facebook - 在Facebook上分享视频