Понадобилось мне для своего следующего сайта вставлять видео из небезызвестной социальной сети Одноклассники.
Только вот, в отличие от всяких YouTube'ов или других [более лучших] соц. сетей, EMBED-код для этого там не предусмотрен. Видимо руководство против распростанения их видосов по сети, что странно, так как большая часть выложенного там — это на самом деле видео из той же "трубы", и это даже не перезаливы, а тупо вставляются через iframe.
Гугление данного вопроса и даже спрашивание в ВиО-сервисах результата никакого не дало, так что оставалось вооружиться Firebug'ом и ковырять код страниц Одноклассников самому.
В результате чего и был создан плагин Embed Odnoklassniki Video.
Мой первый плагин для WordPress, кстати (не считая нескольких модификаций других плагинов для этого блога, которые вряд ли достойны внимания).
Поэтому он простой как два рубля, и описывать его работу тут я не буду — всё ясно из описания в директории плагинов, даже на английском.
Так как я на самом деле не очень люблю использовать плагины для таких простых вещей как вставка видео в пост (вот это поворот, да?), вместо этого я лучше расскажу о генерируемом плагином HTML-коде flash-плеера. Который хоть и получился даже компактнее того, что используется на самих Одноклассниках, всё-равно достаточно длинный.
Так что, надеюсь, кому-то мой небольшой вклад в дело open-source'а всё же пригодится.
А остальным — добро пожаловать под кат.
Собственно, код:
<object data="http://st.mycdn.me/static/MegaPlayer/3-5-1/vp.swf?preferHd=1&noUpload=1&autoplay=0" type="application/x-shockwave-flash" width="491" height="285"> <param name="movie" value="http://st.mycdn.me/static/MegaPlayer/3-5-1/vp.swf?preferHd=1&noUpload=1&autoplay=0" /> <param name="allowScriptAccess" value="always" /> <param name="allowFullScreen" value="true" /> <param name="loop" value="false" /> <param name="menu" value="false" /> <param name="wmode" value="opaque" /> <param name="flashvars" value="&metadataUrl=http%3A%2F%2Fodnoklassniki.ru%2Fdk%3Fcmd%3DvideoPlayerMetadata%26mid%3D12345" /> </object> |
Несколько моментов:
- URL плеера указан два раза для совместимости и с браузерами и с IE;
- 491 на 285 это обычный размер видео в постах на Одноклассниках, и такой же размер по умолчанию использует при вставке плагин;
- магия заключается в параметре
metadataUrl
, который содержит адрес остальных "атрибутов" видео (ссылки на сами MP4-файлы в разном качестве и постер), а также в адресе естественно присутствует и сам ID видео (тут: 12345) — всё это и позволило сократить итоговый HTML-код — по сравнению с оригинальным с сайта.
Плюс к этому, самое важное для пользователя:
1) Так как официального способа вставки видео нет (иначе это всё было бы просто не нужно), то встроенные таким образом на ваши сайты видео могут перестать воспроизводиться в любой момент!!!
2) Если нет прав доступа на просмотр видео на самих Одноклассниках, то и на вашем сайте оно работать не будет, но ничего кроме чёрного квадрата вы не увидите. Это опять же потому что API для встраивания нет.
3) Видео, которые на самом деле НЕ хостятся на ОК (а например вставлены с YouTube) работать тоже не будут. Но в этом случае можно зайти на страницу видео в YT и взять embed-код оттуда.
Всё тоже самое написано и в FAQ плагина (на английском).
Реальный пример:
Если всё вышенаписанное кажется вам слишком сложным по сравнению с использованием шорткода
то самое время скачать Embed Odnoklassniki Video. :-)
He does not play when connected to mobile videos
Make plug-in update
night, what do you mean “mobile videos”? please, post here the link to video from Odnoklassniki that not playing. and also the link to your WordPress blog where you try to embed. thanks
Connecting the phone opens Odnoklassniki videos on the site, but you do not open plug-in player changed to be updated
I went to the website the video does not turn on the phone is not compatible mobile
http://s28.postimg.org/xutr5qrkd/image.png
http://s28.postimg.org/xutr5qrkd/image.png senin siten
http://s13.postimg.org/r7y085njr/image_1.png odnoklassniki
http://s28.postimg.org/xutr5qrkd/image.png your site
http://s13.postimg.org/r7y085njr/image_1.png odnoklassniki
I already see this issue on my own tablet with Android 4.2.2 (by the way, what mobile device do you use?), but right now I have no idea why videos not load. will investigate that and do something :)
Hi, Thanks for this pulgins. Did you have any idea of what it doesn’t work mobile. This seems that flash player i not compatible with mobile. mobile use html5.
Marcus, OK.ru now have own embed-code for videos, try use it for mobile.
hello;
this plugin doesn’t work.
http://img.prntscr.com/img?url=http://i.imgur.com/TBrraFe.jpg
how can i run this plugin?
thank you
Dizi Merkezi, you don’t need my plugin anymore. use embed-code from video’s page on OK.ru.