MPV 0.38 llega con mejoras de compatibilidad, de escalado y mas

reproductor mpv

MPV

Se dio a conocer la nueva versión de MPV 0.38 la cual llega con una serie de cambios y mejoras significativas, entre las cuales se destacan su nuevo renderizador «vo_gpu_next», mejoras con Vulkan, mejoras en la escala de DPI, una serie de nuevas opciones de línea de comandos, entre otras cosas más.

Para quienes desconocen de MPV, deben saber que este es un reproductor multimedia de código abierto que está diseñado para ser ligero, rápido y altamente personalizable, lo que lo hace popular entre los usuarios que prefieren un reproductor de video simple pero potente. MPV es compatible con una amplia variedad de formatos de archivo multimedia y ofrece características como reproducción de video de alta calidad, controles de reproducción avanzados, soporte para subtítulos y capacidades de filtrado de video.

¿Qué hay de nuevo en MPV 0.38?

En esta nueva versión que se presenta de MPV, la 0.38.0 una de las características más notables es el desarrollo continuo del nuevo módulo del renderizador «vo_gpu_next», construido sobre la biblioteca libplacebo y utilizando sombreadores y API de gráficos Vulkan, OpenGL, Metal o Direct3D para el procesamiento y renderizado de video.

Otro de los aspectos destacados de esta nueva versión son las mejoras implementadas en las funciones relacionadas con Wayland, incluyendo compatibilidad multi-seat, soporte mejorado para desplazamiento de alta resolución, escalado mejorado en pantallas de alta densidad de píxeles (HiDPI), manejo mejorado del cambio de cursor, variable de entorno de requisitos de uso habilitada WAYLAND_DISPLAY para la inicialización y protección contra tamaños de configuración negativos.

Además de ello, MPV 0.38 introduce varias capacidades de secuencias de comandos nuevas, como «mp.input()», para una interacción de scripts, permitiendo la solicitud de entrada de datos de texto por parte del usuario y la adición de la opción «–deinterlace-field-parity» al reproductor para habilitar automáticamente el desentrelazado.

También incluye actualizaciones prácticas como la opción de desentrelazado automático e información ampliada en reproducción en Mac, que mejoran el control del usuario y la visibilidad de la información de reproducción.

Además, MPV 0.38 ha agregado soporte para MoltenVK en las compilaciones de Mac OS para brindar soporte para la API de Vulkan, mejorando el rendimiento gráfico aprovechando las funciones modernas de GPU y también hay numerosos ajustes en funcionalidades y las interacciones de la interfaz de usuario, como una mejor compatibilidad con el cambio de tamaño de ventanas y las funciones de arrastrar y soltar en macOS.

De los demás cambios que se destacan:

  • El reproductor elimina el código de soporte heredado no estándar específico de Raspberry Pi
  • Introduce una variedad de nuevos comandos y opciones que mejoran la personalización y el control de la reproducción.
  • Capacidad de cargar archivos de configuración dinámicamente
  • Ajustar el retraso de los subtítulos para subtítulos secundarios y controlar el volumen del audio en decibeles.
  • Continúa solucionando errores y mejorando funciones menores en diferentes sistemas para garantizar un rendimiento más fluido y una compatibilidad mejorada
  • Correcciones para controladores de audio específicos
  • Informes de modificadores de clave mejorados en macOS
  • Ahora se requiere como mínimo el uso de FFmpeg 4.4 o posterior
  • El Zoom de video ahora se puede controlar mediante «Ctrl+WHEEL_UP/DOWN»
  • Ahora el caché se guarda en archivos separados.

Si estás interesado en poder conocer más al respecto, puedes consultar la lista completa de cambios en el siguiente enlace.

¿Como instalar el reproductor MPV en Linux?

Si estás interesado en poder instalar este reproductor en tu sistema, puedes hacerlo siguiendo las instrucciones que compartimos a continuación.

Compilación desde el código fuente

El primer método y es general para cualquier distribucion, es realizando la compilación del código fuente. Para ello debes de abrir una terminal y ejecutar los siguientes comandos:

git clone https://github.com/mpv-player/mpv-build.git
cd mpv-build/
sudo apt install libfribidi-dev libfribidi-bin yasm
./rebuild -j4
sudo ./install

Esto descargará el código fuente de MPV, instalará las dependencias necesarias y compilará e instalará el reproductor en tu sistema.

Usando un repositorio externo (para Ubuntu y derivados)

Si eres usuario de Ubuntu o algún derivado de este y no quieres realizar la compilacion. Puedes optar por agregar un repositorio mantenido por un tercero y luego instalar MPV desde allí. Para ello debes de ejecutar estos comandos en la terminal:

sudo add-apt-repository ppa:mc3man/mpv-tests
sudo apt update
sudo apt install mpv

Esto agregará el repositorio, actualizará tus fuentes de paquetes y luego instalará MPV desde el repositorio añadido.

Para Arch Linux

En Arch Linux, puedes instalar MPV directamente desde los repositorios oficiales con este comando

sudo pacman -S mpv

Para openSUSE

