Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Morty

Как сделать чтоб при прикреплении видео к посту отображалась прямая ссылка на него?

Рекомендованные сообщения

К примеру я загружаю видео и хочу вставить плеер с ролоиком, а не просто ссылку на скачку.

Я получаю тег

Нужно чтоб под этим

--------------------------------------------------

xxxxxxx.mp4

x.xx MB Добавить в сообщение | Удалить файл

--------------------------------------------------

была ссылка на сам файл. Пример

--------------------------------------------------

xxxxxxx.mp4

x.xx MB Добавить в сообщение | Удалить файл

Ссылка: [http://xxxxx.xx/uploads/xxxx/xxxx.mp4]

--------------------------------------------------

Поделиться сообщением


Ссылка на сообщение

А разве видио не встраивается по дефолту?

http://www.youtube.com/watch?v=8wchi7i6Ru8

 

Просто кнопкой для мультимедиа.

 

А ссылку на сам файл можно добавить отдельно

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Это видео с ютуба. А мне надо для того которое прикрепляется к сообщению через аттач.

Ну или с другого сайта но по прямой ссылке типа http://site.com/xxx/xxx/video.mp4

Поделиться сообщением


Ссылка на сообщение

Ну или с другого сайта но по прямой ссылке типа

Это у меня реализована и работает. Давно собираюсь выложить решения в блог, все не как. Постараюсь выложить в выходные.

 

Есть решения от Ritsuka для звуковых файлов, я добавил поддержку видео, но умер компьютер и код остался лежит в недрах винчестера.

Не успел поставить и к себя на сайт.

Проще заново написать. Возможно в выходные.

Поделиться сообщением


Ссылка на сообщение

Система аттачей придумана таким образом, чтобы контролировать доступ к файлам. Пользователю никогда не дается прямая ссылка на залитый файл на сервере. Более того, залитый файл специальным образом переименовывается и прячется в случайно сгенерированную директорию. В шаблоны отдается уже "секретная" ссылка. Поэтому, если вы захотите выводить реальный путь, вам как минимум придется редактировать скрипты форума.

 

Для видео и аудио в аттачах есть готовое решение. Давно как-то кидал модифицированный шаблон на IBR, с тех пор их техподдержка его всем впаривает.

 

Нужно изменить шаблон Темы > Show_attachments:

<php>
$url = urlencode("{$this->settings['base_url']}app=core&module=attach&section=attach&attach_id={$data['attach_id']}");
$path_info = pathinfo($data['attach_file']);
$data['ext'] = strtolower($path_info['extension']);
</php>

<a href="{parse url="app=core&module=attach&section=attach&attach_id={$data['attach_id']}" base="public"}" title="{$this->lang->words['attach_dl']}"><img src="{$this->settings['public_dir']}{$data['mime_image']}" alt="{$this->lang->words['attached_file']}" /></a> <a href="{parse url="app=core&module=attach&section=attach&attach_id={$data['attach_id']}" base="public"}" title="{$this->lang->words['attach_dl']}">{$data['attach_file']}</a> <span class='desc'><strong>({$data['file_size']}, {$this->lang->words['attach_hits']} {$data['attach_hits']})</strong></span>

<if test="in_array($data['ext'], array('mp4', 'avi', 'flv', '3gp')">
<br /><object type="application/x-shockwave-flash" data="{$this->settings['board_url']}/public/player/flvplayer.swf" width="420" height="340">
       <param name="movie" value="{$this->settings['board_url']}/public/player/player_flv_maxi.swf" />
       <param name="allowFullScreen" value="true" />
       <param name="FlashVars" value="flv={$url}" />
</object><br />
</if>

<if test="$data['ext'] == 'mp3'">
<br /><object type="application/x-shockwave-flash" data="{$this->settings['board_url']}/public/player/flvplayer.swf" height="60" width="400">
<param name="wmode" VALUE="transparent" />
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<param name="movie" value="{$this->settings['board_url']}/public/player/mp3.swf" />
<param name="FlashVars" value="way={$url}&showstop=1&swf={$this->settings['board_url']}/public/player/flvplayer.swf&w=470&h=70&time_seconds=0&autoplay=0&q=1&skin=grey&volume=50&comment=Слушаем музыку!" /></object><br />
</if>

 

И положить в указанные папки /public/player/ соответствующие плееры.

  • Upvote 5

Поделиться сообщением


Ссылка на сообщение

Для видео и аудио в аттачах есть готовое решение.

ГМ.

<if test="in_array($data['ext'], array('mp4', 'avi', 'flv', '3gp')">

Я сохранял, точно другой код. Этот и переделывать не надо. Только плеер заменить и все. :)

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Ritsuka, Ph-A, Спасибо. Сейчас попробую.

Поделиться сообщением


Ссылка на сообщение

Работает но не совсем...

Я использую другой плеер.

Аудио воспроизводится, а вот видеоне хочет...

Вот сам код

