首頁  >  文章  >  後端開發  >  輸出緩衝是否會導致我的網路攝影機畫面凍結?

輸出緩衝是否會導致我的網路攝影機畫面凍結?

Linda Hamilton
Linda Hamilton原創
2024-11-01 14:03:30864瀏覽

Is Output Buffering Causing My Web Camera Feed to Freeze?

如何在PHP 中停用輸出緩衝

問題

使用PHP 的列印功能從網路攝影機串流傳輸時,似乎會發生一些資料緩衝。在低幀速率下,來源會凍結,然後快速顯示多個幀。此問題懷疑是由輸出緩衝區引起的。

解決方案

第1 步:停用輸出緩衝

  • 全域,透過在php.ini 或Apache 配置中停用output_buffering:

    php_flag "output_buffering" Off
  • 對於特定腳本,呼叫ob_end_flush() 或ob_end_clean()。

第 2 步:停用伺服器層級輸出緩衝

  • 在腳本開頭呼叫 ob_implicit_flush()。
  • 在每個產生輸出的語句後面呼叫lush()。

說明

PHP 採用兩層緩衝:輸出緩衝區與寫入緩衝區/伺服器緩衝區。

輸出緩衝區

  • 由 ob_start()、ob_end_flush() 和 ob_end_clean() 控制。
  • 緩衝輸出到回應正文。
  • 預設限制為 4096 位元組。
  • 透過將output_buffering設定為Off來全域停用,或是透過呼叫ob_end_clean()/ob_end_flush()來局部停用。

寫入緩衝區與伺服器緩衝區

  • 由flush()控制。
  • 緩衝 PHP 和後端(Web 伺服器或 CGI)的輸出。
  • 可能受 Web 伺服器的緩衝方案影響。
  • 啟用透過呼叫 ob_implicit_flush() 或在 php.ini 中將隱式刷新設定為 On 進行隱式刷新(由於潛在的效能影響,不建議)。

以上是輸出緩衝是否會導致我的網路攝影機畫面凍結?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn