DTube 0.8: la gran actualización finalmente está aquí. DTV, DTalk, sistema VIP, etc.

in #dtube6 years ago

La versión 0.8 tomó un tiempo, este artículo explicará por qué. Pero viene repleto de muchas cosas nuevas que fueron muy solicitadas. Casi un año después de nuestro inicio, ahora estamos alcanzando la octava iteración de DTube, y lo lejos que hemos llegado. Esta actualización, una vez más, presenta más funciones nuevas para que la experiencia sea más completa y similar a las plataformas de video convencionales. Pero antes de hablar sobre nuevas funciones, tengo un gran anuncio:

DTube ahora es de código abierto
Hasta ahora, todo era de código abierto, excepto la aplicación principal, que solo estaba disponible en formato minificado, lo que aparentemente era muy frustrante para mucha gente.

Me complace anunciar que DTube ahora es un software de código abierto 100% gratuito. Nuestra aplicación principal ahora está disponible para que todos la puedan leer o modificar en github.com/dtube/dtube . Este es otro movimiento con la esperanza de mejorar la transparencia de nuestro proyecto y permitir contribuciones de cualquier persona.

Notificaciones
He hablado mucho sobre notificaciones en los últimos artículos, y es algo que pensé que tendríamos antes en nuestro desarrollo. Finalmente, aquí está. Se requirieron muchos cambios en DTube para que cualquier contenido se pudiera ver en DTube, incluido el contenido que no era de video.

Nuestras notificaciones son totalmente similares a las que implementó busy.org , solo el lado del cliente es ligeramente diferente y debería permitirle identificar mejor las notificaciones en las que ya ha hecho clic.

DTV : Livestreaming ahora disponible en DTube

Una gran característica nueva, que estoy seguro de que todos disfrutarán, es la transmisión en vivo. Estamos utilizando MistServer , un servidor de transmisión en vivo centralizado, con una versión de código abierto .

Además de Mist, construí una API para generar de forma segura claves de transmisión asociadas directamente a un nombre de usuario de Steem. Cuando haces clic en el botón para obtener tu clave de transmisión, creará una dtubeStreamVeriftransacción personalizada en el fondo que verificará tu identidad de Steem y autorizará tu token de transmisión. Esto significa que puede iniciar la transmisión en vivo, sin tener que publicar necesariamente una nueva publicación raíz en la cadena de bloques.

Por supuesto, esta característica es de hecho monetizada. Una vez que se transmite, solo publique su transmisión en la página 'Go Live', y se creará un nuevo contenido de Steem. Su transmisión en vivo se mostrará en la sección DTV de DTube. Al igual que en el caso de los videos, a medida que recibe más y más votos ascendentes, su transmisión aumentará en las listas y aumentará su público de manera orgánica.

Si bien descentralizar livestream sería bueno, es una tarea difícil que tomará tiempo. Es nuestro objetivo final. Sin embargo, a diferencia de la codificación masiva de video, los servidores de transmisión en vivo son un mercado muy abierto con muchas alternativas, incluidas las de código abierto. Decidimos que es una buena opción usar eso por el momento, ya que no crea mucho costo ni tiempo de mantenimiento para nosotros, al tiempo que satisface la mayor demanda de nuestra comunidad.

Quería lanzar esto como una función básica de transmisión, pero muchos usuarios privados se quejaron de que una transmisión en vivo en sí misma no serviría de nada si el video no estuviera disponible más tarde. Por lo tanto, estamos almacenando todas sus transmisiones en vivo dentro de nuestra infraestructura, y al hacer clic en un contenido antiguo, se mostrará el video correspondiente a la hora de la publicación en la cadena de bloques de Steem. Estos videos, así como los feeds en vivo, no están codificados (un poco cómo nuestros videos no fueron codificados en versiones anteriores del proyecto), así que tenlo en cuenta y asegúrate de que la calidad de tu transmisión no sea demasiado alta si quieres usuarios con mala conexión a Internet para poder seguir tu transmisión.

En la próxima versión de MistServer, también deberíamos tener acceso a la transmisión de WebRTC que permitirá la transmisión directa en el navegador a través de WebRTC, es decir, ya no es necesario que el software como OBS o Larix Broadcaster comiencen a transmitir.

DTalk : mensajería privada Steem
Steem Private Messaging es un tema que parece volver a la vida de vez en cuando, sin encontrar una solución de trabajo. Personalmente, creo que si todas las principales redes sociales han implementado mensajes , existe una razón. Actualmente, la mayoría de los Steemianos usan Steem.chat o Discord. Estas soluciones son deficientes porque requieren que los usuarios verifiquen con quién están hablando, si no quieren que las apresuren. Si queremos una forma verdadera de enviar mensajes entre los usuarios de Steem, no deberíamos necesitar una cuenta secundaria en Discord en Steem.chat.

