Heim >Backend-Entwicklung >PHP-Tutorial >Führt die Ausgabepufferung dazu, dass mein Webkamera-Feed einfriert?

Führt die Ausgabepufferung dazu, dass mein Webkamera-Feed einfriert?

Linda Hamilton
Linda HamiltonOriginal
2024-11-01 14:03:30939Durchsuche

Is Output Buffering Causing My Web Camera Feed to Freeze?

So deaktivieren Sie die Ausgabepufferung in PHP

Das Problem

Beim Streamen von Daten von einer Webkamera mit der Druckfunktion von PHP scheint es zu einer gewissen Pufferung zu kommen . Bei niedrigen Bildraten friert der Feed ein und zeigt dann mehrere Bilder schnell an. Es wird vermutet, dass dieses Problem auf den Ausgabepuffer zurückzuführen ist.

Die Lösung

Schritt 1: Ausgabepufferung deaktivieren

  • Global , indem Sie die Ausgabepufferung in php.ini oder der Apache-Konfiguration deaktivieren:

    php_flag "output_buffering" Off
  • Für das spezifische Skript rufen Sie entweder ob_end_flush() oder ob_end_clean() auf.

Schritt 2: Deaktivieren Sie die Ausgabepufferung auf Serverebene

  • Rufen Sie ob_implicit_flush() am Anfang des Skripts auf.
  • Rufen Sie „flush()“ nach jeder ausgabeerzeugenden Anweisung auf.

Erklärung

PHP verwendet zwei Pufferschichten: den Ausgabepuffer und den Schreibpuffer/Serverpuffer.

Ausgabepuffer

  • Gesteuert durch ob_start(), ob_end_flush() und ob_end_clean().
  • Pufferausgabe an den Antworttext.
  • Standardlimit ist 4096 Bytes.
  • Global deaktivieren, indem Sie „output_buffering“ auf „Aus“ setzen, oder lokal durch Aufrufen von ob_end_clean()/ob_end_flush().

Schreibpuffer und Serverpuffer

  • Wird durch „flush()“ gesteuert.
  • Puffert die Ausgabe von PHP und dem Backend (Webserver oder CGI).
  • Kann durch das Pufferschema des Webservers beeinflusst werden.
  • Aktivieren implizites Flushing durch Aufrufen von ob_implicit_flush() oder Setzen von implicit_flush auf On in php.ini (aufgrund möglicher Auswirkungen auf die Leistung nicht empfohlen).

Das obige ist der detaillierte Inhalt vonFührt die Ausgabepufferung dazu, dass mein Webkamera-Feed einfriert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn