Project

General

Profile

Feature #4105

Enable browser support detection for nanogong

Added by Yannick Warnier over 7 years ago. Updated about 3 years ago.

Status:
Needs more info
Priority:
Normal
Category:
-
Target version:
Start date:
04/12/2011
Due date:
% Done:

0%

Estimated time:
4.00 h
Complexity:
Normal
SCRUM pts - complexity:
?

Description

Nanogong cannot be enabled in a selective way (enable for users with the correct support). Try to fix that by analysing which browsers can handle it.

If you are a tester and want to help, please report here which configurations (Operating system + browser) work or doesn't work with the nanogong voice recorder in documents on http://chamilodev.beeznest.com (enter as admin/admin)


Related issues

Related to Chamilo LMS - Feature #3257: Integrate NanogongFeature implemented12/04/2011

Actions

History

#1

Updated by Juan Carlos Raña Trabado over 7 years ago

¿ What browser has problem ?
OSX
Firefox ok
Safari ok
Chrome ok

In addition to the browser, it's important the client java version , Already there are code to check this into Chamilo but doesn't enabled

Related
http://support.chamilo.org/issues/3257

#3

Updated by Yannick Warnier over 7 years ago

I'm not sure user_portal.php is the best place to put it (although in some way it is smarter than anything else, actually). I would rather put it in global.inc.php and only launch it again if the corresponding setting is not set.

#4

Updated by Yannick Warnier over 7 years ago

I was reported the problem on Twitter and I passed the link to this task to extend the comments, but nothing so far.
On my computer (and it might indeed depend on the Java version) with Ubuntu 11.04 with the default java (openjdk I think) it loaded the applet but didn't save the sound.

#5

Updated by Juan Carlos Raña Trabado over 7 years ago

Yannick Warnier wrote:

I'm not sure user_portal.php is the best place to put it (although in some way it is smarter than anything else, actually). I would rather put it in global.inc.php and only launch it again if the corresponding setting is not set.

I agree to release it only once, in fact, the configuration is passed to session variables, not finished the way to prevent the automatic launching more than once, maybe someone can do. The place I am indifferent.

#6

Updated by Yannick Warnier over 7 years ago

  • Status changed from New to Assigned
  • Assignee set to Julio Montoya

OK, I'll assign this to Julio. The only problem I have with user_portal.php is that it also serves for html structure and I don't want to clutter it with code that is purely functional (not visual). The rest is fine.

#7

Updated by Juan Carlos Raña Trabado over 7 years ago

Yannick Warnier wrote:

I was reported the problem on Twitter and I passed the link to this task to extend the comments, but nothing so far.
On my computer (and it might indeed depend on the Java version) with Ubuntu 11.04 with the default java (openjdk I think) it loaded the applet but didn't save the sound.

java Sun ?
jre ver ?

I think only works well with Sun's java, and in its version 24 does not do well, so you must use the sniffer to filter it and deliver the message for the user.

#8

Updated by Juan Carlos Raña Trabado over 7 years ago

Some chamilo's lang vars already created:

NoJavaSun
NoJava
JavaSun24
NoQuicktime

-Quicktime can play Nanogong wav files (try open a file ). Another way to put new code and use Nanogong as player.

Opening a Nanogong wav file with the browser is not possible, neither by the play button of the document tool, because not support the Nanogong codification wav. I know a way to identify the type of internal encoding wav files, but it would be too heavy for this open with php; so maybe better to add a check mark to file name to treat them separately

#9

Updated by Yannick Warnier over 7 years ago

Does nanogong offer some time of other format? (like mp3 or ogg?)
We could easily add the possibility to transform the wav to ogg on a linux server... (but that would definitely add a dependency)

#10

Updated by Juan Carlos Raña Trabado over 7 years ago

Yannick Warnier wrote:

Does nanogong offer some time of other format? (like mp3 or ogg?)
We could easily add the possibility to transform the wav to ogg on a linux server... (but that would definitely add a dependency)

No debería pero voy a hablar en español:

Nanogong no soporta formato mp3 ni ogg. Es cierto que mediante FFmpeg se podría realizar la conversión, no sé si también utilizando la línea de comandos de VLC pero es verdad que esto causará no sólo más dependencia sino también carga en el servidor.

Nanogong puede guardar en los formatos wav/adpcm' or 'flv/pcm pero sólo si se descarga en el ordenador del cliente que tiene el applet mediante el botón save.
Pero si queremos que se cree en línea no es posible guardar en formato FLV y hay que hacerlo en WAV. Los archivos que se guardan en formato WAV se codifican de dos formas en Nanogong: ImaADPCM o bien Speex. En el primer caso, menos comprimido pero más compatible es posible su lectura por Quicktime, en el segundo no. De forma que tenemos que con seguridad podremos leer un archivo Nanogong con el propio Nanogong, aunque hay algunos problemas de seguridad.

Algo más sobre la selva de los formatos http://support.chamilo.org/issues/2719

#11

Updated by Juan Carlos Raña Trabado over 7 years ago

Como comentaba más arriba la cuestión no sólo es el tipo de archivo o extensión, sino también el codec utilizado. Algunos ejemplos en http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/Samples.html y en este algo sobre su descripción http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/Docs/rfc2361.txt

#12

Updated by Juan Carlos Raña Trabado over 7 years ago

Bueno ya sabemos que es ADPCM, pero el problema es que dentro de esta variante hay varios codecs. Recuerdo que gracias a https://ccrma.stanford.edu/courses/422/projects/WaveFormat/ acabé descubriendo que se trataba del 11

A.10 Intel's DVI ADPCM

WAVE form Registration Number (hex):    0x0011
Codec ID in the IANA Namespace: audio/vnd.wave;codec=11
WAVE form wFormatTag ID: WAVE_FORMAT_DVI_ADPCM
Contact:
Intel Corporation
5200 NE Elam Young Parkway
Hillsboro, OR 97124
503-696-2448
#13

Updated by Juan Carlos Raña Trabado over 7 years ago

Así que ya podemos comprender la razón por la que unos archivos wav pueden oirse y otros no: el codec. De hecho algunos navegadores avanzados con soporte nativo para archivos wav lo único que soportan es el codec 1

Esta variedad de codecs y soportes de los mismos por unos y otros navegadores está estrechamente ligada a estrategias comerciales y patentes.

#14

Updated by Julio Montoya almost 7 years ago

  • Status changed from Assigned to Needs more info
  • Assignee deleted (Julio Montoya)

Excelente análisis Juan Carlos, entonces para leer los wavs tendríamos que usar el lector de nanogong siempre y no jplayer (porque este plugin falla si encuentra un wav con un codec que no conoce ... )

#15

Updated by Juan Carlos Raña Trabado almost 7 years ago

Julio Montoya wrote:

Excelente análisis Juan Carlos, entonces para leer los wavs tendríamos que usar el lector de nanogong siempre y no jplayer (porque este plugin falla si encuentra un wav con un codec que no conoce ... )