Algunos otros desarrolladores han tratado de encontrar soluciones a este problema antes, como Mangosteem por @mynameisbrian o Steem Messenger por @therealwolf . La comunidad no adoptó estas soluciones porque están en cadena. Mangosteem estaba enviando spam a la cadena como comentarios y quedó inutilizable después de un corto tiempo. Steem Messenger está usando operaciones de transferencia para enviar mensajes (cortos), por lo que cada mensaje costará 0.001 STEEM o SBD. Además, incluso si no pudieras decodificar un mensaje, aún sabrías quién está hablando con quién.

Después de considerar cuidadosamente estos hechos, y lo suficientemente mal como para permitir que los usuarios de DTube se envíen mensajes, he intentado encontrar soluciones. Una solución centralizada simple sería usar un servidor irc modificado que pueda iniciar sesión en los usuarios de STEEM pidiéndoles que decodifiquen un mensaje que solo ellos pueden descifrar. Esta solución funciona bien, y debe escalar tan bien como un servidor IRC tradicional (bastante bueno).

Pero, ¿podemos descentralizarlo?
Si podemos hacerlo para fotos y videos, ¿por qué no cadenas de texto? Porque si no queremos utilizar STEEM blockchain como una base de datos como lo hacemos normalmente, almacenar mensajes no serviría de nada ya que no tendríamos forma de recuperar todos los mensajes de la misma discusión fácilmente ... Lo que necesitamos es una base de datos descentralizada que se ejecuta dentro del navegador, dentro de la aplicación DTube ...

¡Si podemos!

Para este propósito, DTube ahora usa Gun , una tecnología de base de datos descentralizada . Fue creado por @marknadal , con quien tuve la suerte de colaborar para hacer realidad DTalk. Un buen ejemplo de arma que se utiliza

actualmente en la producción es notabug.io , un reddit descentralizado, que funciona al 100% con pistola, sin cadena de bloques, sin back-end. DTube es ahora otro gran ejemplo de las capacidades de Gun.

Al igual que para IPFS, DTube tendrá un nodo armado funcionando 24/7 dentro de la infraestructura, lo que debería ayudar a los corresponsales a ver los mensajes nuevos incluso si el remitente se desconectó, y mantener sus mensajes cifrados almacenados en algún lugar incluso si limpia todos sus navegadores.

Todos los mensajes están encriptados de principio a fin, y descubrir quién habla con quién es imposible si no puede descifrar el mensaje. La única advertencia es que tendrá que publicar su clave de pistola dentro de su perfil para poder ser descubierto y recibir mensajes de otros usuarios. Debería ver un botón rojo en la parte DTalk de DTube. Es una actividad única, excepto si restablece sus claves STEEM, en cuyo caso tendrá que volver a hacerlo y se perderán todas las conversaciones anteriores.

Entonces, aunque la primera opción habría funcionado mejor y con menos trabajo, la segunda opción es nuestro objetivo final, es por eso que estamos comenzando esta función directamente con un enfoque descentralizado, incluso si puede tener un poco de error en las primeras semanas mientras manejar todos los detalles.

Manejo de DMCA
No es realmente una buena característica, pero hemos comenzado a bloquear algunos videos del dominio d.tube en función de las quejas de DMCA que hemos recibido. Ahora estamos ejecutando un servidor súper delgado de 18 líneas que identifica los videos de DMCA.

Esto es desafortunado, pero todas las solicitudes recibidas hasta ahora han sido 100% legítimas, en su mayoría publicaciones de películas o enlaces a software pirateado. Una gran mayoría de nuestros usuarios juegan de forma justa y solo suben contenido original, ¡así que sigamos así!

Agrupando nuestra infraestructura
Después de la actualización anterior, estábamos administrando aproximadamente 10 servidores especializados de diferentes tamaños para D.Tube. Algunos se centraban en el almacenamiento (servidores de almacenamiento), otros en el poder computacional (servidores de codificación), otros eran para fines generales o pruebas. Esto fue conveniente y simple de administrar mientras teníamos un bajo número de servidores, pero el crecimiento del proyecto nos obligó a profesionalizar esa parte, aunque en un futuro lejano no se supone que tengamos que ejecutar nada en el servidor, no es así. el caso actualmente.

