Autor Tema: [ Resuelto ] UsEac3To: Extraer pista DTS desde un THD  (Leído 1944 veces)

0 Usuarios y 1 Visitante están viendo este tema.

MaxitoHP

  • Miembro senior
  • ***
  • Desconectado Desconectado
  • Registrado: 25/12/2011
  • Mensajes: 102
  • Valoración: 1
Hola, Tengo una pista de audio de un Blu Ray en THD+AC3 (TrueHD/AC3 (Atmos), 7.1 channels, 48kHz // embedded: AC3 EX, 5.1 channels, 384kbps, 48kHz), y estaba intentando pasar el THD a un DTS 5.1 con UsEac3To, pero cuando llega al final del trabajo sale el error "Surcode DTS Encoder doesn't seem to be installed".

Buscando este error llegué al siguiente hilo: http://www.mundodivx.org/foro/index.php?topic=40510.0, en el cual no me termina de quedar claro cuál era el problema, pero Tebasuna solicitaba los resultados del test en Eac3To. A continuación, los resultados de mi test, por si son de ayuda:

Spoiler
eac3to (v3.31) is up to date
Nero Audio Decoder (Nero 6 or older) doesn't seem to be installed
  http://www.nero.com/eng/store-blu-ray.html
  CAUTION: You need Nero 7. Nero 8 won't work with eac3to.
ArcSoft DTS Decoder doesn't seem to be installed
  http://www.arcsoft.com/products/totalmediatheatre
Sonic Audio Decoder (3.31.0.0) doesn't seem to be installed
Haali Matroska Muxer (2013-04-14) is installed
Nero AAC Encoder (1.5.4.0) is installed
Surcode DTS Encoder doesn't seem to be installed
  http://www.surcode.com

Tengo instalada la última versión de Eac3To y de UsEac3To, descargada de http://www.mundodivx.com/descargas.php?id=69, versión 64biy, y ahí se comenta que el paquete incluye ArcSoft DTS Decoder: versión 1.1.0.0... no entiendo pues porqué el test dice que no está instalado.

¿Es realmente ArcSoft DTS Decoder el programa que tiene el Surcode DTS que parece que hace falta para convertir a DTS?
¿Alguien sabe qué me puede estar pasando para que no pueda convertir a DTS?

Muchas gracias de antemano.

« Última modificación: 25 de Noviembre de 2016, 19:23 por MaxitoHP »



tebasuna51

  • Colaborador
  • ******
  • Desconectado Desconectado
  • Registrado: 22/02/2010
  • Mensajes: 3.504
  • Valoración: 132
Re:UsEac3To: Extraer pista DTS desde un THD
« Respuesta #1: 23 de Noviembre de 2016, 00:41 »
- Para codificar a DTS con Surcode DTS Encoder hay que "comprar" el programa porque no es gratuito:
Surcode DTS Encoder doesn't seem to be installed

No obstante puedes codificar a DTS con un codificador gratuito, selecciona en 'Output format' -> 'dca-ext' y añade 'down6' para rebajar el 7.1 Thd a 5.1
Aunque, antes que codificar a DTS, recomendaria codificar a AC3 'Output format' -> 'ac3-ffm', da una calidad equivalente, es más compatible y ocupa mucho menos.

- El ArcSoft DTS Decoder sirve para decodificar, no para codificar.
Está incluido, pero hay que instalarlo ejecutando como Administrador ASAudioHD_reg.bat
No obstante actualmente no se necesita para nada, olvídate de el.

MaxitoHP

  • Miembro senior
  • ***
  • Desconectado Desconectado
  • Registrado: 25/12/2011
  • Mensajes: 102
  • Valoración: 1
Re:UsEac3To: Extraer pista DTS desde un THD
« Respuesta #2: 23 de Noviembre de 2016, 01:26 »
Muchas gracias por tu rápida respuesta Tebasuna.
Te he leído ya en varios hilos lo de que recomiendas AC3... realmente la profundidad de bajos que tiene el DTS la percibo más que con AC3, por lo que, si hay disponible un DTS, lo prefiero.
Sea como sea, es ya un puro tema de conocimiento y cabezonería :-).

Me vale de momento con el codificador DTS gratuito... ya "compraré" el Surcode si lo encuentro.

Te cuento varias cosas:

1) Leyendo el fichero "ffdcaenc_README.txt" que viene con UsEac3To me ha parecido entender que tenía que partir de ficheros .WAV para poder codificar. Así que, partiendo del THD, me he creado por un lado los 7 WAVs por separado y por otro lado un único WAV con los 7 canales. He renombrado los .WAVs como 0.wav, 1.wav, 2.wav, etc., en el orden que decía el fichero "ffdcaenc_README.txt" (L-R-C-LF-SL-SR) para poder usar la opción "+Sources" de UsEac3To. Acto seguido he introducido la línea de comando "ffdcaenc -i input.wav -o output.dts -b 1509.75" que se comenta en el fichero txt, así tal cual la he copiado, pero la respuesta de UsEac3To es que "Command line parameter "i" is unknown.  <ERROR>". He probado a cambiar nombres de fichero y demás (por si tuviera que sustituir lo de "input.wav" y "output.dts" por ficheros con ese mismo nombre exacto), pero siempre me devuelve mensajes de error de que no conoce el comando, sea lo que sea que aparezca justo después de ffdcaenc. No sé qué puedo estar haciendo mal. Ayuda por favor de alguien ducho en este tema.

2) Acabo de hacer lo que comentas de usar la codificación "dca-ext". Se ha escrito automáticamente la siguiente línea de comandos: "stdout.wav | ffdcaenc -i - -o %_.dts -l -b 1509.75". Antes de añadir el "down 6" que comentas, he ejecutado la línea de comandos y me ha devuelto el siguiente error casi de inmediato:
Spoiler
TrueHD/AC3 (Atmos), 7.1 channels, 48kHz
(embedded: AC3 EX, 5.1 channels, 384kbps, 48kHz)
Extracting TrueHD stream...
Decoding with libav/ffmpeg...
Writing WAV...
Creating file "stdout.wav"...
Writing the destination file failed.  <ERROR>
Aborted at file position 262144.  <ERROR>

3) He añadido ese "down6" que comentas, dejando la línea de comandos como sigue: "stdout.wav | ffdcaenc -i - -o %_.dts -l -b 1509.75 down6"... pero el resultado es el mismo que en #2... me temo que no sé "añadir" ese "down6"... ¿hay que ponerlo antes, después, tras una barra,...? ¿Tengo que poner después de "-i" el nombre del fichero?

4) En relación con el fichero ASAudioHD_reg.bat que comentas, ya había leído al amigo overdrive80 en el hilo anterior que había que ejecutarlo como administrador, y ya lo hice antes de comenzar este hilo, pero me salía un error relacionado con que no se podía cargar el módulo "ASAudioHD.ax", a pesar de que está junto con el ASAudioHD_reg.bat, así que me olvidé del tema porque esto ya sí que no sé cómo resolverlo. Adjunto imagen el error. Sea como fuere, aunque me gustaría saber qué pasa, si dices que no se necesita, no se hable más.

5) Una última cosa... en el hilo que comentaba antes, decías que "El añadido -down32 es para que saque ese formato de muestras (32 bits float), el defecto 24 bit int no lo soporta dcaenc.". Por lo que he leído en el README del ffdcaenc parece que esto ya se ha corregido, ¿verdad?

Gracias y saludos

tebasuna51

  • Colaborador
  • ******
  • Desconectado Desconectado
  • Registrado: 22/02/2010
  • Mensajes: 3.504
  • Valoración: 132
Re:UsEac3To: Extraer pista DTS desde un THD
« Respuesta #3: 23 de Noviembre de 2016, 12:49 »
Te he leído ya en varios hilos lo de que recomiendas AC3... realmente la profundidad de bajos que tiene el DTS la percibo más que con AC3, por lo que, si hay disponible un DTS, lo prefiero.
Si encuentras diferencias de profundidad en bajos entre un AC3 o un DTS la única explicacación posible es una mala configuración de tu reproductor.
Los bajos no necesitan apenas ancho de banda (bitrate) para codificarse y no hay posibilidad de pérdida de información de una codificación a otra, simplemente tu reproductor potenciará más unos u otros según el origen AC3 o DTS.

La única diferencia matemáticamente posible debería estar en las altas frecuencias donde el mayor bitrate del DTS pierde menos información que el AC3.
Pero para oir esas diferencias a altas frecuencias hace falta un equipo de audio de alta calidad y unos oídos privilegiados.