<php>
$url = urlencode("{$this->settings['base_url']}app=core&module=attach&section=attach&attach_id={$data['attach_id']}");
$path_info = pathinfo($data['attach_file']);
$data['ext'] = strtolower($path_info['extension']);
</php>
<a href="{parse url="app=core&module=attach&section=attach&attach_id={$data['attach_id']}" base="public"}" title="{$this->lang->words['attach_dl']}"><img src="{$this->settings['public_dir']}{$data['mime_image']}" alt="{$this->lang->words['attached_file']}" /></a> <a href="{parse url="app=core&module=attach&section=attach&attach_id={$data['attach_id']}" base="public"}" title="{$this->lang->words['attach_dl']}">{$data['attach_file']}</a> <span class='desc'><strong>({$data['file_size']}, {$this->lang->words['attach_hits']} {$data['attach_hits']})</strong></span>
<if test="in_array($data['ext'], array('mp4', 'avi', 'flv', '3gp')">
<br /><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="600" height="400" id="Player-e4efcf5b557c82ee0bd564c1a2599d7b">
<param name="movie" value="http://help-icq.ru/public/player/media_player.swf?MediaLink={$url}&defaultMedia=1&logo=http://help-icq.ru/public/player/watermark.png&showPlayButton=true&playOnStart=false&backgroundBarColor=0x1A1A1A&btnsColor=0xFFFFFF&outlineColor=0x666666&outputBkgColor=0x1A1A1A&outputTxtColor=0x999999&loadingBarColor=0x666666&loadingBackgroundColor=0xCCCCCC&progressBarColor=0x000000&volumeBackgroundColor=0x666666&volumeStatusBarColor=0x000000" />
<param name="allowFullScreen" value="true" />
<param name="quality" value="high" />
<param name="bgcolor" value="#000000" />
<param name="wmode" value="opaque" />
<embed src="http://cmailik.ru/engine/classes/flashplayer/media_player.swf?MediaLink={$url}&defaultMedia=1&logo=http://help-icq.ru/public/player/watermark.png&showPlayButton=true&playOnStart=false&backgroundBarColor=0x1A1A1A&btnsColor=0xFFFFFF&outlineColor=0x666666&outputBkgColor=0x1A1A1A&outputTxtColor=0x999999&loadingBarColor=0x666666&loadingBackgroundColor=0xCCCCCC&progressBarColor=0x000000&volumeBackgroundColor=0x666666&volumeStatusBarColor=0x000000" quality="high" bgcolor="#000000" wmode="opaque" allowFullScreen="true" width="600" height="400" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>
</object><br/>
</if>
<if test="$data['ext'] == 'mp3'">
<br /><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="425" height="30" id="Player-17293be98d1d7445115d5c0acd44cea2">
<param name="movie" value="http://help-icq.ru/public/player/media_player.swf?MediaLink={$url}&defaultMedia=1&showPlayButton=false&playOnStart=false&backgroundBarColor=0x1A1A1A&btnsColor=0xFFFFFF&outlineColor=0x666666&outputBkgColor=0x1A1A1A&outputTxtColor=0x999999&loadingBarColor=0x666666&loadingBackgroundColor=0xCCCCCC&progressBarColor=0x000000&volumeBackgroundColor=0x666666&volumeStatusBarColor=0x000000" />
<param name="allowFullScreen" value="false" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<embed src="http://help-icq.ru/public/player/media_player.swf?MediaLink={$url}&defaultMedia=1&showPlayButton=false&playOnStart=false&backgroundBarColor=0x1A1A1A&btnsColor=0xFFFFFF&outlineColor=0x666666&outputBkgColor=0x1A1A1A&outputTxtColor=0x999999&loadingBarColor=0x666666&loadingBackgroundColor=0xCCCCCC&progressBarColor=0x000000&volumeBackgroundColor=0x666666&volumeStatusBarColor=0x000000" quality="high" wmode="transparent" allowFullScreen="false" width="425" height="30" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>
</object><br />
</if>

Поделиться сообщением


Ссылка на сообщение

Ну или с другого сайта но по прямой ссылке типа http://site.com/xxx/xxx/video.mp4

Ну если сам метр ответил. И я не буду затягивать.

 

Исторически у меня на всех проектах для проигрывания используется JW Player. Естественно мне, проще всего и для IP.Board использовать его.

 

Сам плеер и вызывающий его яваскрипт загружается на сервер. В моем случае это: forum/public/player/

 

Добавляем поддержку mp4.

 

Панель управления > Внешний вид > Содержимое сообщений > BB-коды > Управление BB-кодами --> добавить

 

Название

MP4

 

Медиа-тег

{1}.mp4

 

Шаблон замены медиа-тега

<div id="container"><a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.</div>
<script type="text/javascript" src="/forum/public/player/swfobject.js"></script>
<script type="text/javascript">
	var s1 = new SWFObject("/forum/public/player/player.swf","ply","640","480","9","false","#FFFFFF");
	s1.addParam("allowfullscreen","true");
	s1.addParam("allowscriptaccess","always");
	s1.addParam("flashvars","file=$1.mp4");
	s1.write("container");
</script>

 

Добавляем поддержку flv.

 

Название

flv

 

Медиа-тег

{1}.flv

 

Шаблон замены медиа-тега

