2010-09-06 6 views
0

У меня есть ЗПТ (синец шаблон страницы), где я хочу использовать тег видео, что-то вроде:Plone: ​​Как использовать тег html5 с типом контента?

<video src="FILE_LOCATION" width="320" height="240" type='video/ogg; codecs="theora, vorbis"' controls></video> 

где FILE_LOCATION будет тип контента Plone. Я могу использовать либо 3 способ Acces файла:

1) file.download_url #gives me: http://localhost:8000/a/acervo/testeflv2/at_download/file 
2) file.absolute_url #gives me: http://localhost:8000/a/acervo/testeflv2 
3) file.getFile() #gives me the file (like if I open the video file on a text editor) 

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

На ZPT, я могу сделать что-то вроде этого:

<video src="" id="video_play" width="320" height="240" type='video/ogg; codecs="theora, vorbis"' controls 
     tal:attributes="src python:file.absolute_url()"></video> 

где "питон: file.absolut_url()" может быть изменен на другие варианты.

Но любой из этих вариантов работает. На этой странице показан блок, в котором должно воспроизводиться видео, но видео не воспроизводится.
Как я могу сделать эту работу?

ответ

0

Возможно, вам понадобится ссылка для скачивания - вам нужны чистые данные, а не вид Plone по умолчанию.

т.е.

<video src="" id="video_play" width="320" height="240" type='video/ogg; codecs="theora, vorbis"' controls tal:attributes="src file/download_url"></video> 

Если это не работает:

  • ли ваш браузер поддержки .ogg? (Попробуйте как с firefox, так и с хромом)
  • это действительно ogg?
  • Что произойдет, если вы сразу же откроете URL-адрес загрузки? Играет ли браузер что-нибудь?
  • Что означает src после создания шаблона (элемент просмотра или элемент проверки). Правильно ли выглядит URL?
+0

Я обнаружил, что мой сервер должен обслуживает видео файлы с Content-Type: видео/OGG, независимо от того, имеют ли они расширение .ogv или нет, на MimeType запроса. Есть ли у вас какие-либо идеи в том, как я могу это сделать на zpt (шаблон страницы zope)? –

+0

Я не думаю, что шаблон страницы имеет значение здесь, фактический объект-файл - это то, что нужно заголовку mime. Возможно, вам нужно всего лишь зарегистрировать mimetype в mimetypes_registry. –

0

Основная проблема связана с заголовком Content-Disposition. Вот пример с жестко закодированным форматом ogg/theora. Создать скрипт «inline_download» в вашем Cutom кожи с этим кодом внутри:

RESPONSE = container.REQUEST.RESPONSE 

filename = context.getFilename() 
obj = context.getFile() 
RESPONSE.setHeader('Content-Disposition', 'inline;filename="%s"' % filename) 
RESPONSE.setHeader('Content-Type', 'video/ogg') 

return obj 

Теперь http://yourpath/video/inline_download должен корректно отображаться видео без дополнительного HTML.

Наконец, добавьте этот код на ваш взгляд:

<video height="240px" width="320px" type="video/ogg; codecs='theora, vorbis'" 
     controls="controls" preloas="none" 
     tal:attributes="src string:${here/absolute_url}/inline_download"/> 
+0

Большое спасибо! Я еще не знаю, будет ли это работать для меня, но я попробую и дам вам знать. Спасибо, что обратили внимание. –

+1

не работал. Был показан черный квадрат, но даже когда я нажимаю кнопку «Воспроизведение», квадрат остается черным, а кнопки меняют цвет, белый превращается в серый. –