En openSUSE también se cuenta con la aplicacion en los repositorios, por lo que solo debes de verificar que la nueva versión esté disponible en los repositorios y luego ejecutar en una terminal:

sudo zypper in mpv

Una vez instalado, puedes usar MPV desde la terminal. Puedes consultar su manual de uso con el comando help o visitar el siguiente enlace para obtener más información sobre su uso y opciones disponibles.

mpv --help

from Linux Adictos https://ift.tt/15a4Qle
via IFTTT

zlib-rs, una alternativa a zlib-rs en Rust que tiene como finalidad abordar los problemas causados ​​por errores de memoria

zlib-rs una alternativa de la biblioteca de compresión de datos zlib

zlib-rs

La biblioteca zlib, desarrollada por Jean-Loup Gailly y Mark Adler, es un componente esencial ya que es utilizada en una amplia gama de aplicaciones que están enfocadas en la compresión de archivos en formatos como ZIP, gzip y PNG debido a su eficiencia y versatilidad. Esta biblioteca ha estado presente desde 1995 y como resultado de su amplio uso, también ha sido blanco de múltiples vulnerabilidades de seguridad de la memoria.

El núcleo de zlib es el algoritmo de compresión DEFLATE, que combina las técnicas de compresión sin pérdida de datos del algoritmo LZ77 con una estructura de árbol Huffman para lograr tasas de compresión notables. Esta combinación de técnicas hace que zlib sea extremadamente eficiente en la compresión y descompresión de datos, siendo especialmente útil en aplicaciones donde el espacio de almacenamiento o el ancho de banda son limitados.

Además de la compresión de archivos, zlib también se utiliza en la transferencia de datos comprimidos en redes para reducir la carga de ancho de banda, en aplicaciones de almacenamiento y procesamiento de archivos, así como en aplicaciones multimedia para la compresión de datos de audio y video.

A lo largo del tiempo, zlib ha enfrentado algunas vulnerabilidades que han sido abordadas en versiones posteriores de zlib, como las mencionadas CVE-2005-1849, CVE-2016-9840, CVE-2016-9841 y CVE-2016-9842 (solo por mencionar algunas de las conocidas de zlib), que podían ser explotadas por atacantes para provocar una denegación de servicio (DoS) o incluso ejecutar código arbitrario y que debido a las fallas de seguridad de memoria común para las bibliotecas de compresión escritas en C/C++, zlib sigue siendo un blanco importante.

Con la finalidad de abordar estos problemas, sin dejar de lado la naturaleza y bondades de zlib, la ISRG (la organización detrás del proyecto Let’s Encrypt y dedicada a mejorar la seguridad en internet) dio a conocer recientemente el lanzamiento de un nuevo proyecto que tiene como finalidad el crear un análogo de zlib en el lenguaje de programación Rust.

Contratamos a Tweede Golf en diciembre de 2023 para una implementación inicial basada en zlib-ng , con un enfoque en mantener un rendimiento excelente al tiempo que introducimos la seguridad de la memoria.

Que sigue

Actualmente estamos buscando financiación para completar el trabajo necesario para que la implementación inicial esté lista para la producción.

La nueva alternativa tiene como nombre «zlib-rs» y esta se presenta como una solución de zlib escrita en Rust con el objetivo principal de abordar los problemas de seguridad asociados con errores de memoria y vulnerabilidades que suelen estar presentes en las bibliotecas de compresión escritas en C/C++.

El desarrollo de zlib-rs surge en respuesta a estadísticas de Microsoft y Google que señalan que aproximadamente el 70% de las vulnerabilidades se deben a un manejo inseguro de la memoria. Al utilizar Rust como lenguaje de programación, se espera reducir significativamente el riesgo de estas vulnerabilidades, como el acceso a áreas de memoria liberadas o el desbordamiento de búferes.

El proyecto zlib-rs contiene una implementación Rust del formato de archivo zlib que es compatible con la API zlib y el repositorio actualmente se están trabajando en dos implementaciones:

  • zlib-rs, una implementación de Rust basada en zlib con una API de Rust segura (actualmente se considera como inestable, pero se espera llegar a estabilizar la implementación en poco tiempo).
  • libz-rs-sys, una API C una API C para zlib-rs . La API es, en términos generales, equivalente a zlib-sysy zlib-ng-sys, pero actualmente no proporciona la familia de funciones gz*. Desde la perspectiva de rust, esta API no es muy ergonómica por lo que de momento se recomienda el trabajo con flate2.

Sobre el trabajo en el desarrollo actual, se menciona que el ofrecer un análogo en Rust pueda atraer la atención de otros y puedan sumarse al trabajo, ya que el ofrecer una alternativa enfocada en la seguridad y la prevención de errores comunes, pueda en cuestión de algunos años de trabajo y desarrollo ofrecer un sustituto transparente a zlib.

Finalmente cabe mencionar que actualmente el trabajo de zlib-rs se publica en GitHub en el siguiente repositorio y el código se distribuye bajo la licencia Zlib. Puedes consultar más al respecto en el siguiente enlace.

from Linux Adictos https://ift.tt/fuUB3IX
via IFTTT

I2P 2.5.0 implementa mejoras en túneles, I2PSnark y mas

