Laden Sie jedes n-te Pixel jedes n-ten Frames der MP4-Datei herunter

Laden Sie jedes n-te Pixel jedes n-ten Frames der MP4-Datei herunter

Ich arbeite in einer Umgebung mit begrenzter Bandbreite. Ich möchte MP4-Dateien herunterladen können, aber die Qualität ist mir nicht so wichtig. Ich dachte, um die Bandbreitennutzung theoretisch auf etwa ein Achtel zu senken, würde ich nur jedes vierte Pixel und nur jedes zweite Bild herunterladen.

Lassen Sie mich verdeutlichen, was ich meine. xbedeutet „übersprungen“.

Nehmen wir also an, wir haben eine MP4-Datei mit den Abmessungen 8 x 4, dann sieht ein Frame so aus:

OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO

Ich möchte Bandbreite sparen, indem ich nur die benötigten Informationen herunterlade, und zwar wie folgt:

OxOxOxOx
xxxxxxxx
OxOxOxOx
xxxxxxxx

Jeder 2x2 Pixelblock besteht also aus

OO
OO

Zu

Ox
xx

Es wird also nur ein Pixel heruntergeladen statt aller vier.

Ich möchte dasselbe auf Frames anwenden. Wenn ein 8-fps-Video eine Sekunde hat, die so aussieht

[ O O O O O O O O ]

das soll es werden

[ O x O x O x O x ]

Es werden also nur nummerierte Frames 2*nheruntergeladen.

Ich nehme an, dass dies mit unkomprimierten Dateien wie einfachen Textdokumenten oder BMP-Bildern, bei denen die Daten von Frame n nicht von Frame n-1 abhängen, mehr oder weniger problemlos möglich wäre, aber ich würde gerne wissen, ob jemand von Ihnen abschätzen kann, wie gut dies mit MP4 möglich ist. Der codierte (?) in Frage istisomiso2avc1mp41

Antwort1

Ich würde gerne wissen, ob jemand von euch einschätzen kann, wie möglich dies mit MP4 ist

Es ist 0% möglich

nun, technisch gesehen hängt es davon ab, welcher Video-Codec in der MP4-Datei steckt, aber wenn man davon ausgeht, dass sie jetzt im Rohformat ist (was die Datei absolut riesig machen würde), wird wahrscheinlich ein Codec verwendet, der sowohl zeitliche als auch räumliche Komprimierung verwendet. In ihrem Fall ist es AVC1, auch H264 genannt.

Die räumliche Komprimierung in Codecs erfolgt durch die Konvertierung vom räumlichen in den Frequenzbereich über eine Transformation wie die DTC. Um ein Pixel wiederherzustellen, müssen Sie alle Koeffizienten für die IDCT haben, das heißt, Sie müssen alles herunterladen.

Was das Überspringen von Frames betrifft, könnten Sie alle P-Frames (und vielleicht B-Frames) überspringen und nur die Key-Frames (IDR) herunterladen. Aber Key-Frames liegen im Durchschnitt etwa 1 bis 10 Sekunden auseinander. Wenn also 0,1 fps in Ordnung sind, würde dies die Bandbreite wahrscheinlich um etwas weniger als die Hälfte reduzieren.

verwandte Informationen