Pregunta

Tengo un ZPT (plantilla de página Zope), donde quiero utilizar una etiqueta de vídeo, algo como:

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

donde FILE_LOCATION habría un tipo de contenido de Plone. Puedo utilizar cualquiera de 3 formas de acceso al archivo:

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: Si hago clic en el enlace de regresar de la primera o la segunda opción en un navegador, se abre la ventana de descarga desde el navegador para descargar el archivo.

En el ZPT, puedo hacer algo como esto:

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

donde "python: file.absolut_url ()". Se pueden cambiar para que las otras opciones

Sin embargo, cualquiera de las opciones que están trabajando. La página me muestra un bloque en los que el video debe ser jugado, pero no hay vídeo se reproduce.
¿Cómo puedo hacer este trabajo?

¿Fue útil?

Solución

Es probable que tenga el enlace de descarga -. Desea que los datos puros, no una vista por defecto de Plone

es decir.

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

Si eso no funciona:

  • ¿Su .ogg soporte de los navegadores? (Trate tanto con Firefox y Chrome)
  • ¿es realmente ogg?
  • ¿Qué pasa si se abre la URL de descarga directa? ¿El juego nada navegador?
  • lo que hace punto src para después de rendir la plantilla (vista de código o elemento de inspeccionar). Se ve el URL correcto?

Otros consejos

El principal problema viene de la 'Content-Disposition' cabecera. Aquí un ejemplo con hardcoded OGG / Theora formato. Crear un script 'inline_download' en su piel cutom con este código en el interior:

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 / vídeo / inline_download debe mostrar correctamente el vídeo sin HTML adicional

Por último añadir este código en tu vista:

<video height="240px" width="320px" type="video/ogg; codecs='theora, vorbis'"
       controls="controls" preloas="none"
       tal:attributes="src string:${here/absolute_url}/inline_download"/>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top