Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Сделаем сервис лучше » Видео на форуме


Видео на форуме

Сообщений 101 страница 120 из 141

101

Merlin777 написал(а):

Данный скрытый текст содержит сомнение и уныние

Это уже из другой области вопрос.. Можно сделать - можно, будет сделано - :dontknow: Момент с мессенджерами - это момент и популярности платформы, согласен, что момент с ссылкой тоже важен..

+2

102

Merlin777 написал(а):

Данный скрытый текст содержит сомнение и уныние

Боюсь, что эта задача затерялась с уходом Кернела.
Сохранил и её заново нам.

Частичное распознавание ссылок работает и сейчас, но как-то выборочно + только с открытыми разделами.

+1

103

Ну, а так, если с телеграмом сделают как с ватцапом, то вот варианты замены кроме Макса:
- BIP
- IMO
- Element
- eXpress

+2

104

Arakhen написал(а):

но как-то выборочно + только с открытыми разделами

Закрытые разделы и не могут, они от ботов закрыты, и должны скрываться.

+1

105

kolobdur74 написал(а):

Закрытые разделы и не могут, они от ботов закрыты, и должны скрваться.

Не, в их случае это действительно НЕ должно работать.

Просто поясняю, что в случае с закрытыми разделами - это изначально не ошибка. А вот с открытыми для гостей форумами причесать этот момент имеет смысл

+1

106

kolobdur74 написал(а):

Element

Это вроде не сервис, а софт для установки на свой сервер?

+1

107

Merlin777 написал(а):

Это вроде не сервис, а софт для установки на свой сервер?

Ну, как вариант для Майбб)) Да, я подумал, что у них есть свой сервис..

0

108

Так.
Хотел проинформировать обратной связи для - и забыл.

Вопрос Макса посмотрели и пока отложили, так как его интеграция объективно упёрлась в другие задачи. Но галочку на его добавлении после них поставили.

+3

109

Arakhen написал(а):

Так.
Хотел проинформировать обратной связи для - и забыл.

Вопрос Макса посмотрели и пока отложили, так как его интеграция объективно упёрлась в другие задачи. Но галочку на его добавлении после них поставили.

Спасибо, будем ждать и надеяться  :flirt:

0

110

Тема про видео на форуме. Не совсем ясно , про кнопку "Видео" в форме ответа , или просто про все Видео.
Я про другую кнопку. Про HTML
Мало форумов предоставляет такую кнопку, а не просто code , которая еще и работает.
Это резко снижает необходимость добавления разных сервисов и новостных агентств

Отредактировано serega da (Ср, 8 Апр 2026 18:06:06)

0

111

serega da
Сервисы ежедневно модифицируются. Под каждый отдельный видео-сервис отслеживать и своевременно вносить изменения становится проблематично. Сейчас много сервисов позволяет "внедрять" свои ролики html-подобным способом. Кнопка "HTML в сообщениях" позволяет размещать видео без постоянных внесений изменений в парсер форума.

0

112

Reysler
Выше -- это не вопрос. Я знаю , для чего кнопка HTML . Я не могу  вставить  готовый  код  .

В форме ответа какая-то ошибка . Если "Вставка HTML", требует заполнить поле "Собщение", которого нет.
Исправьте форум.
Или обрезали эту возможность, или ошибка. Раньше "Вставка HTML" прекрасно работала. Работает и сейчас на других форумах myBB , не не здесь.

Отредактировано serega da (Ср, 8 Апр 2026 18:14:04)

0

113

serega da
Если вы испытываете сложности со вставкой HTML в сообщениях в режиме визуального редактора, переключитесь в стандартный режим BBCode (переключатель в форме ответа внизу слева на этом форуме).

+1

114

[html]
<!DOCTYPE html>
<html lang="ru">
<head>

<style>
html  { scrollbar-width: none;
           overflow: auto;}

body {
   overflow-x: hidden;
}

body div { transform-style: preserve-3d;}

@keyframes RotateX-plus30minus30 {
   0%     { transform: rotateX(   0deg); }
   6%     { transform: rotateX(-5deg); }
   14%   { transform: rotateX( 10deg); }
   24%   { transform: rotateX(-20deg); }
   34%   { transform: rotateX( 25deg); }
   46%   { transform: rotateX(-30deg); }
   58%   { transform: rotateX( 30deg); }
   68%   { transform: rotateX(-25deg); }
   76%   { transform: rotateX( 20deg); }
   84%   { transform: rotateX(-10deg); }
   92%   { transform: rotateX(   5deg); }
   100% { transform: rotateX(   0deg); }
}
@keyframes RotateZ-plus0plus30 {
   0%     { transform: rotateZ(0deg); }
   6%     { transform: rotateZ(5deg); }
   14%   { transform: rotateZ(10deg); }
   24%   { transform: rotateZ(20deg); }
   34%   { transform: rotateZ(10deg); }
   44%   { transform: rotateZ(30deg); }
   100% { transform: rotateZ(0deg); }
}
@keyframes RotateYo {
   to { transform: rotateY(360deg); }
}
#LayoutGrid,
#LayoutGrid-X,
#Container-Y {
   /* will-change: transform; */
    transform-style: preserve-3d;
    pointer-events: none;
}
#animZ {
   /* will-change: transform; */
    transform-style: preserve-3d;
}
#LayoutGrid {
    position: relative;
    transform-origin: center bottom;
    perspective: 2000px;
    animation: RotateZ-plus0plus30 40s ease-in-out infinite;
}
#LayoutGrid-X {
   text-align: center;
   transform-origin: center top;
   animation: RotateX-plus30minus30 30s ease-in-out infinite ;
}
#Container-Y {
   transform-origin: center top;
   animation: RotateYo 32s cubic-bezier(0.7, -0.6, 0.3, 1.6) infinite ;
}
#animZ {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    transition: transform 1s ease-in-out;
    touch-action: manipulation; /* wait 300ms off , no double tap */
    transform-origin: center top;
    pointer-events: auto;
    cursor: pointer;
}
@media (pointer: coarse) { /* MOBILE */
    #animZ {
        transition: none; /* без задержки перехода, тап мгновенный */
        -webkit-tap-highlight-color: transparent;/* убрать подсветку тапа */
    }
}
.text, .rotator {
          position: absolute;
          bottom: 0;
          transform-origin: center top;
}
.text {
          font-family: Arial, sans-serif;
          font-size: 2rem;
          text-wrap: nowrap;
          color: white;
          font-weight: 900;
          bottom: 0;
          animation: RotateX-plus30minus30 12s ease-in-out infinite ;
}
.rotator {
         transform: translateZ(20px);
}
@media (hover: hover) and (pointer: fine) {/* DESKTOP (Мышь + Ховер) */
    #animZ:hover {
        transform: translateZ(-50px); }
}
</style>
</head>
<!-- Скрипт-обработчик клика , no defer -->
<script src="https://bruxer.netlify.app/js/glass-short.js"></script>
<script>
(() => {
    window.addEventListener('load', () => {
        if (typeof glassShortData === 'undefined') return;
        const sound = new Audio("data:audio/mpeg;base64," + glassShortData);// постоянный объект
        sound.preservesPitch = false;
        sound.volume = 0.7;
        document.addEventListener('click', (e) => {
            sound.playbackRate = Math.random() * 0.8 + 0.2; // Скорость звука = 0.2-1.0
            sound.currentTime = 0;
            sound.play().catch(() => {});
        });
    });
})();
</script>

<body>
    <div id="LayoutGrid">
         <div class="text">КНОПКА !</div>
         <div id="LayoutGrid-X">
               <div id="Container-Y">
                    <div class="rotator">
                        <div class="text">Попади в нее</div>
                    </div>
                    <div id="animZ">
                        <iframe width="100%"
                                height="100%"
                                src="https://www.youtube.com/embed/4mbMHhW4FNI"
                                frameborder="0"
                                allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
                                allowfullscreen>
                        </iframe>
                    </div>
                </div>
         </div>
         <div height="200px"></div>
   </div>
</body>
</html>
[/html]

Отредактировано serega da (Пн, 4 Май 2026 16:31:27)

0

115

Alex_63 , WYSIWYG вполне рабочий и удобный . Надо просто сложные блоки обвести в рамку, чтобы не пропадал . Этого достаточно.

Код:


[html]
<!DOCTYPE html>
<html lang="ru">
<head>

<style>
html  { scrollbar-width: none;
           overflow: auto;}

body {
   overflow-x: hidden;
}

body div { transform-style: preserve-3d;}

@keyframes RotateX-plus30minus30 {
   0%     { transform: rotateX(   0deg); }
   6%     { transform: rotateX(-5deg); }
   14%   { transform: rotateX( 10deg); }
   24%   { transform: rotateX(-20deg); }
   34%   { transform: rotateX( 25deg); }
   46%   { transform: rotateX(-30deg); }
   58%   { transform: rotateX( 30deg); }
   68%   { transform: rotateX(-25deg); }
   76%   { transform: rotateX( 20deg); }
   84%   { transform: rotateX(-10deg); }
   92%   { transform: rotateX(   5deg); }
   100% { transform: rotateX(   0deg); }
}
@keyframes RotateZ-plus0plus30 {
   0%     { transform: rotateZ(0deg); }
   6%     { transform: rotateZ(5deg); }
   14%   { transform: rotateZ(10deg); }
   24%   { transform: rotateZ(20deg); }
   34%   { transform: rotateZ(10deg); }
   44%   { transform: rotateZ(30deg); }
   100% { transform: rotateZ(0deg); }
}
@keyframes RotateYo {
   to { transform: rotateY(360deg); } 
}
#LayoutGrid,
#LayoutGrid-X,
#Container-Y {
   /* will-change: transform; */
    transform-style: preserve-3d;
    pointer-events: none;
}
#animZ {
   /* will-change: transform; */
    transform-style: preserve-3d;
}
#LayoutGrid {
    position: relative;
    transform-origin: center bottom;
    perspective: 2000px;
    animation: RotateZ-plus0plus30 40s ease-in-out infinite;
}
#LayoutGrid-X {
   text-align: center;
   transform-origin: center top;
   animation: RotateX-plus30minus30 30s ease-in-out infinite ;
}
#Container-Y {
   transform-origin: center top;
   animation: RotateYo 32s cubic-bezier(0.7, -0.6, 0.3, 1.6) infinite ;
}
#animZ {
    width: 100%; 
    max-width: 100%; 
    margin: 0 auto; 
    aspect-ratio: 16 / 9;
    overflow: hidden;
    transition: transform 1s ease-in-out;
    touch-action: manipulation;	/* wait 300ms off , no double tap */
    transform-origin: center top;
    pointer-events: auto;
    cursor: pointer;
}
@media (pointer: coarse) {	/* MOBILE */
    #animZ {
        transition: none;	/* без задержки перехода, тап мгновенный */
        -webkit-tap-highlight-color: transparent;/* убрать подсветку тапа */
    }
}
.text, .rotator {
          position: absolute;
          bottom: 0;
          transform-origin: center top;
}
.text {
          font-family: Arial, sans-serif;
          font-size: 2rem;
          text-wrap: nowrap; 
          color: white;
          font-weight: 900;
          bottom: 0;
          animation: RotateX-plus30minus30 12s ease-in-out infinite ; 
}
.rotator {
         transform: translateZ(20px);
}
@media (hover: hover) and (pointer: fine) {/* DESKTOP (Мышь + Ховер) */
    #animZ:hover {
        transform: translateZ(-50px); }
}
</style>
</head>
<!-- Скрипт-обработчик клика , no defer -->
<script src="https://bruxer.netlify.app/js/glass-short.js"></script>
<script>
(() => {
    window.addEventListener('load', () => {
        if (typeof glassShortData === 'undefined') return;
        const sound = new Audio("data:audio/mpeg;base64," + glassShortData);// постоянный объект
        sound.preservesPitch = false;
        sound.volume = 0.7;
        document.addEventListener('click', (e) => {
            sound.playbackRate = Math.random() * 0.8 + 0.2;	// Скорость звука = 0.2-1.0
            sound.currentTime = 0;
            sound.play().catch(() => {});
        });
    });
})();
</script>

<body>
    <div id="LayoutGrid">
         <div class="text">КНОПКА !</div>
         <div id="LayoutGrid-X">
               <div id="Container-Y">
                    <div class="rotator">
                        <div class="text">Попади в нее</div>
                    </div>
                    <div id="animZ">
                        <iframe width="100%" 
                                height="100%" 
                                src="https://www.youtube.com/embed/4mbMHhW4FNI" 
                                frameborder="0" 
                                allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" 
                                allowfullscreen>
                        </iframe>
                    </div>
                </div>
         </div>
         <div height="200px"></div>
   </div>
</body>
</html>
[/html]



надо уточнить, что конечно ['HTML'] будет работать только на форумах myBB.ru . Для других форумах видео надо оборачивать в (iframe)  и указывать размеры. Чуть больше работы. Зато там много полезных  allow="autoplay, ..."

О пользе Сроков Редактирования:  Здесь видно, что слова брошены на произвол. Привязаны ко дну, это все. Недавно вышло новое CSS Anchor Position . Позволяет привязываться точно к элементу. Но поддержка еще не скоро. Потом еще что-то выйдет.
Поэтому для кода нужны длинные сроки.