Para leer los wavs generados por Nanogong sí, sin embargo la mayoría de los wavs que hay en la red no se generan con este codec y Nanogong no lee otros wav con un codec diferente al suyo, así que ¿cómo diferenciarlos?
Una manera podría ser añadir en el nombre del archivo que se genere una cadena que lo identifique como creado por nanogong (su introducción en el título por el usuario no sería aceptada como parte de la cadena) sino que Chamilo lo incorporaría al nombre físico del archivo en el disco, así podríamos discriminar archivos con la misma extensión wav unos generados por nanogong y otros que no (la mayoría codec 1). A los usuarios sólo se les mostraría el nombre de archivo que aparece en la base de datos, por lo que el proceso sería transparente para ellos. Sobre esta base los de Nanogong serían leídos con Nanogong a través de su api javascript (incluso se podría mantener el icono del plugin actual de jplayer para llamarlo; mientras que los otros wav podrían ser leídos por el propio jplayer. El usuario vería iguales iconos pero la reproducción se haría con diferente software.

Otra línea de investigación, para la que no tengo tiempo pero sí muchas ganas es:

http://jsmad.org/
https://github.com/nddrylliog/jsmad

Y especialmente http://audiolibjs.org/ dentro del cual se puede ver https://github.com/jussi-kalliokoski/pcmdata.js

#16

Updated by Yannick Warnier almost 7 years ago

De mi punto de vista, deberíamos hacer lo correcto y apostar por un estándar eficiente y libre: ogg/theora. No es posible exportar a ogg con nanogong?
El player sí soporta MP3 y OGG, lo único es que el formato grabado por el nanogong no permite mucho por ahora...

#17

Updated by Juan Carlos Raña Trabado almost 7 years ago

Yannick Warnier wrote:

De mi punto de vista, deberíamos hacer lo correcto y apostar por un estándar eficiente y libre: ogg/theora. No es posible exportar a ogg con nanogong?
El player sí soporta MP3 y OGG, lo único es que el formato grabado por el nanogong no permite mucho por ahora...

Sería ideal poder hacer esto pero por ahora no. Como se puede ver en el código fuente del applet, a no ser de que alguien se anime y añada algo más y recompile en java http://svn.obiba.org/nanogong/trunk/src/gong/NanoGong.java

#18

Updated by Juan Carlos Raña Trabado almost 7 years ago

Otra línea de investigación relacionada con la recompilación, salvo que los de Nanongong lo hagan antes, es posibilitar que el applet guarde también en formato FLV on line, ahora lo hace pero es para guardarlo en el ordenador cliente (esto se puede ver en el código fuente del enlace anterior y se puede probar utilizando el disquete del applet para guardar en el ordenador cliente). Este formato FLV es un contenedor que en este caso no contiene video como es habitual sino que contiene audio, he podido comprobar que sí lo puede leer nuestro reproductor flv. Quizá aprovechando este camino las modificaciones en java y la recompilación correspondiente serían más fáciles.

#19

Updated by Julio Montoya almost 7 years ago

si, tambien he observado que se puede exportar a flv (pero solamente para el cliente), una manera rápida de arreglarlo por ahora es de realizar la sugerencia de Juan Carlos:
Identificarlos por medio de un tag en el nombre del archivo, por lo pronto para esta version 1.9

#22

Updated by Juan Carlos Raña Trabado almost 7 years ago

Cierro la tarea y seguirá referenciada en la tarea #3257

#23

Updated by Juan Carlos Raña Trabado almost 7 years ago

  • Assignee set to Juan Carlos Raña Trabado
#24

Updated by Julio Montoya almost 7 years ago

Acabo de encontrar este commit que apunta a esta tarea:

http://code.google.com/p/chamilo/source/detail?r=f904fc253b37c557976b8ee0c166bc19b127dfc9&repo=classic&path=/main/document/document.inc.php

los archivos html, htm no debería de abrirse en un popup (thickbox) creo que esto ya fue conversado en otra tarea?

#25

Updated by Juan Carlos Raña Trabado almost 7 years ago

Creo que en lo posible hay que uniformar el funcionamiento de apertura en todos los archivos. El caso de html y htm lo he dejado con los cambios que se habían introducido en ellos pero se puede uniformar también.

#26

Updated by Juan Carlos Raña Trabado almost 7 years ago

Julio Montoya wrote:

Acabo de encontrar este commit que apunta a esta tarea:

http://code.google.com/p/chamilo/source/detail?r=f904fc253b37c557976b8ee0c166bc19b127dfc9&repo=classic&path=/main/document/document.inc.php

si te das cuenta este commit ya está referenciado en la nota número 21 de esta misma página ;-)

#27

Updated by Yannick Warnier almost 7 years ago

  • Target version changed from 1.9 Stable to 1.9.2
#28

Updated by Yannick Warnier over 6 years ago

  • Target version changed from 1.9.2 to 1.9.4
#29

Updated by Yannick Warnier about 6 years ago

  • Target version changed from 1.9.4 to 1.9.6
#30

Updated by Yannick Warnier almost 6 years ago

  • Target version changed from 1.9.6 to 2.0

Bueno, no hay prisa :-)

#31

Updated by Yannick Warnier about 3 years ago

  • Target version changed from 2.0 to 3.0

Also available in: Atom PDF