Descargue cada enésimo píxel en cada enésimo fotograma del archivo MP4

Descargue cada enésimo píxel en cada enésimo fotograma del archivo MP4

Trabajo en un entorno con ancho de banda limitado. Quiero poder descargar archivos MP4 pero no me importa mucho la calidad. Lo que pensé para reducir teóricamente el uso de ancho de banda a aproximadamente un octavo sería descargar solo cada cuarto píxel y solo cada segundo cuadro.

Permítanme ilustrar lo que quiero decir. xsignifica "omitido".

Entonces digamos que tenemos un archivo MP4 que tiene una dimensión de 8x4, por lo que un marco se ve así:

OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO

Me gustaría ahorrar ancho de banda descargando solo la información necesaria de esta manera:

OxOxOxOx
xxxxxxxx
OxOxOxOx
xxxxxxxx

Básicamente, cada bloque de píxeles de 2x2 va desde

OO
OO

a

Ox
xx

Por lo tanto, solo se descarga un píxel en lugar de los cuatro.

Me gustaría aplicar lo mismo a los marcos. Si un vídeo a 8 fps tiene un segundo parecido a este

[ O O O O O O O O ]

se convertirá en esto

[ O x O x O x O x ]

2*npor lo que solo se descargan los fotogramas numerados .

Supongo que eso sería posible más o menos fácilmente con archivos sin comprimir, como documentos de texto plano o imágenes BMP, donde los datos del cuadro n no dependen del cuadro n-1, pero me gustaría saber si alguno de ustedes puede estimar qué tan posible es esto. es con MP4. El codificado (?) en cuestión esisomiso2avc1mp41

Respuesta1

Me gustaría saber si alguno de ustedes puede estimar qué tan posible es esto con MP4.

Es 0% posible

Bueno, técnicamente depende del códec de video que haya dentro del mp4, pero suponiendo que ahora esté sin formato (lo que haría que el archivo sea absolutamente enorme), probablemente esté usando un códec que use compresión temporal y espacial. En su caso es avc1, también llamado h264

La compresión espacial en códecs se realiza mediante la conversión del dominio espacial a un dominio de frecuencia mediante una transformación como el DTC. Para recuperar un píxel debes tener todos los coeficientes del IDCT, eso significa descargarlo todo.

En cuanto a omitir fotogramas, puede omitir cualquier fotograma P (y tal vez B) y solo descargar fotogramas clave (IDR). Pero los fotogramas clave están espaciados entre 1 y 10 segundos en promedio. Entonces, si 0.1 fps está bien, probablemente reduciría el ancho de banda a un poco menos de la mitad.

información relacionada