Come ottenere il codice HTML incorporato per un video ospitato su youtube a livello di programmazione. Che cos'è l'API JavaCome ottenere il codice HTML incorporato per un video ospitato su youtube a livello di programmazione
risposta
Supponendo di avere l'URL del video, è abbastanza semplice generarne uno. È necessaria la fine dell'URL (la parte dopo lo /watch? V =, chiamiamola ID). Per generare il codice HTML iframe embed, basta posizionarlo nel luogo appropriato (l'attributo src, non includere le parentesi):
<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>
Ci sono un paio di modi per ottenere il v parametro dall'URL. Un'espressione regolare funzionerebbe.
Utilizzare YouTube Data API (è pre-compilato GData client libraries oppure è possibile eseguire manualmente il materiale HTTP/XML).
Una delle voci <media:content/>
conterrà un URL per il file SWF incorporabile, se il video è integrabile.
Sebbene la risposta accettata funzioni, se si desidera eseguire questa operazione a livello di codice, è necessario disporre delle proporzioni corrette per generare dimensioni iframe ottimali per il video. Ho scritto la seguente funzione PHP che può generare un link per te al volo. Si utilizza l'utilità bash youtube-dl per ottenere informazioni sul video da qualsiasi link di YouTube, quindi avrai bisogno di assicurarsi che è installato (apt-get install youtube-dl
dovrebbe funzionare su Ubuntu o altri sapori debian)
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;
}
}
La funzione è abbastanza auto esplicativo ma ecco la ripartizione:
- Al minimo è necessario fornire un collegamento per il primo argomento.
- Il secondo argomento è un array di larghezza, altezza o entrambi. Se ne specifichi solo uno tratterà di mantenere le proporzioni predefinite e calcolare l'altra dimensione per te (questo è il modo in cui lo userei di solito).
- Il terzo argomento è una matrice opzionale di argomenti che sono documentati nella funzione stessa.
- Il Fourt è un argomento booleano opzionale per la 'privacy' che si spiega come:
Abilita modalità di privacy ottimizzata. Quando attivi la modalità ottimizzata per la privacy, YouTube non memorizzerà le informazioni sui visitatori sul tuo sito web a meno che non riproducano il video. esempio
Usage:
$link = 'https://www.youtube.com/watch?v=adAqQct3vRI';
echo getYoutubeEmbed($link, ['width' => 560], ['rel' => false]);
uscita:
<iframe width="560" height="315" src="//www.youtube.com/embed/605gdJGdaPE?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
- 1. iOS 8 video YouTube incorporato
- 2. Autorotazione iOS 6.0+ per video incorporato youtube
- 3. Come ottenere un video YouTube incorporato per la riproduzione e il loop automatico
- 4. Interroga a livello di programmazione le autorizzazioni su un repository Git ospitato su TFS
- 5. Come ottenere a livello di programmazione il livello audio corrente?
- 6. Come posso ottenere l'URL corretto per il file video da un video incorporato?
- 7. Android WebView con un video incorporato di YouTube, il pulsante a schermo intero blocca video
- 8. Sostituisci l'URL di YouTube nel testo con il codice HTML incorporato
- 9. Come ottenere il video incorporato di YouTube in tableview e ottenere il problema nella gestione del pulsante "Fatto"
- 10. Come ottenere il contenuto del rendering a livello di programmazione?
- 11. Ottenere il titolo dai video di YouTube
- 12. Come ottenere l'URL di download per il contenuto di una raccolta documenti a livello di programmazione
- 13. Django: conversione da URL Youtube a codice HTML HTML
- 14. Come trasformare un video incorporato di YouTube in uno a larghezza intera?
- 15. Ottenere l'URL del video dopo il caricamento di un video su YouTube utilizzando dati API - php
- 16. iOS 8 YouTube incorporato nell'app Web HTML non riesce
- 17. Video di youtube incorporato con "autoplay = 1". Conta sulle visualizzazioni?
- 18. Come scaricare un video di YouTube utilizzando l'API di YouTube?
- 19. Come ottenere video dalla playlist di un utente -YouTube API
- 20. Video.js youtube il video
- 21. Come ottenere didascalie per i video tramite l'API di YouTube
- 22. Ottenere titolo del video di YouTube
- 23. Collegamento ipertestuale per riprodurre video di YouTube
- 24. Come ottenere a livello di programmazione un elenco di colori da un gradiente su Android
- 25. Riproduzione di video di YouTube su iOS
- 26. Come ottenere l'istogramma di jmap a livello di programmazione?
- 27. Toccare a livello di codice HTML href per aggiornare l'app
- 28. Utilizzando YTPlayerView per riprodurre video di YouTube incorporato in iOS non riuscita con errore restrizione
- 29. Come convertire Selenese (html) in Python a livello di programmazione?
- 30. Come avere un bot di facebook messenger ti mando un video di YouTube incorporato nel messenger
La metodologia di cui sopra sembra fresco, ma possiamo fare affidamento su questa tecnica per ritenere che questo formato wi Non sarà cambiato da YouTube andando avanti. Nota: sto pianificando di memorizzare questo ID nel database e di costruire questo codice HTML invece di memorizzare l'intero codice HTML. È consigliabile? – Jason
Certo, l'ho già fatto nei siti di produzione. In realtà ho usato il vecchio stile di ebmed HTML, ma funziona ancora anche se ora è preferibile questo nuovo iframe embed. Google ha un grande interesse a mantenere la compatibilità con tutti i video attualmente incorporati, quindi non hai nulla di cui preoccuparti. – probabilityzero
YouTube ha utilizzato questo metodo da molto tempo e sembra supportare il suo uso in questo modo di proposito .. come affermato. –