Citar
1) ...me he creado por un lado los 7 WAVs por separado y por otro lado un único WAV con los 7 canales...
Es innecesario crear wavs como veremos luego.

Citar
2) Se ha escrito automáticamente la siguiente línea de comandos: "stdout.wav | ffdcaenc -i - -o %_.dts -l -b 1509.75". Antes de añadir el "down 6" que comentas ...

3) He añadido ese "down6" que comentas, dejando la línea de comandos como sigue: "stdout.wav | ffdcaenc -i - -o %_.dts -l -b 1509.75 down6"... pero el resultado es el mismo que en #2... me temo que no sé "añadir" ese "down6"... ¿hay que ponerlo antes, después, tras una barra,...?
Hay que usar el método suministrado en UsEac3to 'Frequent Parameter' -> 'down6' -> 'Add' y se genera una línea:

 2: stdout.wav -down6 | ffdcaenc -i - -o %_2eng.dts -l -b 1509.75

como ves antes de la barra y con el guión.
He supuesto que la pista 2: es la del TrueHD que no hace falta extraer ni convertir a wav previamente.

Citar
4) En relación con el fichero ASAudioHD_reg.bat que comentas, ya había leído al amigo overdrive80 en el hilo anterior que había que ejecutarlo como administrador, y ya lo hice antes de comenzar este hilo, pero me salía un error relacionado con que no se podía cargar el módulo "ASAudioHD.ax", a pesar de que está junto con el ASAudioHD_reg.bat, así que me olvidé del tema porque esto ya sí que no sé cómo resolverlo. Adjunto imagen el error. Sea como fuere, aunque me gustaría saber qué pasa, si dices que no se necesita, no se hable más.
El comportamiento difiere según el sistema operativo de tu sistema, podríamos decir algo más conociéndolo.
Pero realmente es mejor usar el decodificador gratuito incorporado libdcadec.dll.
Solamente se necesita ArcSoft para decodificar pistas DTS-Express de bajo bitrate usado para pistas de comentarios en algún BD.

Citar
5) Una última cosa... en el hilo que comentaba antes, decías que "El añadido -down32 es para que saque ese formato de muestras (32 bits float), el defecto 24 bit int no lo soporta dcaenc.". Por lo que he leído en el README del ffdcaenc parece que esto ya se ha corregido, ¿verdad?
Efectivamente ffdcaenc ya soporta 24 bits, a diferencia del obsoleto dcaenc.

MaxitoHP

  • Miembro senior
  • ***
  • Desconectado Desconectado
  • Registrado: 25/12/2011
  • Mensajes: 102
  • Valoración: 1
Re:UsEac3To: Extraer pista DTS desde un THD
« Respuesta #4: 23 de Noviembre de 2016, 23:36 »
Muchísimas gracias por tu ayuda , Tebasuna. Compartir tu tiempo y conocimientos de forma altruista de veras que lo agradezco enormemente.

Te cuento cosas:

Citar
Si encuentras diferencias de profundidad en bajos entre un AC3 o un DTS la única explicacación posible es una mala configuración de tu reproductor.
Los bajos no necesitan apenas ancho de banda (bitrate) para codificarse y no hay posibilidad de pérdida de información de una codificación a otra, simplemente tu reproductor potenciará más unos u otros según el origen AC3 o DTS.
Tu explicación técnica es incuestionable. Tengo un buen amplificador y unos buenos altavoces, sí, pero llevas toda la razón en tus explicaciones de que precisamente los bajos no son los que se deberían de notar mejor... pero el caso es que, en mi caso, así es. Hay una peli en concreto (U571), cuando el submarino está sometido a las altas presiones, con unos bajos absolutamente espectaculares, de lo mejor que he oído. Es la que pongo de muestra a las visitas, con esto te digo todo. Y con DTS se oye mejor, con más intensidad, que con AC3... hablo de un reproductor doméstico, no del PC. Quizá sea el decodificador DTS que tiene mi amplificador de audio versus el de AC3. El caso es que me gusta meter las dos pistas (DTS y AC3) en todos los ripeos que hago siempre que DTS esté disponible. Meto también el AC3, aunque sea una pérdida de espacio en disco, porque a veces vemos las pelis en casa de suegros/padres/hermanos/amigos en equipos que no incorporan decodificador DTS (p.ej. directamente en la TV).

A lo importante...

Citar
Hay que usar el método suministrado en UsEac3to 'Frequent Parameter' -> 'down6' -> 'Add' y se genera una línea:
Es increíble que ayer no lo viera... lo busqué precisamente ahí, y no lo vi... qué cosas. Muchas gracias.

He ejecutado la siguiente línea "stdout.wav -down6 | ffdcaenc -i - -o %_.dts -l -b 1509.75" (parto de un fichero con una única pista, la de THD), y todo ha ido fenomenal. Ningún error. Ha tardado un poquito (en comparación con otras) eso sí. Esto es lo que ha reportado UsEac3To:
Spoiler
TrueHD/AC3 (Atmos), 7.1 channels, 48kHz
(embedded: AC3 EX, 5.1 channels, 384kbps, 48kHz)
Extracting TrueHD stream...
Decoding with libav/ffmpeg...
Mixing surround channels...
Writing WAV...
Creating file "stdout.wav"...
Original audio track, L+C+LFE+BL+BR+SL: max 24 bits, average 20 bits.
Original audio track, R: constant bit depth of 21 bits.
Original audio track, SR: max 22 bits, average 20 bits.
Processed audio track, L+C+LFE+SL+SR: max 24 bits, average 21 bits.
Processed audio track, R: constant bit depth of 21 bits.
eac3to processing took 22 minutes, 15 seconds.
Done.

Voy a dar por tanto este tema por resuelto, si bien aprovecho para responder el otro temilla pendiente y para hacerte una pregunta adicional.

Citar
El comportamiento difiere según el sistema operativo de tu sistema, podríamos decir algo más conociéndolo.
Tengo un Windows 7 Home Premium SP1

Volviendo a la pista anterior, que es una TrueHD/AC3 7.1 con AC3 384kbps incorporada, si ejecuto "%_.ac3" me devuelve la pista AC3 384kbps que lleva incorporada. ¿Cómo habría que hacer para que sacara un AC3 5.1 640kbps que partiera de la TrueHD?

Gracias y saludos.

tebasuna51

  • Colaborador
  • ******
  • Desconectado Desconectado
  • Registrado: 22/02/2010
  • Mensajes: 3.504
  • Valoración: 132
Re:UsEac3To: Extraer pista DTS desde un THD
« Respuesta #5: 24 de Noviembre de 2016, 05:01 »
...cuando el submarino está sometido a las altas presiones, con unos bajos absolutamente espectaculares, de lo mejor que he oído...

Pues me harías un favor si me subieras el fragmento del dts en cuestión para hacer pruebas a ver.

Citar
Tengo un Windows 7 Home Premium SP1

¿32 o 64 bits?

Citar
Volviendo a la pista anterior, que es una TrueHD/AC3 7.1 con AC3 384kbps incorporada, si ejecuto "%_.ac3" me devuelve la pista AC3 384kbps que lleva incorporada. ¿Cómo habría que hacer para que sacara un AC3 5.1 640kbps que partiera de la TrueHD?

En 'Output format' selecciona 'ac3-ffm' y 'Add'

MaxitoHP

  • Miembro senior
  • ***
  • Desconectado Desconectado
  • Registrado: 25/12/2011
  • Mensajes: 102
  • Valoración: 1
Re:UsEac3To: Extraer pista DTS desde un THD
« Respuesta #6: 24 de Noviembre de 2016, 22:18 »
Citar
Pues me harías un favor si me subieras el fragmento del dts en cuestión para hacer pruebas a ver.
Claro que sí, Tebasuna... déjame unos días para prepararlo. Ya te preguntaré cómo hacértelo llegar.

Citar
¿32 o 64 bits?
64 bits.

Citar
En 'Output format' selecciona 'ac3-ffm' y 'Add'
Le he añadido también el "down6", no sé si era necesario o no, pero ha salido bien.

MaxitoHP

  • Miembro senior
  • ***
  • Desconectado Desconectado
  • Registrado: 25/12/2011
  • Mensajes: 102
  • Valoración: 1
Re:UsEac3To: Extraer pista DTS desde un THD
« Respuesta #7: 24 de Noviembre de 2016, 22:28 »
¿Cómo hago para marcar el tema como resuelto?

tebasuna51

  • Colaborador
  • ******
  • Desconectado Desconectado
  • Registrado: 22/02/2010
  • Mensajes: 3.504
  • Valoración: 132
Re:UsEac3To: Extraer pista DTS desde un THD
« Respuesta #8: 25 de Noviembre de 2016, 02:14 »
... déjame unos días para prepararlo. Ya te preguntaré cómo hacértelo llegar.

Yo suelo usar http://www.sendspace.com/

Citar
64 bits
Yo así lo tengo y me funcionó. Hay quien recomienda copiar los archivos de ArcSoft a C:\Windows\SysWOW64
Pero casi mejor no ensucias el registro y las carpetas del sistema con algo que ya no se necesita.

Citar
Le he añadido también el "down6", no sé si era necesario o no, pero ha salido bien.

Así el downmix lo hace eac3to, sino lo hace automaticamente ffmpeg.
La verdad es que el downmix 7.1 a 5.1 lo recomiendo con BeHappy, pero bueno esa es otra historia.

¿Cómo hago para marcar el tema como resuelto?

Edita el primer post y verás que aparece una opción "Marcar como reuelto" o algo así.

MaxitoHP

  • Miembro senior
  • ***
  • Desconectado Desconectado
  • Registrado: 25/12/2011
  • Mensajes: 102
  • Valoración: 1
Gracias de nuevo Tebasuna.

No me olvido de prepararte lo de U-571, pero déjeme unos días que ando con mucho lío en el curro y apenas tengo tiempo.

Te hago caso y no moveré ArcSoft a la carpeta del sistema. Ya tengo el DTS como quería así que entiendo que no hace falta. Imagino que el Surcode DTS Encoder o el ArcSoft sacan un DTS de mejor calidad que el gratuito que viene con UsEac3To con el que he hecho esto, ¿no?

¿Hay alguna diferencia entre que el downmix lo haga Eac3To o lo haga ffmpeg?
El BeHappy no lo conozco... así parecido en nombre a veces uso (usaba) el BeLight, pero desde que me recomendaste usar UsEac3To hace un tiempo con un problema que tuve, la verdad que no uso otro.

Ya está marcado el tema como resuelto.
Muchas gracias de nuevo.

tebasuna51

  • Colaborador
  • ******
  • Desconectado Desconectado
  • Registrado: 22/02/2010
  • Mensajes: 3.504
  • Valoración: 132
No hay prisa con lo del DTS.

ArcSoft no saca (codifica) dts, solo lo decodifica y para eso ya existe una librería gratuita (libdcadec.dll) que lo hace mejor (salvo el DTS-Express).
Surcode es otro programa que no tiene nada que ver son ArcSoft, y ese si que saca (codifica) dts, probablemente mejor que la versión gratuita ffdcaenc.exe.

A veces ffmpeg hace el downmix como eac3to pero otras veces no. Ninguna de las dos opciones es la óptima pero la diferencia no es mucha.

wolf

  • Miembro milenario
  • ******
  • Desconectado Desconectado
  • Registrado: 06/07/2007
  • Mensajes: 1.464
  • Valoración: 45
A veces ffmpeg hace el downmix como eac3to pero otras veces no. Ninguna de las dos opciones es la óptima pero la diferencia no es mucha.

Perdón que me "cuele", pero me interesa mucho este punto. Si no te entendí mal más arriba, tebasuna, mejor opción sería BeHappy, ¿no?, ¿de qué manera concreta?...

Muchas gracias. Saludos.

tebasuna51

  • Colaborador
  • ******
  • Desconectado Desconectado
  • Registrado: 22/02/2010
  • Mensajes: 3.504
  • Valoración: 132
Con la reciente versión de BeHappy incluida en la web:

[1] Source
Se abre cualquier audio o contenedor compatible (DTS-HD, TrueHD, mkv, ...)
Se selecciona como decodificador LWLibavAudioSource (Stream Index -1 o 0 para audio suelto, o la pista del audio deseado en el contenedor)
Para contenedor mp4, mov, 3gp mejor el decodificador LSMASHAudioSource.

