0

Я хочу воспроизвести все файлы YouTube, встроенные на сайт, с помощью SoundManager2 аудиоплеер. Как я могу получить доступ к URL-адресу Youtube из идентификатора видео?Получите URL-адрес файла youtube с идентификатора видео с помощью API

Примечание. Soundcloud предлагает возможность получить прямой URL-адрес для потоковой передачи из URL-адреса песни. Вот working example с Soundmanager2 и Angular. Теперь я хочу сделать то же самое для Youtube.

ответ

2

Немного хакерский способ - вы можете использовать API OUmbed Youtube, однако вам нужно указать URL-адрес, поэтому вам нужно будет добавить ID в конец. https://www.youtube.com/oembed?url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DiwGFalTRHDA

Это будет последовательно возвращать встроенный iframe, из которого вы можете повторно URL URL из.

var regex = /<iframe.*?src='(.*?)'/; 
var src = regex.exec(str)[1]; 
1

Ваше название указано с использованием API. Невозможно получить доступ к URL-адресу файла YouTube с помощью идентификатора видео. В среднем, с URL-адресом файла вы также можете скачать его, распространять контент и т. Д., Пока он против YouTube Terms. Таким образом, для этого нет такого API.

Поскольку вы отмечены Javascript, есть возможность получить прямой доступ к URL-адресу файла. Вероятно, это не так, как вы хотели, но он безупречно работал с консолью инструментов разработчика, доступной в любом браузере. Для получения дополнительной информации Here you go

const videoUrls = ytplayer.config.args.url_encoded_fmt_stream_map 
    .split(',') 
    .map(item => item 
    .split('&') 
    .reduce((prev, curr) => (curr = curr.split('='), 
     Object.assign(prev, {[curr[0]]: decodeURIComponent(curr[1])}) 
    ), {}) 
) 
    .reduce((prev, curr) => Object.assign(prev, { 
    [curr.quality + ':' + curr.type.split(';')[0]]: curr 
    }), {}); 
console.log(videoUrls); 
+0

Это на самом деле не работает для встроенных файлов с YouTube: "Uncaught ReferenceError: ytplayer не определен". ytplayer - объект Javascript, вы знаете, как узнать, как он называется встроенными игроками iframe? – geraldo

+0

Вы имеете в виду вот так: https: //developers.google.com/youtube/iframe_api_reference –

+0

Точно! Любое вложение файлов youtube на внешние сайты ... – geraldo

Смежные вопросы