<div id="container"><a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.</div>
<script type="text/javascript" src="/forum/public/player/swfobject.js"></script>
<script type="text/javascript">
	var s1 = new SWFObject("/forum/public/player/player.swf","ply","640","480","9","#FFFFFF");
	s1.addParam("allowfullscreen","true");
	s1.addParam("allowscriptaccess","always");
	s1.addParam("flashvars","file=$1.flv");
	s1.write("container");
</script>

 

Естественно bb коды легко переделываются под поддержку другого плеера.

 

Как пример поддержка flv для Flowplayer

 

<script type="text/javascript" src="/forum/public/player/flowplayer-3.2.4.min.js'></script>
<a href='$1.flv'style='display:block;width:640px;height:338px;' id='player'></a>
<script>
flowplayer('player', '/forum/public/player/flowplayer-3.2.4.swf', {
clip:  {
   	autoPlay: false,
   	autoBuffering: true
}
});
</script>

  • Upvote 2

Поделиться сообщением


Ссылка на сообщение

У вас в шаблоне два разных URL плеера:

http://help-icq.ru/public/player/media_player.swf?MediaLink={$url}&defaultMedia=1&logo=http://help-icq.ru/public/player/watermark.png&showPlayButton=true&playOnStart=false&backgroundBarColor=0x1A1A1A&btnsColor=0xFFFFFF&outlineColor=0x666666&outputBkgColor=0x1A1A1A&outputTxtColor=0x999999&loadingBarColor=0x666666&loadingBackgroundColor=0xCCCCCC&progressBarColor=0x000000&volumeBackgroundColor=0x666666&volumeStatusBarColor=0x000000
http://cmailik.ru/engine/classes/flashplayer/media_player.swf?MediaLink={$url}&defaultMedia=1&logo=http://help-icq.ru/public/player/watermark.png&showPlayButton=true&playOnStart=false&backgroundBarColor=0x1A1A1A&btnsColor=0xFFFFFF&outlineColor=0x666666&outputBkgColor=0x1A1A1A&outputTxtColor=0x999999&loadingBarColor=0x666666&loadingBackgroundColor=0xCCCCCC&progressBarColor=0x000000&volumeBackgroundColor=0x666666&volumeStatusBarColor=0x000000

 

Исправьте. И flash не кроссдоменен, пока не укажаете это специально с помощью crossdomain.xml.

Поделиться сообщением


Ссылка на сообщение

У вас в шаблоне два разных URL плеера:

http://help-icq.ru/public/player/media_player.swf?MediaLink={$url}&defaultMedia=1&logo=http://help-icq.ru/public/player/watermark.png&showPlayButton=true&playOnStart=false&backgroundBarColor=0x1A1A1A&btnsColor=0xFFFFFF&outlineColor=0x666666&outputBkgColor=0x1A1A1A&outputTxtColor=0x999999&loadingBarColor=0x666666&loadingBackgroundColor=0xCCCCCC&progressBarColor=0x000000&volumeBackgroundColor=0x666666&volumeStatusBarColor=0x000000
http://cmailik.ru/engine/classes/flashplayer/media_player.swf?MediaLink={$url}&defaultMedia=1&logo=http://help-icq.ru/public/player/watermark.png&showPlayButton=true&playOnStart=false&backgroundBarColor=0x1A1A1A&btnsColor=0xFFFFFF&outlineColor=0x666666&outputBkgColor=0x1A1A1A&outputTxtColor=0x999999&loadingBarColor=0x666666&loadingBackgroundColor=0xCCCCCC&progressBarColor=0x000000&volumeBackgroundColor=0x666666&volumeStatusBarColor=0x000000

 

Исправьте. И flash не кроссдоменен, пока не укажаете это специально с помощью crossdomain.xml.

Спасибо, исправлю. Но это не критично так как плеер есть в обоих местах.

Что такое кроссдоменность, зачем и как нужно указывать с помощью crossdomain.xml?

======================

Ссылку исправил, видео всё равно не работает...

Через BB-код с разными адресами swf видео работает...

======================

С этим

<if test="in_array($data['ext'], array('mp4', 'avi', 'flv', '3gp')">
<br /><object type="application/x-shockwave-flash" data="{$this->settings['board_url']}/public/player/flvplayer.swf" width="420" height="340">
       <param name="movie" value="{$this->settings['board_url']}/public/player/player_flv_maxi.swf" />
       <param name="allowFullScreen" value="true" />
       <param name="FlashVars" value="flv={$url}" />
</object><br />
</if>

Даже плеер не отображается...

Поделиться сообщением


Ссылка на сообщение
post-44346-0-10970500-1301564819_thumb.jpg

Поделиться сообщением


Ссылка на сообщение

ИМХО если ошибок нет, надо смотреть документацию плеера. Не скачав его, нечего не скажу.

Качать сейчас, нет времени.

Поделиться сообщением


Ссылка на сообщение

Извините, что не создал свою тему, вроде бы проблемка, имеет что-то общее с этой темой.

В общем как мне вставить .mp3 на форум IPB 3.2.3 , так что бы оно проигрывалось в плеере ?

Вроде бы простая вещь, а никак до меня не дойдет.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...