Cách nhận mã HTML nhúng cho video được lưu trữ trong youtube theo lập trình. Java API nào có sẵnCách lấy mã HTML nhúng cho video được lưu trữ trong youtube theo cách lập trình
Trả lời
Giả sử bạn có URL của video, thật đơn giản để tạo một video. Bạn cần kết thúc URL (phần sau /watch? V =, hãy gọi nó là ID). Để tạo ra html nhúng iframe, chỉ cần đặt nó vào vị trí thích hợp (trong thuộc tính src, không bao gồm dấu ngoặc):
<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>
Có một vài cách khác nhau để có được những tham số v từ URL. Một biểu thức chính quy sẽ hoạt động.
Sử dụng YouTube Data API (có sẵn sẵn GData client libraries hoặc bạn có thể tự mình thực hiện các công cụ HTTP/XML).
Một trong số các mục nhập <media:content/>
sẽ chứa URL cho SWF có thể nhúng, nếu video có thể nhúng được.
Mặc dù câu trả lời được chấp nhận hoạt động, nếu bạn muốn thực hiện điều này theo chương trình, bạn cần tỷ lệ khung hình chính xác để tạo thứ nguyên iframe tối ưu cho video của bạn. Tôi đã viết các chức năng php sau đây có thể tạo ra một liên kết cho bạn trên bay. Nó sử dụng các tiện ích bash youtube-dl để có được thông tin về video từ bất kỳ liên kết youtube, vì vậy bạn sẽ cần phải chắc chắn rằng đã được cài đặt (apt-get install youtube-dl
nên làm việc trên Ubuntu hoặc hương vị debian khác)
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;
}
}
Chức năng là khá tự giải thích nhưng đây là sự cố:
- Ở mức tối thiểu, bạn cần phải cung cấp liên kết cho đối số đầu tiên.
- Đối số thứ hai là một mảng có chiều rộng, chiều cao hoặc cả hai. Nếu bạn chỉ xác định nó sẽ xử lý giữ tỷ lệ khung hình mặc định và tính kích thước khác cho bạn (đây là cách tôi thường sử dụng nó).
- Đối số thứ ba là một mảng đối số tùy chọn được ghi lại trong chính hàm đó.
- Các fourt là một cuộc tranh cãi boolean tùy chọn cho 'riêng tư' được giải thích như sau:
Kích hoạt chế độ tăng cường bảo mật. Khi bạn bật chế độ tăng cường bảo mật, YouTube sẽ không lưu trữ thông tin về khách truy cập trên trang web của bạn trừ khi họ phát video. Ví dụ
Cách sử dụng:
$link = 'https://www.youtube.com/watch?v=adAqQct3vRI';
echo getYoutubeEmbed($link, ['width' => 560], ['rel' => false]);
Output:
<iframe width="560" height="315" src="//www.youtube.com/embed/605gdJGdaPE?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
- 1. Phát video youtube được nhúng trong vòng
- 2. Tại sao YouTube đặt thuộc tính type = trong iframe cho video được nhúng?
- 3. cách lấy id video youtube từ url
- 4. Cách nhúng và phát video YouTube trong android
- 5. Video được nhúng trên YouTube trong UITableViewCell: Cách cache để ngăn tải lại?
- 6. Django: chuyển đổi URL Youtube sang mã nhúng HTML
- 7. Nhúng video Youtube vào trong ứng dụng Android
- 8. Video được nhúng trên youtube có "autoplay = 1". Nó có được tính theo lượt xem không?
- 9. Nhúng video youtube không có liên kết youtube
- 10. Xóa lớp phủ "phát trên youtube" trên video được nhúng
- 11. Youtube - Cách buộc chất lượng video 480p trong liên kết được nhúng/<iframe>
- 12. Nhận nhiều Video Youtube nhúng để phát tự động theo trình tự
- 13. Tôi làm cách nào để tự động phát video bằng cách sử dụng kiểu mã nhúng mới cho Youtube?
- 14. cách nhúng mã trên các trang html
- 15. Chú thích video trên YouTube có lập trình
- 16. Video hữu ích trong YouTube để tìm hiểu lập trình
- 17. Nhúng video trên YouTube bằng mẫu jQuery - C#
- 18. Làm cách nào để nhúng Video Youtube vào HTML5 <video> Thẻ?
- 19. Làm cách nào để theo dõi sự kiện nhấp của video được nhúng (youtube, vimeo, v.v ...)? (để theo dõi số lượt chơi)
- 20. Video vòng lặp Autostart + Video YouTube
- 21. Thay thế URL YouTube bằng văn bản bằng mã nhúng HTML
- 22. Trình theo dõi tiến trình theo dõi lưu lượng video?
- 23. Video được nhúng trên YouTube ở chế độ HTML5 gốc và toàn màn hình
- 24. Nhúng video youtube vào ứng dụng android bằng nhật thực?
- 25. Phát video youtube trong ứng dụng iPhone
- 26. Autoplay video youtube trong android
- 27. Video được nhúng trên YouTube không dừng lại trong Chrome và IE
- 28. Cách tải video lên YouTube trong Android?
- 29. Cách đơn giản để lập trình có được tất cả các thủ tục được lưu trữ
- 30. Cách tạo video được nhúng không tự động phát
Phương pháp trên dường như mát mẻ, nhưng chúng ta có thể dựa vào kỹ thuật này để giả định rằng định dạng này wi sẽ không bị YouTube thay đổi. Lưu ý: Tôi đang lập kế hoạch lưu trữ ID này trong cơ sở dữ liệu và xây dựng mã HTML này thay vì lưu trữ toàn bộ HTML. Nó có được khuyến khích không? – Jason
Chắc chắn, tôi đã thực hiện nó trên các trang web sản xuất trước đây. Tôi thực sự đã sử dụng kiểu HTML ebmed cũ, nhưng nó vẫn hoạt động ngay cả khi nhúng iframe mới này được ưu tiên. Google rất quan tâm đến việc duy trì khả năng tương thích với tất cả các video hiện đang được nhúng, vì vậy bạn không có gì phải lo lắng. – probabilityzero
YouTube đã sử dụng phương pháp này trong một thời gian dài và dường như hỗ trợ sử dụng phương pháp này theo cách này .. như đã nêu. –