Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

291
Views
Reproduce y divide videos en una pared de pantallas

Estoy trabajando en un proyecto de aplicación de Android TV. Necesito dividir un video en 2, 3 o X pantallas en partes iguales. Cada pantalla tiene un dispositivo Android TV conectado con mi aplicación. Por ejemplo: Si tenemos 2 pantallas cada una mostrará el 50% del video reproducido. Si tenemos 3 pantallas cada una mostrará el 33,33% del vídeo reproducido. Si tenemos 4 pantallas cada una mostrará el 25% del video reproducido.

Aquí hay una imagen para tener una mejor comprensión de mis expectativas:

paredes de pantalla

El video se reproduce simultáneamente en cada pantalla del muro y sobre este punto ya lo he pensado: una pantalla será el maestro NTP (protocolo de tiempo de red) y la(s) otra(s) pantalla(s) será(n) la(s) esclava(s). Para sincronizar los jugadores.

Mi primera idea es tener en cada app el video completo, reproducirlo y tener visible solo la parte que necesito. ¿Cómo puedo lograr eso? Es posible ?

De antemano gracias por su ayuda.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

No tengo claro cómo manejará la altura (por ejemplo, si tiene un video de 1080p pero lo expande en cuatro pantallas, tendrá que cortar 3/4 de los píxeles para "acercarlo" a través de las pantallas), pero algunos pensamientos:

Si no tiene que preocuparse por HDCP, un divisor HDMI podría funcionar. Si no es así, pero es para un evento único (por ejemplo, configurar un quiosco para una feria comercial), entonces probablemente sea menos riesgoso y más fácil crear archivos de video separados con ellos realmente divididos como lo desea. Si esto tiene que ser más flexible/robusto, entonces será un poco complicado con algunas opciones.

más simple

Debería poder configurar un SurfaceView tan grande como necesite con las compensaciones ajustadas para cada dispositivo. Por ejemplo, la pantalla 2 podría tener un conjunto de SurfaceView con un ancho de #_of_screens * 1920 (o cualquiera que sea la resolución adecuada) y una posición inicial X de -1920. La advertencia es que no sé qué tamaño de SurfaceView podría soportar. Por ejemplo, esto podría funcionar muy bien para solo dos pantallas, pero no para diez pantallas.

Puede intentar usar VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING para escalar la salida de video según el tamaño que necesita para mostrar.

Para dispositivos potentes

Si los dispositivos con los que está trabajando son lo suficientemente potentes, es posible que pueda renderizar en una SurfaceTexture fuera de la pantalla y luego copiar la parte de la textura en una GLSurfaceView. Si se trata de contenido DRMed, también deberá verificar la extensión EGL_EXT_protected_content.

Para Android 10+

Si los dispositivos ejecutan Android 10 o superior, SurfaceControl puede funcionar para usted. Puede usar SurfaceControl.Transaction para manipular SurfaceControl, incluida la forma en que se asignan las coordenadas de la zona de influencia. El código básico termina luciendo así:

 new SurfaceControl.Transaction() .setGeometry(surfaceControl, sourceRect, destRect, Surface.ROTATION_0) .apply();

También hay una muestra de SurfaceControl en las demostraciones de ExoPlayer v2: https://github.com/google/ExoPlayer/tree/release-v2/demos/surface

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!