Agrupar todo, es como crear una gran máquina fusionando todas las demás máquinas. Esta gran máquina es lo que llamamos un clúster. Luego, con las herramientas de virtualización como Docker, podemos lanzar muchas instancias pequeñas del mismo software dentro del clúster, sin tener que alquilar un nuevo servidor y esperar todo el tiempo.

Dockerification de todo nuestro software
Estas pequeñas instancias se ejecutan a través de Docker, una forma popular de lograr esto. La mayoría de los testigos de STEEM también están usando docker para ejecutar la cadena de bloques STEEM.

La mayor parte del software que ejecutamos en el lado del servidor es nuestro propio código, y el cargador de archivos ipfs-uploader, por ejemplo, no estaba del todo listo para el soporte del clúster. Tuvimos que adaptar todo, por lo que sería fácil comenzar / detener cualquier cantidad del mismo servicio de DTube y escalar.

Por el momento, nuestro clúster ejecuta un total de 7 servicios:

traefik: el servicio que maneja todo el tráfico y lo reencamina al buen contenedor de docker
Uploader IPFS: nuestro servicio de carga (codificación ffmpeg, ajuste de tamaño de snap, nodo ipfs)
Streaming: MistServer combinado con nuestras propias claves de flujo api.
Entrega directa de video (más sobre esto más adelante)
Nodo GunDB
MariaDB (nuestra pequeña base de datos sql para contabilidad y @dtube.rewards )
vip.d.tube: un sitio web pequeño para crear cuentas de Steem rápidamente si tiene un código
Almacenamiento de datos y redundancia
Otro gran problema de nuestra configuración anterior, fue lo que sucedió cuando murió un disco. Todos los datos dentro de él murieron con él, y a menos que el archivo se haya copiado en otro nodo de ipfs, o el autor vuelva a cargar el mismo archivo, el video nunca volvería a cargarse. La gestión de la redundancia con IPFS fue el plan original, pero el uso ipfs pin lsen grandes almacenes de datos como el nuestro lleva demasiado tiempo y no es manejable.

En cambio, tratamos de usar soluciones existentes de nivel empresarial para crear básicamente una gran carpeta en la nube para todos nuestros videos, y cada bit de datos dentro de esta carpeta, se escribe en al menos 2 máquinas físicas reales diferentes. Primero probamos 'GlusterFS', que terminó siendo muy lento debido a todos los pequeños archivos creados dentro del almacén de datos de IPFS. Finalmente estamos usando Ceph, que parece hacer lo que queremos que haga.

Migración
Una parte importante del proyecto del clúster fue mover todo, desde nuestra configuración simple, a lo nuevo que no tenía pruebas previas. Hicimos algunos días de prueba donde la mitad de nuestras cargas irían al clúster y la mitad a la configuración anterior. Terminamos de migrar la carga de ipfs y la entrega de video en el clúster el 19 de junio.

IPFS se vuelve lento, agregando entrega de video directo
En medio de todo este cambio, la puerta de enlace de la red IPFS comenzó a ser más lenta para cargar videos, incluso cuando se usaba nuestra forma de hacer las cosas de la vieja escuela. Los usuarios se quejaban. Tuvimos que hacer algo. Creamos un nuevo servicio que se ejecuta en el dominio 'video.dtube.top', que sirve videos directamente desde nuestro clúster, exactamente como IPFS, pero sin pasar por la red IPFS. Los archivos todavía se guardan dentro del almacén de datos de IPFS y aún funciona el archivo del IPFS.

Si bien esto fue cierto hace 1 mes, parece que IPFS logra cargar videos bastante rápido nuevamente. Espera mira

Problemas que tuvimos
Todos estos cambios en la infraestructura tuvieron un costo bastante elevado. Nuestro servicio ha sido inestable a veces durante estos últimos meses.

Tuvimos un gran incidente el 15 de julio que causó un tiempo de inactividad de aproximadamente 6 horas de las cargas y la entrega de video.

También tuvimos varios incidentes a corto plazo, principalmente durante el período de migración. Ya sea largas colas para la carga o videos que no se reproducen.

En nombre del equipo de DTube, me gustaría disculparme por todos estos errores. Nuestro servicio se ha estado ejecutando sin interrupción durante las últimas 3 semanas , y creemos que será bueno ahora. En caso de problemas, contáctenos en el canal # upload-issues como lo hizo en el pasado, esto nos ayuda enormemente.

Comienza a desarrollar DTube con Utopian.io
Aunque hoy solo estoy anunciando en nuestro blog sobre el hecho de que la aplicación principal de DTube es de código abierto, ya hemos recopilado 75 estrellas y muchas solicitudes de colaboración de colaboradores, en su mayoría de utópicos.