[3] DSP
Marcar Downmix y configurarlo como 7.1 -> 5.1 (o 6.1 -> 5.1 si el audio original es solo 6.1)
Si es necesario usar después alguna otra opción:
- Si la fuente original no fuera a 48 KHz (hay algunas fuentes a 96 KHz) usar SSRC para rebajar el samplerate a 48 KHz.
- Si también necesitamos un cambio de duración usar TimeStrech.
- Si se desea una mejora de volumen (no suele ser necesario ni recomendable) usar Amplify o Normalize.

[4] Destination
Seleccionar el codificador deseado y configurarlo.
Recomendado AC3 FFmpeg con la configuración recomendada (resto defectos):
Bitrate: 640 Kb/s
Center Mix Level: -3 dB
Dolby Surround EX: DS EX Encoded (un equipo 7.1/6.1 aún recuperará los canales traseros de este 5.1)
Dialog Normalization: 31

MOTIVO DE LA RECOMENDACION DE USAR BEHAPPY:

Un downmix 7.1 a 5.1 lo que hace es reducir los 4 canales de audio BL,BR,SL,SR a solo dos sumando los canales:
Surround_Left = Side_Left + Back_Left
Surround_Right = Side_Right + Back_Right

Pero en algún momento la suma puede dar un pico superior a 0 dB y producirse un clip (corte de picos) provocando una distorsión.
eac3to (y a veces ffmpeg) lo soluciona bajando el volumen de TODOS los canales para que ese pico no llegue a los 0 dB.
Ventaja: se conserva el balance entre canales frontales y traseros en todo momento.
Desventaja: el volumen global se rebaja.

Usando el plugin de AviSynth AudioLimiter.dll (incluido en BeHappy) la mezcla de los canales Side y Back reduce esos picos al máximo de 0 dB sin distorsión de manera que el 99% del tiempo el volumen es la suma real de los dos canales Side y Back y, solo en los picos, el volumen es menor.
Ventaja: el volumen global se mantiene y solo en los picos baja el volumen de los Surround, cosa lógica ya que con 4 altavoces se puede obtener más volumen que con dos.
Desventaja: el balance de volumen entre delanteros y traseros se desvirtúa en esos picos, pero no el 99% o más del tiempo.

EDITO:
Para que se entienda voy a poner un ejemplo de la peli en que el efecto es más palpable y me motivó a crear el downmix.

Estamos en Jurassic Park oyéndo un diálogo al 40% de volumen en el canal central, de pronto ruge un Rex por detrás y los 4 altavoces traseros lanzan un 400% de volumen (diez veces el volumen del central).

Al reducir a 5.1 la solución estandard es rebajar el volumen de todos los canales de manera que el central reproducza los diálogos al 20% para conservar la proporción 10 a 1 con los traseros, que como ahora son solo 2 solo pueden producir un 200% de volumen. El problema es que se reduce ese volumen a todo lo largo de la peli.

Con el método descrito el volumen de los frontales se mantiene y, solo en el momento del rugido, el balance se desvirtúa, continuamos oyendo el diálogo al 40% y el rugido al 200% (5 a 1). Creo que es una opción más recomendable.
« Última modificación: 26 de Noviembre de 2016, 15:15 por tebasuna51 »

wolf

  • Miembro milenario
  • ******
  • Desconectado Desconectado
  • Registrado: 06/07/2007
  • Mensajes: 1.464
  • Valoración: 45
Excelente clase, como siempre, y no podía ser de otra manera. :arriba: Se entiende perfectamente tanto el motivo de hacerlo con BeHappy como el cómo hacerlo. Así lo voy a hacer a partir de ahora cada vez que me tope con un 6.1 o 7.1 y quiera conservar un 5.1.

Para un downmix estéreo desde un 6.1 o 7.1, ¿qué recomendarías?...
« Última modificación: 25 de Diciembre de 2016, 04:57 por wolf »

MaxitoHP

  • Miembro senior
  • ***
  • Desconectado Desconectado
  • Registrado: 25/12/2011
  • Mensajes: 102
  • Valoración: 1
Pues excelente explicación, sin duda, de por qué BeHappy es mejor para el downmix que UsEac3To o ffmpeg. Inapelables argumentos técnicos que me convencen para comenzar a trabajar con BeHappy para este propósito. Gracias de nuevo, Tebasuna, por compartir tus conocimientos.

Si consideráis que debo mover el post a la sección de manuales, lo muevo sin problemas (investigaría a ver cómo se hace). Aguardo confirmación de moderadores para ello.