340 Stimmen

Bekommen Sie Miniaturansichten von Vimeo?

Ich möchte ein Vorschaubild für Videos von Vimeo erhalten.

Wenn ich Bilder von Youtube bekomme, mache ich einfach folgendes:

http://img.youtube.com/vi/HwP5NG-3e8I/2.jpg

Irgendwelche Ideen, wie man das für Vimeo macht?

Hier ist dieselbe Frage, ohne Antwort.

16 Stimmen

Ja, es ist legal - beide Websites stellen diese Details auf sehr öffentliche Weise zur Verfügung, weil sie möchten, dass Sie ihren Inhalt verwenden! Alle eingebetteten Videos verlinken schließlich auf die Hosting-Site zurück.

1 Stimmen

Wenn Sie sicherstellen möchten, dass Ihre Seite nicht auf den Vimeo-Server angewiesen ist und die Leistung optimiert ist, schlage ich vor, dies in JavaScript zu tun. Der Nachteil ist, dass der Daumen für Benutzer ohne JavaScript nicht angezeigt wird, aber ein geeigneter Platzhalter mit dem Link sollte freundlich genug sein. (Ändern Sie .xml in .json in Ihrer API-Anfrage an Vimeo)

1 Stimmen

Versuche diese Antwort: stackoverflow.com/a/17156853/146602 - macht es sehr einfach, Informationen/Daten über ein beliebiges Vimeo-Video nur mit der URL zu erhalten.

5voto

Emily Ryan Punkte 79

Wenn Sie keine automatisierte Lösung benötigen, können Sie die Thumbnail-URL finden, indem Sie die Vimeo-ID hier eingeben: http://video.depone.eu/

0 Stimmen

Es gibt eine weitere Antwort genau wie diese auf dieser Seite oben.

5voto

Ian Kemp Punkte 26318

Eigentlich hat der Typ, der die Frage gestellt hat, seine eigene Antwort gepostet.

"Vimeo möchte anscheinend, dass ich einen HTTP-Request mache und die Thumbnail-URL aus dem XML extrahiere, das sie zurückgeben..."

Die Vimeo API-Dokumentation finden Sie hier: http://vimeo.com/api/docs/simple-api

Kurz gesagt muss Ihre App eine GET-Anfrage an eine URL wie die folgende senden:

http://vimeo.com/api/v2/video/video_id.output

und die zurückgegebenen Daten analysieren, um die von Ihnen benötigte Thumbnail-URL zu erhalten, und dann die Datei unter dieser URL herunterladen.

5voto

chetanspeed511987 Punkte 1935
function getVimeoInfo($link)
 {
    if (preg_match('~^http://(?:www\.)?vimeo\.com/(?:clip:)?(\d+)~', $link, $match)) 
    {
        $id = $match[1];
    }
    else
    {
        $id = substr($link,10,strlen($link));
    }

    if (!function_exists('curl_init')) die('CURL ist nicht installiert!');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://vimeo.com/api/v2/video/$id.php");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    $output = unserialize(curl_exec($ch));
    $output = $output[0];
    curl_close($ch);
    return $output;
}`

//an untenstehende Funktion wird die Vorschaubild-URL übergeben.

function save_image_local($thumbnail_url)
    {

         //um das Bild auf dem lokalen Server zu speichern
         $filename = time().'_hbk.jpg';
         $fullpath = '../../app/webroot/img/videos/image/'.$filename;

         file_put_contents ($fullpath,file_get_contents($thumbnail_url));

        return $filename;
    }

5voto

zee Punkte 359

AKTUALISIERUNG: Diese Lösung hat ab Dez 2018 nicht mehr funktioniert.

Ich habe nach dem gleichen gesucht, und es scheint, dass die meisten hier gegebenen Antworten aufgrund der Veraltetheit der Vimeo API V2 veraltet sind.

mein 2 Cent in PHP:

$vidID     = 12345 // Vimeo Video ID
$tnLink = json_decode(file_get_contents('https://vimeo.com/api/oembed.json?url=https%3A//vimeo.com/' . $vidID))->thumbnail_url;

mit dem obigen Code erhalten Sie den Link zum Standard-Vorschaubild von Vimeo.

Wenn Sie ein Bild in einer anderen Größe verwenden möchten, können Sie etwas wie folgt hinzufügen:

$tnLink = substr($tnLink, strrpos($tnLink, '/') + 1);
$tnLink = substr($tnLink, 0, strrpos($tnLink, '_')); // Jetzt haben Sie die Thumbnail-ID, die sich von der Video-ID unterscheidet

// Und Sie können sie mit einem Link zu einer der von Vimeo verkleinerten Vorschaubildergrößen verwenden, zum Beispiel:
$tnLink = 'https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F' . $tnLink    . '_1280x720.jpg&src1=https%3A%2F%2Ff.vimeocdn.com%2Fimages_v6%2Fshare%2Fplay_icon_overlay.png';

0 Stimmen

Kannst du mir bitte helfen, indem du einen offiziellen Ankündigungslink bereitstellst, in dem erwähnt wird, dass v2 Vimeo veraltet ist?

5voto

user342430 Punkte 71

Ich habe eine Funktion in PHP geschrieben, um dies zu ermöglichen, ich hoffe, dass sie für jemanden nützlich ist. Der Pfad zum Thumbnail ist in einem Link-Tag auf der Videoseite enthalten. Das scheint für mich zu funktionieren.

    $video_url = "http://vimeo.com/7811853"  
    $file = fopen($video_url, "r");
    $filedata = stream_get_contents($file);
    $html_content = strpos($filedata,"

`

Ich hoffe, dass es jemandem hilft.

Foggson

`

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X