YouTube에서 프로그래밍 방식으로 호스팅되는 비디오에 소스 코드 HTML 코드를 가져 오는 방법. 어떤 Java API를 사용할 수 있습니까?YouTube에서 프로그래밍 방식으로 호스팅되는 비디오에 소스 코드 HTML 코드를 가져 오는 방법
답변
동영상의 URL이 있다고 가정하면 생성하는 것이 매우 간단합니다. URL의 끝 부분 (/watch? v = 뒤에있는 부분은 ID이라고 부름)이 필요합니다. iframe을 임베드 HTML을 생성하려면, 단지 (괄호를 포함하지 않는, src 속성에) 적절한 장소에 배치 : URL에서 v 매개 변수를 얻을 수있는 몇 가지 방법이 있습니다
<iframe title="YouTube video player" class="youtube-player" type="text/html" width="640"
height="390" src="http://www.youtube.com/embed/{ID}" frameborder="0"
allowFullScreen></iframe>
. 정규 표현식이 작동합니다.
YouTube Data API을 사용하십시오 (미리 작성된 GData client libraries이 있거나 HTTP/XML 항목을 직접 수행 할 수 있습니다).
<media:content/>
항목 중 하나는 동영상이 삽입 가능한 경우 삽입 가능한 SWF에 대한 URL을 포함합니다.
대답이 유효하더라도 프로그래밍 방식으로이 작업을 수행하려면 비디오의 최적 iframe 크기를 생성하려면 올바른 가로 세로 비율이 필요합니다. 내가 비행에 대한 링크를 생성 할 수있는 다음과 같은 PHP 함수를 썼습니다. 그것은 어떤 유튜브 링크에서 비디오에 대한 정보를 얻을 수있는 bash는 유틸리티 youtube-dl를 사용하는, 그래서 당신은
function getYoutubeEmbed($link, $size = [], $options = [], $privacy = false) {
$options += [
'rel' => true, // Show suggested videos when the video finishes.
'controls' => true, // Show player controls.
'showinfo' => true, // Show video title and player actions.
];
$json = json_decode(exec('youtube-dl -j --no-warnings ' . $link . ' 2>/dev/null'));
if ($json && !empty($id = $json->id) && !empty($width = $json->width) && !empty($height = $json->height)) {
$args = [];
foreach ($options as $option => $value) {
if (!$value) {
$args[] = $option . '=0';
}
}
if ($size) {
if (!empty($size['width']) && !empty($size['height'])) {
$width = $size['width'];
$height = $size['height'];
} else if (!empty($size['width'])) {
$height = ceil(($height * $size['width'])/$width);
$width = $size['width'];
} else if (!empty($size['height'])) {
$width = ceil(($width * $size['height'])/$height);
$height = $size['height'];
}
}
$url = ($privacy ? 'www.youtube-nocookie.com/embed/' : 'www.youtube.com/embed/') . $id . ($args ? '?' . implode('&',$args) : '');
$iframe = '<iframe width="' . $width . '" height="' . $height . '" src="//' . $url . '" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>';
return $iframe;
} else {
return false;
}
}
기능 (apt-get install youtube-dl
우분투 또는 다른 데비안 맛에 작동합니다) 그 설치되어 있는지 확인해야합니다 상당히 자체입니다 설명하지만 여기에 고장이 있습니다 :
- 최소한 첫 번째 인수에 대한 링크를 제공해야합니다.
- 두 번째 인수는 너비, 높이 또는 둘 다의 배열입니다. 하나만 지정하면 기본 가로 세로 비율을 유지하고 다른 치수를 계산합니다 (일반적으로 사용하는 방법입니다).
- 세 번째 인수는 함수 자체에 설명되어있는 선택적 인수 배열입니다.
하는 개인 정보 강화 모드 사용 :
사톤는 다음과 같이 설명 '개인 정보 보호'에 대한 선택적 부울 인수입니다. 개인 정보 보호 강화 모드를 사용 설정하면 YouTube는 동영상을 재생하지 않는 한 웹 사이트 방문자의 정보를 저장하지 않습니다.
사용 예 :
$link = 'https://www.youtube.com/watch?v=adAqQct3vRI';
echo getYoutubeEmbed($link, ['width' => 560], ['rel' => false]);
출력 :
<iframe width="560" height="315" src="//www.youtube.com/embed/605gdJGdaPE?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
- 1. 외부 URL에서 html 소스 코드를 가져 오는 방법
- 2. 프로그래밍 방식으로 비디오에 그림 넣기
- 3. .NET 컨트롤의 HTML 코드를 가져 오는 방법
- 4. HttpClient HttpResponse에서 소스 코드를 가져 오는 방법은 무엇입니까? 여기
- 5. 파일에서 사용자 라이브러리를 프로그래밍 방식으로 가져 오는 방법
- 6. POP3 메일에서 첨부 파일을 프로그래밍 방식으로 가져 오는 방법 (C#)?
- 7. 프로그래밍 방식으로 sqlite의 모든 테이블 목록을 가져 오는 방법
- 8. 프로그래밍 방식으로 IPAQ 포켓 PC에서 cellID를 가져 오는 방법
- 9. C# : 프로그래밍 방식으로 SQL 스크립트를 데이터베이스로 가져 오는 방법?
- 10. LaTeX 프로그래밍 소스 코드
- 11. UIWebView에서 XML 소스 코드를 가져 오는 방법은 무엇입니까?
- 12. 안드로이드에서 HTML 소스 코드를 얻는 방법?
- 13. asp.net에서 오류 주변 코드를 가져 오는 방법
- 14. WebView에서 HTML 소스 코드 가져 오기
- 15. 공유 메뉴를 선택하면 브라우저에서 HTML 코드를 가져 오는 방법
- 16. 모듈 방식으로 소스 코드를 구성하는 방법
- 17. 프로그래밍 방식으로 TFS에서 전체 폴더 기록을 가져 오는 방법은 무엇입니까?
- 18. 소스 코드에서 비디오의 ID를 가져 오는 방법
- 19. 프로그래밍 방식으로 HTML 생성
- 20. 프로그래밍 방식으로 C# 코드를 구문 분석 및 수정하는 방법
- 21. MACOSX에서 라우팅 테이블 가져 오기 (프로그래밍 방식으로)
- 22. 프로그래밍 방식으로 웹 서비스 매개 변수를 가져 오는 중입니까?
- 23. 프로그래밍 방식으로 html 태그 생성
- 24. 페이지에서 소스 코드 가져 오기
- 25. 코코아에서 HTML 소스 코드 열기
- 26. 프로그래밍 방식으로 SAS SCL 코드 컴파일
- 27. JavaScript에서는 주어진 URL의 소스 코드를 가져 오는 방법이 있습니까?
- 28. UIWebView를 사용하여 페이지의 소스 코드를 가져 오는 중
- 29. Eclipse에서 Android 앱 프로젝트 소스 코드를 가져 오는 방법은 무엇입니까?
- 30. 소스 코드를 가져 오는 MFC 응용 프로그램 열기
위의 방법은 멋진 것 같다, 그러나 우리는 가정이 기술에 의존 할 수 이 형식 앞으로 YouTube에서 변경하지 않아야합니다. 참고 :이 ID를 데이터베이스에 저장하고 전체 HTML을 저장하는 대신이 HTML 코드를 작성하려고합니다. 그것은 권위가 있습니까? – Jason
예전에 제작 사이트에서 해봤습니다. 사실 ebmed HTML의 예전 스타일을 사용했지만,이 새로운 iframe 삽입이 이제는 선호 되더라도 여전히 작동합니다. Google은 현재 포함 된 모든 동영상과의 호환성 유지에 큰 관심을 가지고 있으므로 걱정할 필요가 없습니다. – probabilityzero
YouTube는이 방법을 오랫동안 사용해 왔으며 목적에 따라이 방법을 사용하는 것을 지원하는 것으로 보입니다. –