I2P, la alternativa a Tor cifrada para ocultar el tráfico

I2P es una red anónima P2P que protege de la censura, la vigilancia y el monitoreo en línea.

Recientemente se dio a conocer el lanzamiento de la nueva versión de versión I2P 2.5.0 junto con el cliente C++ i2pd 2.51.0 y en esta nueva versión, se han realizado varias mejoras y adiciones, de las cuales uno de los principales puntos en los que se enfocaron los desarrolladores fue en fortalecer la implementación de la estrategia de aislamiento de NetDB, esta nueva versión intra seguridad de la red, ya que comparada con la versión anterior, 2.4.0 presenta cambios notables en varias áreas clave.

Para quienes desconocen de I2P, o Invisible Internet Project, deben saber que es una alternativa para acceder a internet de forma anónima, similar a Tor pero con diferencias significativas. Mientras que Tor utiliza capas de cifrado, I2P utiliza un enrutamiento llamado «garlic», donde los mensajes se agrupan en paquetes de datos denominados «dientes de ajo». Esta técnica evita que los observadores externos puedan adivinar la temporización de los mensajes, a diferencia del método de capas de Tor.

Aunque I2P tiene limitaciones para acceder a información superficial de la web, destaca por su capacidad para crear sitios exclusivos en la dark web, conocidos como eepsites. Estos eepsites permiten a los usuarios realizar actividades como enviar mensajes de forma segura y ocultar su ubicación geográfica a usuarios externos de internet.

¿Qué hay de nuevo en I2P 2.5.0?

En esta nueva versión que se presenta de I2P 2.5.0, como ya se mencionó al inicio, se destacan las mejoras de seguridad y correcciones de errores en la base de datos NetDB, utilizada para detectar pares en la red I2P. Las mejoras implementadas se realizaron en los ajustes para mejorar la resistencia al spam y la capacidad del enrutador para rechazar mensajes sospechosos. Esto fue parte de un esfuerzo para «auditar» la implementación de las defensas de «aislamiento de subbase de datos» desde la versión 2.4.0.

Otro de los cambios que se destaca de la nueva versión, es que ahora el cliente BitTorrent «I2PSnark» admite la capacidad de búsqueda en torrents y tiene una mejor compatibilidad con otros clientes BitTorrent que admiten I2P, como BiglyBT y qBittorrent.

Ademas de ello, el cliente de correo electrónico SusiMail ha recibido nuevas funciones, incluida la compatibilidad con el formato Markdown en correos electrónicos y admite la adjunción de archivos, arrastrando y soltando, permitiendo una presentación más atractiva y estructurada del contenido.

En I2P 2.5.0 se han mejorado los túneles creados con Hidden Service Manager mediante el administrador de servicios ocultos, ya que´ahora admiten «Keepalive», lo que mejora el rendimiento, además se han mejorado las herramientas del enrutador para bloquear mensajes sospechosos y se ha mejorado la generación de compilación para Android y Windows en i2pd.

De los demás cambios que se destacan de I2P 2.5.0:

  • Se han implementado nuevos algoritmos para calcular RTT, RTO y ventana deslizante en i2pd.
  • Mejoras en el protocolo de transporte SSU2, como el uso de SOCKS5 en lugar de SOCKS4
  • Nuevas implementaciones de reenvío de paquetes, búfer de envío, tiempos de espera y control de congestión.
  • Implementación de Keepalive/Persistencia del lado del servidor en I2PTunnel.
  • Almacenamiento comprimido de RI y LS en Datos.
  • Mejoras en la gestión de cambios de directorio en I2PSnark.
  • Diversas correcciones de errores en diferentes componentes para mejorar la estabilidad y seguridad.
  • Se han realizado actualizaciones de traducción y se han implementado mejoras en la API.

Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el anuncio del lanzamiento en el siguiente enlace.

¿Como instalar I2P en Linux?

Si estás interesado en utilizar utilidad en tu sistema, debes saber que I2P es multiplataforma, es decir, ofrece paquetes tanto para Windows, Linux, MacOS e incluso para Docker y también para dispositivos móviles, dígase Android y iOS. Puedes descargar I2P 2.5.0 desde el siguiente enlace.

En el caso de Linux, puedes obtener los paquetes precompilados que se ofrecen para Ubuntu de manera oficial e incluso para Arch Linux (los cuales se construyen a partir de los paquetes .deb) u optar por descargar el archivo .jar para ejecutar I2P. En nuestro caso vamos a instalar I2P desde los repositorios de Ubuntu y para ello debemos abrir una terminal y teclear:

sudo apt-add-repository ppa:i2p-maintainers/i2p
sudo apt-get update
sudo apt-get install i2p

Mientras que para el caso de Arch Linux el único requisito es contar con el repositorio de AUR habilitado y contar con un asistente de AUR (por ejemplo yay). En una terminal debemos teclear:

yay -s i2p

Finalmente, para Debian y distribuciones basadas en esta, deben de realizar una serie de pasos, los cuales puedes encontrar en este enlace.

from Linux Adictos https://ift.tt/uqXoMzd
via IFTTT