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
Репутация: 1653
С нами: 12 лет 1 месяц


Сообщение #581 Nitro » 05.01.2022, 14:07

добрый день.
не работает, перестал. другие бб-коды нормально работают, этот просто отображается как
Код: Выделить всё
[media]ссылка[/media]
.
Версия phpBB: 3.1.12
перепроверил всё по тексту - всё должно работать по идее...
Nitro
Гость

Сообщение #582 VEG » 06.01.2022, 00:04

Скорее всего у вас на странице появилась ошибка JS, которая предотвращает работу скрипта. Смотрите что именяли в последнее время.

Добавлено спустя 1 минуту 44 секунды:
А, у вас он вообще не обрабатывается, и этот текст показывается так, будто он никак не обработался движком? Тогда попробуйте пересоздать его, а потом распарсить BBCode в старых сообщениях повторно.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 12 лет 1 месяц

Сообщение #583 VEG » 22.01.2023, 01:08

Сервис video.bigmir.net закрылся, так что его поддержка удалена из кода.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 12 лет 1 месяц

Сообщение #584 forums » 25.10.2023, 13:15

Ролики из vk не хочет проигрывать.
Пример:
phpBB [media]
forums
Репутация: 0
С нами: 9 лет 11 месяцев

Сообщение #585 VEG » 25.10.2023, 20:11

Обновился формат ссылок на VK. Добавил поддержку нового варианта. Теперь не обязательно использовать ссылку из кода встраивания: если видео не приватное, можно и обычную ссылку скармливать.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 12 лет 1 месяц

Сообщение #586 Vadim-fr » 18.12.2023, 09:37

Добрый день!
Заметил, что не работают ссылки из ютуб формата: "https://www.youtube.com/shorts/2YlJYV07kLQ?feature=share"
В таких ссылках достаточно "/shorts/" заменить на "/embed/" и всё начинает показывать, однако как это сделать в скрипте - не знаю.
Помогите пожалуйста!
Vadim-fr
Репутация: 0
С нами: 5 месяцев 11 дней

Сообщение #587 VEG » 21.12.2023, 00:53

Добавил поддержку таких ссылок. Если вдруг не работает, очистите кэш или нажмите Ctrl+F5.

Пример:

Код: Выделить всё
[media]https://www.youtube.com/shorts/oaxYl1TSyoE[/media]

phpBB [media]


Такие видео автоматически вставляются как вертикальные.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 12 лет 1 месяц

Сообщение #588 Vadim-fr » 23.12.2023, 18:45

Всё отлично работает!
Спасибо огромное и с наступающим!! :) :clap: :smile:

Добавлено спустя 5 часов 56 минут:
Пардон, нашёл одну проблемку под Новый год.. - невозможно по умолчанию в кнопке ббкода задавать размеры ролика больше, чем предустановленный.
У меня автоматом, при нажатии, выходит - [media width=990 height=550]******[/media] и в этом случае, "стоячие" ролики становятся гигантскими.

Научить девочек, каждый раз в горизонтальный ролик задавать размер через запятую, дело бесперспективное..
Если на стороне темплейта установить размеры побольше, то и стоячие ролики будут автоматом гигантского размера..
Выходит, что ролики, по умолчанию, могут быть только 640 на 350 что для современного мира, всё таки маловато..
Vadim-fr
Репутация: 0
С нами: 5 месяцев 11 дней

Сообщение #589 VEG » 24.12.2023, 14:21

Вы сейчас скорее всего передаёте размеры через data-args. Этот параметр следует передавать только если пользователь сам хочет установить какие-то размеры. Если вы хотите задать какой-то размер по умолчанию, который будет использоваться если в data-args ничего нет, просто установите дополнительно data-width="990" без указания предпочитаемого data-height, тогда указанная ширина будет использоваться как высота для вертикальных видео.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 12 лет 1 месяц

Сообщение #590 Vadim-fr » 25.12.2023, 23:41

Большое спасибо, за подсказку!
Ширина горизонтальных роликов стала той, что прописал в data-width в первом div-е, но вот вертикальные, при этом, становятся такими, что в окне они не помещаются..
Великоваты..
Вложения
1.jpg
Вот это
2.jpg
Вместо этого...
Vadim-fr
Репутация: 0
С нами: 5 месяцев 11 дней

Сообщение #591 VEG » 26.12.2023, 14:35

Ну вертикальные в таком случае должны стать 990 пикселей по высоте. Можете поставить немного меньшее значение ширины, чтобы оно и для высоты вертикальных видео подходило.

В будущем может добавлю дополнительных настроек по этому поводу, а пока что так.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 12 лет 1 месяц

Сообщение #592 Vadim-fr » 27.12.2023, 12:19

Спасибо большое!
Главное, понятен принцип!
Сделаю 800.. :)
VEG:В будущем может добавлю дополнительных настроек по этому поводу, а пока что так.
Было бы здорово!! Ну, типа, если знаменатель больше >= скажем, 700 то высоту делать 700 или меньше.. :)
Vadim-fr
Репутация: 0
С нами: 5 месяцев 11 дней

Пред.

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