Contribuir al desarrollo de DTube con Utopian es hoy en día una posibilidad única para los desarrolladores de código abierto, y ya teníamos múltiples experiencias positivas de desarrolladores trabajando para DTube, por su propia motivación, sin esperar un pago. Excepto que terminan con crypto en su cuenta, y mucha visibilidad para su trabajo.

El proceso es fácil:

Encuentra algo para trabajar. Ya sea en nuestros problemas etiquetados de GitHub o contactándonos directamente en discord.gg/dtube
Escribir un buen código y enviarlo como una solicitud de extracción en GitHub.
Comprobaremos su solicitud de extracción y la fusionaremos, o comentaremos los problemas que descubrimos.
Dentro de los próximos 14 días de la fusión, envíe una publicación en la red STEEM. Puede ser un video de DTube.
La primera etiqueta debe ser utopian-io
La segunda etiqueta debe ser development.
???
Ganar y hacerse famoso
Contribuciones de código abierto de DTube 0.8
Nuevo estilo de curacion
Contribuyente: @wehmoen | Publicación utópica | New Repo
Desde hace un par de semanas, tenemos un nuevo bot de discordia que ayuda a nuestros curadores a hacer su trabajo de forma más precisa.

¡En lugar de simplemente votar siempre con el mismo porcentaje (20%), los curadores ahora pueden controlar el peso de votación del robot a través de emojis! Cada reacción (👍, 👎, 💯, 🎲 o ❤) tiene un impacto diferente en el voto.

Plataforma de incorporación de DTube: vip.d.tube
Contribuyente: @wehmoen | Publicación utópica | New Repo
Es algo que me han pedido muchas veces, y que no quería hacer antes, pero que ahora es importante. Ahora podremos generar códigos de cupones que permitan a las personas obtener una cuenta STEEM instantánea. Planeamos distribuir estos códigos en los eventos, probablemente directamente en nuestras tarjetas de visita como un forst. También podemos dar códigos a los usuarios populares de Youtubers que quieran realizar el cambio sin tener que esperar en el futuro.

IU pequeña y elevación gráfica (menú, carga, página de inicio, etc.)
Contribuidor: @happyrobot | PR
0.8 se ve mejor que 0.7, y todo eso es gracias a nuestro nuevo colaborador @happyrobot . La mayoría de los cambios notables se realizarán en la barra lateral y en la página de carga, pero casi todo tiene un pequeño aumento.

Cajón inferior para listas de idiomas y notificaciones
Contribuidor: @happyrobot | PR
Nuestro menú de selección de idioma se estaba volviendo bastante largo, incluso en el escritorio, haciendo que los idiomas al final del alfabeto salgan de la pantalla. Las notificaciones también se encontraban con este problema en los dispositivos móviles, donde era imposible mostrar un menú flotante con todas las notificaciones dentro. Por lo tanto, creamos una nueva forma de mostrar una larga lista de información en DTube.

Recordar la configuración del usuario para el modo nocturno y el peso de votación.
Colaborador: @kirkins | Publicación utópica | PR
Otra pequeña molestia al usar DTube fue cómo se restableció su configuración de peso de votación o modo nocturno cuando abrió una nueva pestaña o actualizó la actual. Esto ahora está funcionando como se esperaba y será recordado.

Ultimas palabras
Esta actualización es otro gran paso hacia la finalización de un gran proyecto. El año pasado, cuando publiqué originalmente sobre la versión 0.1 de DTube, honestamente no tenía ni idea de dónde iban a ir las cosas, ni siquiera estaba seguro de que funcionaría.

Quiero que DTube se aleje de la etapa de prueba de concepto y se convierta en un producto completamente integrado. En este momento, la maquinaria no está muy pulida, pero las cosas se están enchufando rápidamente.

Todavía hay muchas características que se necesitarán para hacer de DTube la plataforma de video que los productores y consumidores desean igualmente usar en el futuro. Listas de reproducción, VOD, donaciones al estilo Twitch, análisis, plataforma de anuncios. Sigo presentando buenas ideas de características a medida que avanza el proyecto.

Únase al servidor Discordia de DTube: https://discord.gg/dtube
Pon algunas estrellas en nuestros repositorios GitHub: https://github.com/dtube
Traduzca DTube a su idioma: https://crowdin.com/project/dtube
Cómo iniciar sesión en DTube: https: //about.d.tube#faq1
DTube: https://d.tube

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.033
BTC 62796.11
ETH 3045.55
USDT 1.00
SBD 3.85