Потоковая передача живого видео с YouTube (DASH) в приложение для Android с помощью ExoPlayer

Я делаю приложение, которое может транслировать живое видео с YouTube в мое приложение. Я хочу использовать ExoPlayer. Я просмотрел демонстрационное приложение ExoPlayer, и URL-адрес, который они используют в потоковой передаче DASH, выглядит примерно так:

"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"

Это работает.

Я не знаю, как получить такой URL-адрес, и в итоге оказываюсь здесь. Означает ли это, что я не могу транслировать видео с YouTube, даже если это мое собственное видео? (особенно живые видео) Если я могу, как я могу получить такой URL-адрес для своего видео?


person hushed_voice    schedule 23.11.2016    source источник


Ответы (1)


Я узнал, что URL-адреса DASH на самом деле являются внутренними для Google, и вам может потребоваться использовать декодер, чтобы получить свой URL-адрес.

Для этого вы можете попробовать следующее решение, данное Каримом Абделлом Саламом в этом ТАК опубликовать:

  1. Сначала вам нужно вызвать этот URL: http://www.youtube.com/get_video_info?&video_id=v1uyQZNg2vE и не забудьте изменить последний идентификатор на целевой.
  2. Теперь вы получите уведомление о загрузке файла с именем get_video_info без расширения.
  3. Попробуйте открыть этот файл с помощью блокнота и так далее.
  4. Теперь у вас есть правильные данные, но вы не можете их прочитать, потому что они закодированы. Вам нужен декодер HTML, чтобы прочитать эти данные. Используйте этот: http://meyerweb.com/eric/tools/dencoder/. Просто вставьте свои данные и нажмите декодировать несколько раз, чтобы убедиться, что они хорошо декодированы.
  5. Наконец, найдите ключ с именем dashmpd и наслаждайтесь своим URL.

Вы также можете проверить эти ссылки для получения дополнительной полезной информации и обновлений:

Наконец, вы также можете попытаться воспроизвести живое видео на Android версии 4.2.2 без необходимости использования ExoPlayer, как указано в этом SO post.

person Teyam    schedule 24.11.2016
comment
Я пробовал это, но все, что я получаю в get_video_info, это статус=сбой&код_ошибки=2&причина=неверный+параметры. или причина=Это+видео+является+частным.&status=fail&errorcode=150&errordetail=0 - person hushed_voice; 25.11.2016