Membuat Gambar Kecil untuk video

17

Saya telah memeriksa dan membaca banyak posting tentang satu masalah tunggal yang jauh lebih rumit daripada yang terlihat.

Saya memiliki situs web yang menggunakan banyak video yang diambil dari situs web seperti di internet ^^ (layanan seperti youtube, vimeo, videobuzzy, dll.) Dan kami ingin membuat thumbnail video yang tertanam dengan cepat.

Setiap layanan menggunakan API sendiri sehingga saya harus mengadaptasi kode untuk masing-masing, yang terlalu banyak kode dan saya tidak pernah bisa mengelola setiap layanan.

Server web mengusulkan sesuatu seperti itu: http://embed.ly tapi saya mencobanya dan, sebagai contoh, video dari videobuzzy tidak berfungsi. Jadi itu solusi parsial.

Solusi lain adalah menggunakan layanan tangkapan layar yang dapat meminta URL video, merendernya, mengambil snapshot, dan menghasilkan gambar. Menggoda, tetapi hasilnya cenderung menambah penundaan, dan saya harus menemukan layanan snapshot dan menghasilkan kode (well, ini bisa menjadi bagian yang menyenangkan).

Yang paling sederhana adalah mengambil tangkapan layar dan membuat gambar sendiri, lalu mengunggahnya.

Saya lebih suka mengusulkan sesuatu yang lebih ramah pengguna tetapi saya tidak memiliki petunjuk lagi.

Apakah ada yang punya saran tentang itu dan apakah saya mendapatkan gambar yang benar?

Terima kasih.

ADDENDUM **

Jika saya bisa, alih-alih thumbnail, hanya menyematkan video (biasanya iframe) ke dalam dengan ukuran tertentu, yang bisa melakukan trik ...

Simon
sumber
Salah satu cara yang ditemukan adalah melalui plugin: wordtube. Secara umum meliputi JW Player .. tapi mungkin bermanfaat.
majicmike

Jawaban:

20

Anda dapat menggunakan fungsi oEmbed yang dimasukkan ke WordPress. Biasanya semua host video dalam daftar ini akan mengembalikan thumbnail kepada Anda menggunakan oembed.

Berikut adalah daftar penyedia default yang digunakan WordPress untuk penyematan otomatis di area konten. Saya telah menyertakan sumber non-video juga untuk kenyamanan orang lain.

Daftar lengkap penyedia yang mungkin didokumentasikan di kodeks WordPress di bawah:
Sematan - Oke, Jadi Situs Apa Yang Dapat Saya Sematkan?

Pilih penyedia Anda lalu gunakan yang berikut ini untuk mendapatkan informasi video Anda.

require_once(ABSPATH.'wp-includes/class-oembed.php');
$oembed= new WP_oEmbed;
$url = 'http://www.youtube.com/watch?v=oHg5SJYRHA0';
//As noted in the comments below, you can auto-detect the video provider with the following
$provider = $oembed->discover($url);
//$provider = 'http://www.youtube.com/oembed';
$video = $oembed->fetch($provider, $url, array('width' => 300, 'height' => 175));
$title = $video->title;
$html = $video->html;
$thumb = $video->thumbnail_url;

Saya menyadari VideoBuzzy tidak ada dalam daftar. Tampaknya situs tiruan YouTube. Anda harus bertanya kepada mereka apakah mereka memiliki protokol. Jika tidak, Anda dapat mendaftarkan penangan non-oembed dengan menggunakanwp_embed_register_handler() .

Semoga ini membantu!

Brian Fegter
sumber
Kedengarannya sangat bagus! Tetapi apakah ada cara cepat untuk mendapatkan $ url dari postingan alih-alih beign hardcode?
Simon
1
Saat ini, saya hanya menggunakan bidang khusus untuk menempatkan url video saya. Bekerja dengan baik, terus menguji ... Terima kasih banyak, Brian! Saya baru saja mengadaptasi kode dengan menambahkan $ provider = $ oembed-> find ($ vid_url); jadi saya tidak perlu melakukan hardcode pada penyedia video
Simon
@Simon Bisakah Anda membagikan kode final yang membantu menerapkan ini? Dan tolong beri kami beberapa detail tentang bagaimana menerapkan ini? Saya memiliki persyaratan yang sama tetapi tidak yakin bagaimana melakukan ini di WP, saya masih baru di WP. Terima kasih
Krunal
@ Kwrun Ya saya bisa, itu cukup dekat dengan solusi Brian! Saya baru saja menambahkan gambar cadangan dan memperbarui data meta jika oEmbed berhasil, jadi saya tidak perlu bertanya setiap kali. Tetapi saya tidak tahu bagaimana cara mengirimkannya kepada Anda, karena saya tidak dapat menambahkan kode dalam komentar, dan saya merasa itu tidak layak untuk jawaban baru?
Simon
1
@Sisir Sebenarnya, ada. Anda dapat melihat di sini: codex.wordpress.org/Function_Reference/… Daftarkan handler yang bukan pemakai terlebih dahulu, kemudian gunakan kode di atas. :)
Brian Fegter
3

Anda dapat menggunakan plugin ini Wordpress Video Plugin dan mengedit kode plugin ini dan menambahkan situs lain di dalamnya.

ATAU

Anda harus mengintegrasikan FFMPEG di wordpress.

Nilay Patel
sumber
Terima kasih, saya lebih suka menghindari menggunakan plugin ketika saya bisa menghindarinya ^^
Simon
@Simon Itu dimaksudkan sebagai referensi: Buka file "_dan edit kode plugin ini". :)
kaiser
@kaiser-ya, Anda benar, kode plugin harus memberikan wawasan dan implementasi yang bekerja ^^
Simon