>  기사  >  백엔드 개발  >  출력 버퍼링으로 인해 웹 카메라 피드가 정지됩니까?

출력 버퍼링으로 인해 웹 카메라 피드가 정지됩니까?

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()를 호출합니다.
  • 모든 출력 생성 문 후에 플러시()를 호출합니다.

설명

PHP는 출력 버퍼와 쓰기 버퍼/서버 버퍼라는 두 가지 버퍼링 계층을 사용합니다.

출력 버퍼

  • ob_start(), ob_end_flush() 및 ob_end_clean()에 의해 제어됩니다.
  • 응답 본문에 대한 버퍼 출력.
  • 기본 제한은 4096바이트입니다.
  • output_buffering을 Off로 설정하여 전체적으로 비활성화하거나 ob_end_clean()/ob_end_flush()를 호출하여 로컬로 비활성화합니다.

쓰기 버퍼 및 서버 버퍼

  • flush()에 의해 제어됩니다.
  • PHP 및 백엔드(웹 서버 또는 CGI)의 출력을 버퍼링합니다.
  • 웹 서버의 버퍼링 방식에 영향을 받을 수 있습니다.
  • 활성화 ob_implicit_flush()를 호출하거나 php.ini에서 implicit_flush를 On으로 설정하여 암시적 플러시(잠재적 성능 영향으로 인해 권장되지 않음).

위 내용은 출력 버퍼링으로 인해 웹 카메라 피드가 정지됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.