JS (звук на document ). Работает  :) . Звук надо проверить на Андроид. Весь код изолирован  ()() для форума.
Звук в base64 можно скопировать., чтобы я его не потерял. Или заменить на свой. Если звук в mp3 , то код вообще 1 строка. Но base64 быстрее.

В этом Андроид сложно -- чтобы обновить кеш браузера, надо полностью сбрасывать его данные. Жёсткая система, помнит все.
Внешний  звук на click работает только на windows. Это пока. У меня есть код, где звук на Андроид.
UPD: код работает на Андроид. такой четкости, с 1 клика , как везде на видео, пока нет. Полоса прогресса работает четко. Значит, моя работа выполнена.

Отредактировано serega da (Пн, 4 Май 2026 15:41:37)

0

116

А просто свое видео из облако mail.ru можно вставлять? Например у меня есть видео урок и я хочу его вставить, но для определенной категории участников. Такое возможно?

0

117

Сергей Серёгин написал(а):

А просто свое видео из облако mail.ru можно вставлять? Например у меня есть видео урок и я хочу его вставить, но для определенной категории участников. Такое возможно?

В теории. Нужно смотреть, в каком виде оно оттуда достаётся. Если только в виде ссылки, то через имеющийся видео-ббтег его вставить нельзя, но, в теории, можно пробовать вкорячить в сообщения через "HTML в сообщениях".

Категории участников - можно разграчинить через группы пользователей и ограничение доступа к темам целиком.

0

118

Сергей Серёгин написал(а):

А просто свое видео из облако mail.ru можно вставлять? Например у меня есть видео урок и я хочу его вставить, но для определенной категории участников. Такое возможно?

Вот так?

https://kuban-forum.ru/viewtopic.php?id … p=8#p31099

0

119

Да. Так.

0

120

Сергей Серёгин написал(а):

Да. Так.

Вставить в Администрирование -  HTML верх

Код
Код:
<script>
(function() {
  function embedMailru(root) {
    root.querySelectorAll('iframe[src*="my.mail.ru/video/embed"]').forEach(function(f) {
      if (f.dataset.mrDone) return;
      f.dataset.mrDone = '1';
      var id = (f.src.match(/\/embed\/(\d+)/) || [])[1];
      if (!id) return;

      fetch('https://my.mail.ru/+/video/meta/' + id, {credentials:'include'})
        .then(function(r) { return r.json(); })
        .then(function(d) {
          var u = d.videos[0].url;
          if (u.startsWith('//')) u = 'https:' + u;
          f.removeAttribute('width');
          f.removeAttribute('height');
          f.style.width = '100%';
          f.style.height = 'auto';
          var wrap = document.createElement('div');
          wrap.className = 'mr-embed';
          wrap.innerHTML = '<video controls preload="metadata" style="display:block;width:100%;height:auto;border-radius:8px"><source src="' + u.replace(/&/g,'&') + '" type="video/mp4"></video>';
          f.replaceWith(wrap);
        })
        .catch(function() {});
    });
  }

  var css = document.createElement('style');
  css.textContent = '.mr-embed{width:100%;max-width:100vw;box-sizing:border-box;overflow:hidden;background:#000;margin:0 auto}';
  document.head.appendChild(css);

  if (document.readyState !== 'loading') embedMailru();
  else document.addEventListener('DOMContentLoaded', embedMailru);

  var mo = new MutationObserver(function(m) {
    for (var i = 0; i < m.length; i++) {
      for (var j = 0; j < m[i].addedNodes.length; j++) {
        if (m[i].addedNodes[j].nodeType === 1) embedMailru(m[i].addedNodes[j]);
      }
    }
  });
  mo.observe(document.body, {childList:true,subtree:true});
})();
</script>

Вставка видео работает, если сообщение в теме вставить в html контейнер (в форме быстрого ответа: Дополнительно - HTML в сообщениях) ссылкой с iframe src, типа такого:

Код:
[html]
<iframe src='https://my.mail.ru/video/embed/782883683777385464' width='626' height='367' frameborder='0' scrolling='no' webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
[/html]

Известная проблема: неправильно показывается в мобильном виде (обрезается справа). Возможно, местные волшебники в этом помогут, а то я не могу понять, что тут "не так" :)

Отредактировано Merlin777 (Вт, 26 Май 2026 14:58:39)

0


Вы здесь » Единый форум поддержки » Сделаем сервис лучше » Видео на форуме