@null_object

Как получить оригинальную ссылку на видео YouTube?

Как получить оригинальную ссылку на видео YouTube, подобно многим сервисам скачивания видео. Немного поискав, нашел несколько статей: В первой даже приведен код на JavaScript, но когда начал писать что-то подобное, столкнулся с некоторыми проблемами:
  1. При нескольких обращениях по адресу 'https://www.youtube.com/get_video_info?video_id={V... возвращается по-разному структурированная информация. Например: При первом обращении 5a8ebd701af38380963535.jpeg При втором обращении 5a8ebdb6465d3949903363.jpeg Не сказать, что это проблема, т.к. ссылки всё равно остаются.
  2. Из-за непонятной (мне) структуры этой информации, я не могу разобраться как же мне всё-таки правильно разбить всю информацию и, предположим, создать массив РАЗРЕШЕНИЕ_ВИДЕО => ССЫЛКА_НА_СООТВЕТСТВУЮЩИЙ ФОРМАТ


Ну и наконец черновая реализация, которая изредка работает
$config = urldecode(file_get_contents('https://www.youtube.com/get_video_info?video_id='.$id));
	$end = array();

	echo '<pre>';

	foreach ( explode('&', $config) as $key => $value ) 
	{
		array_push( $end, explode( '=', $value ) );
	}

	foreach ( $end as $el ) 
	{
		if( $el[0] == 'url' )
			echo '<a href="'.urldecode($el[1]).'">'.urldecode($el[1]).'</a><br>';
	}
  • Вопрос задан
  • 1990 просмотров
Решения вопроса 1
doublench21
@doublench21
Зачем мучиться, если есть youtube-dl
Собственно, из php вызываете youtube-dl и получаете массив ссылок. Сразу предупреждаю, что ссылки на видео идут в качестве до 720p. Для качества выше, нужно будет склеивать видео и звуковую дорожку, т.к. они идут отдельно. (ffmpeg в помощь)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы