phpBB [media] — универсальный bbcode для вставки аудио, видео, карт и др.

Список разделов phpBBex 1.x (поддерживается) Мастерская 1.x

Описание: Только готовые решения! Статьи, заметки, моды и другие полезности для phpBBex 1.x и phpBB 3.0.x.
Модератор: Поддержка

Сообщение #1 VEG » 18.05.2012, 15:39

BBCode: phpBB [audio] | phpBB [video] | phpBB [media] | phpBB [youtube]

Представляем вам новый универсальный BBCode «phpBB [media]». Это два BBCode в одном: [video] и [audio]. Помимо этого он умеет встраивать и другие мультимедийные вещи, такие как: карты, панорамы, фотогалереи и др. Надеемся, вам понравится. Он подходит как для phpBB, так и для phpBBex. Для установки нет необходимости править какие-либо файлы, его можно добавить через раздел администратора.

Примеры использования

Для вставки видео пользователь должен вставить его адрес между [media][/media]:
Код: Выделить всё
[media]http://vimeo.com/40558553[/media]
или (с указанием предпочитаемых размеров):
Код: Выделить всё
[media=640,360]http://vimeo.com/40558553[/media]

В сообщении это отобразится следующим образом:
phpBB [media]


Для вставки аудио пользователь должен вставить его адрес между [media][/media]:
Код: Выделить всё
[media]https://soundcloud.com/to420/kunta_minimal[/media]

В сообщении это отобразится следующим образом:
phpBB [media]


Поддерживаемые сервисы

Поскольку phpBB [media] — это грамотный симбиоз наших [audio] и [video], он будет поддерживать все сервисы, которые предлагают указанные BBCode. Дополнительно phpBB [media] будет поддерживать сервисы, которые к аудио и видео не имеют прямого отношения, но данные из которых удобно встраивать в сообщения (панорамы, фотогалереи, карты и др.).

На данный момент поддерживаются:
  • все сервисы из phpBB [video] (youtube.com, vimeo.com и др.)
  • все сервисы из phpBB [audio] (soundcloud.com, music.yandex.ru и др.)
  • docs.google.com (документы, таблицы и формы; берите ссылку из File » Publish to the web)
  • maps.google.com (карты, панорамы)
  • openstreetmap.org (карты)
  • 360cities.net (панорамы)
  • dermandar.com (панорамы)
  • share.mapbbcode.org (карты с вашими метками на ней)
  • connect.garmin.com (GPS-треки)
  • endomondo.com (маршруты и тренировки)
  • bikemap.net (GPS-треки)
  • livegpstracks.com (GPS-треки, поддерживаются только ссылки из кода встраивания)

Установка [media] (с автоматическими размерами)

1. Админка, вкладка «Сообщения», страничка «BBCodes», добавить BBCode (если уже есть [media] — редактировать).
2. В поле «Использование BBCode» введите:
Код: Выделить всё
[media]{URL}[/media]
3. В поле «Замена HTML» введите (вводить без изменений!):
Код: Выделить всё
<div class='bbmedia' data-url='{URL}' style='margin: 1px; display: inline-block; vertical-align: bottom;'><div style='width: 200px; height: 40px; border: 1px solid #999; display: table-cell; text-align: center; vertical-align: middle; font: 10px/10px Verdana; color: #555; opacity: 0.5;'><a style='color: #105289; text-decoration: none;' href='//phpbbex.com/' target='_blank'>phpBB</a> &#91;media&#93;</div><script>if (typeof bbmedia == 'undefined') { bbmedia = true; var e = document.createElement('script'); e.async = true; e.src = '//phpbbex.com/api/bbmedia.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(e, s); }</script></div>
4. В поле «Подсказка» введите:
Код: Выделить всё
Вставить аудио, видео, карту, панораму или другое мультимедиа: [media]http://youtube.com/url[/media]
5. Установите галочку «Показывать на странице ответа» и сохраните форму. Готово!

Установка [media=ширина,высота] (с предпочитаемой шириной и высотой плеера)

1. Админка, вкладка «Сообщения», страничка «BBCodes», добавить BBCode (если уже есть [media=] — редактировать).
2. В поле «Использование BBCode» введите:
Код: Выделить всё
[media={INTTEXT}]{URL}[/media]
3. В поле «Замена HTML» введите (вводить без изменений!):
Код: Выделить всё
<div class='bbmedia' data-url='{URL}' data-args='{INTTEXT}' style='margin: 1px; display: inline-block; vertical-align: bottom;'><div style='width: 200px; height: 40px; border: 1px solid #999; display: table-cell; text-align: center; vertical-align: middle; font: 10px/10px Verdana; color: #555; opacity: 0.5;'><a style='color: #105289; text-decoration: none;' href='//phpbbex.com/' target='_blank'>phpBB</a> &#91;media&#93;</div><script>if (typeof bbmedia == 'undefined') { bbmedia = true; var e = document.createElement('script'); e.async = true; e.src = '//phpbbex.com/api/bbmedia.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(e, s); }</script></div>
4. В поле «Подсказка» введите:
Код: Выделить всё
Вставить аудио, видео, карту, панораму или другое мультимедиа: [media=ширина,высота]http://youtube.com/url[/media]
5. Сохраните форму. Готово!

Независимый js-скрипт на вашем сервере

По умолчанию js-скрипт с базой поддерживаемых сервисов загружается напрямую с phpbbex.com. У этого подхода есть преимущество — для всех форумов используется общая копия js-скрипта в кэше браузера пользователей. Однако, это делает вас в какой-то мере зависимыми от нашего сервера. Если вы хотите, чтобы js-скрипт bbmedia загружался с вашего сервера, воспользуйтесь bbmedia.php. Данный PHP-скрипт автоматически возьмёт самую свежую версию bbmedia.js с сервера phpbbex.com, сохранит копию в каталоге вашего форума, после чего будет отдавать её браузеру ваших пользователей, проверяя не чаще раза в сутки наличие обновлений, что не создаст какой-либо ощутимой нагрузки на ваш сервер. Даже при недоступности phpbbex.com этот скрипт будет просто отдавать сохранённую на вашем сервере копию.

Для установки bbmedia.php просто скачайте bbmedia.php.zip и извлеките содержимое архива в кореневую директорию вашего форума. Далее для всех BBCode из серии bbmedia ([audio], [video], [media]) зайдите в редактирование (Админка, вкладка «Сообщения», страничка «BBCodes») и в поле «Замена HTML» замените подстроку «//phpbbex.com/api/bbmedia.js» на путь к вашему файлу bbmedia.php. Лучше всего указывать путь от слэша! Например, если у вас форум имеет адрес вида «http://example.com/forum/», указывайте такой адрес: «/forum/bbmedia.php». Больше ничего в поле «Замена HTML» менять не нужно.

Для принудительного обновления вашей копии js-скрипта необходимо просто запустить «bbmedia.php?update» (с параметром update). Если вы увидите OK — обновление успешно. Иначе вы увидите сообщение о типе ошибки.

Удаление ссылки из кода

На разработку данного bbcode потрачено много времени, поэтому в наличие ссылки на phpbbex.com в коде обязательно. Эта ссылка видна только в момент загрузки и не мешает пользователям. Если по каким-то причинам вам всё-таки необходимо её убрать, свяжитесь с автором любым удобным для вас способом. Возможность убрать ссылку из кода стоит 20$ для одного форума. Это неплохая возможность материально поддержать дальнейшую разработку данного bbcode.

Не работает?

Отображается стандартная заглушка с надписью phpBB [media] и ничего не происходит
Скорее всего на странице есть какая-то ошибка JavaScript, что прекращает выполнение всех скриптов. Включите консоль разработчика и посмотрите что за ошибка. Если у вас на странице используется jQuery, попробуйте обновить версию на более свежую (1.7 и более новую).

Выдаёт ошибку «Неправильный BBCode»
Проблема в том, что вы изменили предлагаемый код либо это сделала за вас какая-то модификация. Попробуйте по очереди убирать модификации, которые влияют на вывод сообщений и обработку BBCode.

Независимо от предлагаемого URL сообщает, что он не поддерживается
Проблема в том, что ваш форум (например, автоцензор) либо какая-то модификация вмешивается в передаваемые URL. Проверьте настройки автоцензора (чтобы в нём не было частей вставляемого URL) либо установленные модификации для обработки ссылок в сообщениях.

При использовании ссылки на файл с моего сервера ничего не проигрывается
Причины может быть две: либо ваш сервер отдаёт некорректный Content-Type, либо данный формат не поддерживается вашим браузером.
Для того, чтобы ваш сервер Apache отдавал корректный Content-Type, добавьте в .htaccess файл в корне вашего сайта (этот код уже есть в phpBBex):
Код: Выделить всё
AddType audio/ogg   ogg oga
AddType video/ogg   ogv
AddType audio/webm  webma
AddType video/webm  webm webmv
AddType audio/mp4   m4a
AddType video/mp4   mp4 m4v
AddType audio/opus  opus
AddType audio/flac  flac
AddType audio/aac   aac
AddType audio/mpeg  mp1 mp2 mp3 mpg mpeg
AddType audio/wav   wav
Рекомендуем использовать форматы Ogg Vorbis, Opus и WebM. IE также поддерживает WebM при установке соответствующего кодека.

phpBB [media] на других ресурсах

Обсуждение phpBB [media] на phpbbguru.net
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1668
С нами: 12 лет 7 месяцев


Сообщение #361 City » 03.01.2015, 19:35

У меня вопрос,уже долгое время ломаю голову с установкой потокового протокола реального времени (Real Time Streaming Protocol, RTSP)
Кто может с этим помочь,пытаюсь поставить такое онлайн-видео rtsp://193.40.133.138/live/siga и множество других?
На форуме поддержки администраторов помогли но не сильно,сделали такой bbcode который даёт открыть плеер только один раз по той ссылке выше и всё.
Код: Выделить всё
[stream]{URL}/{SIMPLETEXT}[/stream]

Код: Выделить всё
<script type="text/javascript" src="/images/ranks/support_iboards_ru/jwplayer.js"></script>
<div id="player">For player</div>
<script type='text/javascript'>
   jwplayer('player').setup({
   'flashplayer': '/images/ranks/support_iboards_ru/player.swf',
   'streamer': '{URL}',
   'file': '{SIMPLETEXT}',
   'autostart': 'true',
   'stretch': 'uniform',
   'controlbar': 'over',
   'rtmp.tunneling': 'false',
   'width': '768',
   'height': '576'
   });
</script>

Код: Выделить всё
[stream]rtmp://193.40.133.138/live/siga[/stream]
Надеюсь вы поможете
City
Репутация: 0
С нами: 9 лет 10 месяцев

Сообщение #362 Aleksey » 09.01.2015, 19:15

Доброго дня! Может кто нибудь подсказать в чем дело. Поставил media на phpbbex 1.8 - если руками писать [media]ссылка[/media], то все норм. но в панеле есть кнопка media и в phpbb 3.0 можно было просто выделить текст (ссылку на тотже ютуб) и нажать на кнопку - текст тогда сам становился в эти кавычки. Можно также сделать в phpbbex ?
Aleksey
Гость

Сообщение #363 Sumanai » 10.01.2015, 06:20

Aleksey:Можно также сделать в phpbbex ?

В phpbbex всё именно так и работает. Дайте угадаю- вы используете стороннюю тему?
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 9 месяцев

Сообщение #364 Aleksey » 10.01.2015, 11:42

Да, поставил тему от phpbb3.0. Как только вернул стандартную, сразу все заработало, только потом уже прочитал что темы не подходят. Сам виноват. Отсюда, если можно, сразу вопрос - не могу найти такого изобилия тем для phpbbex, как для phpbb3x, может есть какое описание как изменять внешний вид?
Aleksey
Гость

Сообщение #365 Sumanai » 10.01.2015, 11:53

Aleksey:может есть какое описание как изменять внешний вид?

В мастерской темы с соответствующим названием, типа Создаём свой собственный стиль для phpBBex на основе встроенного Prosilver.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 9 месяцев

Сообщение #366 Aikon » 13.01.2015, 19:16

Может кому будет полезно.
Для того, чтобы ссылки открывались в новой вкладке использовал расширение ELONW, пробегающее по всем ссылкам после загрузки страницы и, если ссылка внешняя, то проставляющее аттрибуты для открытия в новой вкладке. При этом, однако, портились ссылки, формируемые тегом media (ошибка Неправильный BBCode).
Решение оказалось простым: в коде расширения ELONW (файл overall_footer_after.html) добавил, чтобы атрибуты не выставлялись не только для локальных ссылок, но и для phpbbex.com.

Было
Код: Выделить всё
$('a[href^="http://"], a[href^="https://"]').filter(function(){return this.hostname && removeSubdomain(this.hostname) !== source}).attr("onclick","window.open(this.href);return false;").attr("rel", "nofollow");
Стало
Код: Выделить всё
$('a[href^="http://"], a[href^="https://"]').filter(function(){return this.hostname && removeSubdomain(this.hostname) !== source && this.hostname != 'phpbbex.com'}).attr("onclick","window.open(this.href);return false;").attr("rel", "nofollow");

Теперь всё работает как надо.

P.S. phpbb 3.1.2
Aikon
Репутация: 1
С нами: 9 лет 10 месяцев

Сообщение #367 VEG » 29.01.2015, 11:48

cef:Да, так было бы лучше. Осталось придумать как сохранить пропорции введенные пользователем.
Есть и для этого пара трюков на примете :) Я хочу сделать проверку цифровой подписи (для надёжности) при автообновлении и новый bbmedia.php. Вместе с этим и адаптиврость, чтобы у пользователей было больше поводов для обновления кода и загрузки нового bbmedia.php.

135:VEG, не пора ли переходить на phpBB [embed]?
Была мысль выбрать такое название. Но мне почему-то кажется, что кнопка media будет понятнее для пользователя. Ну и плюс каждый сам себе может назвать BBCode как хочет, на работоспособность это не повлияет.

cefp:При использовании ббмедиа выводится блок див и внутри него айфрейм. Подскажите как этому айфрейму добавить свойства
А для чего вам это нужно?
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1668
С нами: 12 лет 7 месяцев

Сообщение #368 Phantom » 29.01.2015, 17:30

Такая проблема. Если все оставляю по умолчанию и использую bbmedia.js с phpbbex.com, то все ОК, а если прописываю bbmedia.php - получаю заглушку "phpBB [media]". Подскажите, из-за чего это может происходить?

И еще такой момент (может быть это как-то связано). Если обновляю js-скрипт принудительно через "bbmedia.php?update", то плучаю сообщение следующего содержания:
<br />
<b>Warning</b>: ob_start(): output handler 'ob_gzhandler' conflicts with 'zlib output compression' in <b>/home/u726914014/public_html/forum/bbmedia.php</b> on line <b>7</b><br />
[2015-01-29 14:24:49] OK
Если строку "ob_start('ob_gzhandler');" закомментировать, никаких "Warning" не появляется, только "ОК".
Phantom
Репутация: 0
С нами: 9 лет 9 месяцев

Сообщение #369 ЖЪРЧИК » 29.01.2015, 18:16

Phantom, джава скрипт хостинг не пропускает.
Работает у вас потому что грузится этот файл не с вашего сервера, а с тутошнего.

то плучаю сообщение следующего содержания:
Вероятно, что с правами может быть что то не так, либо сервер запрещает выполнение скрипта.
ЖЪРЧИК
Аватара
Репутация: 174
С нами: 10 лет 3 месяца

Сообщение #370 Sumanai » 30.01.2015, 15:56

Phantom:Подскажите, из-за чего это может происходить?

С хостингом или его настройками что- то не то. Точнее смогу сказать, если увижу всё сам.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 9 месяцев

Сообщение #371 rbooze » 02.03.2015, 23:36

Предлагаю добавить формат GIFV - http://imgur.com/blog/2014/10/09/introducing-gifv/

Или может есть способ вставлять такие ссылки?
http://i.imgur.com/Oj6hvkb.gifv
rbooze
Аватара
Репутация: 95
С нами: 11 лет 3 месяца

Сообщение #372 ЖЪРЧИК » 03.03.2015, 01:12

rbooze, /viewtopic.php?p=16524#p16524
phpBB [media]

Код: Выделить всё
http://i.imgur.com/Oj6hvkb.webm
ЖЪРЧИК
Аватара
Репутация: 174
С нами: 10 лет 3 месяца

Сообщение #373 rbooze » 03.03.2015, 01:32

ЖЪРЧИК, пичаль
rbooze
Аватара
Репутация: 95
С нами: 11 лет 3 месяца

Сообщение #374 VEG » 21.03.2015, 17:52

Хостер внезапно сегодня решил днём заняться техническими работами, поэтому сайт был недоступен. И как обычно решение простое — используйте bbmedia.php.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1668
С нами: 12 лет 7 месяцев

Сообщение #375 Dr.Death » 21.03.2015, 18:22

решение простое, скатайте себе bbmedia.js :biggrin:
Dr.Death M
Аватара
Репутация: 69
С нами: 10 лет 4 месяца

Сообщение #376 Sumanai » 21.03.2015, 18:27

VEG:Хостер внезапно сегодня решил днём заняться техническими работами
Днём? В субботу? Ещё бы в пятницу начали :ill:
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 9 месяцев

Сообщение #377 Dr.Death » 06.04.2015, 00:16

VEG, Евгений, подскажи, без указания display:inline-block (<div class="bbmedia" style="display:inline-block"...>) перестает работать, это баг или фича?
Dr.Death M
Аватара
Репутация: 69
С нами: 10 лет 4 месяца

Сообщение #378 Dr.Death » 06.04.2015, 09:33

Еще подскажи, переделал скрипт, чтобы ютуб был картинкой и играл при нажатии http://kiaoptimaclub.ru/viewtopic.php?t=47, замена картинки на bbmedia (через изменение блока addClass('bbmedia')) не инициализирует плеер, как оно устроено и как его заставить навесить? :smoke:
Dr.Death M
Аватара
Репутация: 69
С нами: 10 лет 4 месяца

Сообщение #379 Test » 06.04.2015, 10:31

Dr.Death, у тебя фэнсибокс открывает видео теперь ;)
Test
Гость

Сообщение #380 Dr.Death » 06.04.2015, 11:10

Test:Dr.Death, у тебя фэнсибокс открывает видео теперь ;)
Я в курсе, народу сначала не понравилось, поэтому хотел заменять картинку на видео как было "до", щас вроде всем нравится...
Dr.Death M
Аватара
Репутация: 69
С нами: 10 лет 4 месяца

Пред.След.

Вернуться в Мастерская 1.x