>백엔드 개발 >PHP 튜토리얼 >PHP가 오디오 스트림에서 트랙 정보를 추출할 수 있나요?

PHP가 오디오 스트림에서 트랙 정보를 추출할 수 있나요?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-01 21:44:10846검색

Can PHP Extract Track Information from Audio Streams?

PHP를 사용하여 오디오 스트림에서 트랙 정보 가져오기

PHP를 사용하여 오디오 스트림에서 트랙 정보를 추출하는 것이 가능한지 확인하면 stream_get_transports 함수에. 그러나 fsockopen()을 통한 HTTP 전송에 대한 지원 제한에 직면한 경우 대체 방법을 탐색해야 합니다.

메타데이터 추출 탐구

다행히도 특히 SHOUTcast 스트림의 경우 오디오 스트림이 가능합니다. 이 작업은 ID3 태그 추출과 다르며 고유한 접근 방식이 필요합니다.

연결 설정

fsockopen()을 통해 서버에 직접 연결하고 적절한 포트(예: , 포트 80). HTTP 요청을 사용하여 서버와 통신하고 Icy-MetaData:1 헤더를 포함하여 메타데이터를 요청합니다.

메타 간격 이해

서버는 다음을 포함하는 헤더로 응답합니다. 메타 간격을 나타내는 icy-metaint 값입니다. 이 간격은 스트림 내 메타데이터 패킷의 빈도를 결정합니다.

메타데이터 읽기 및 구문 분석

8192바이트의 MP3 데이터를 삭제한 다음 첫 번째 바이트를 읽습니다. 메타데이터 패킷의 길이입니다. 이 바이트 값에 16을 곱하여 메타데이터에 대해 읽을 바이트 수를 결정합니다.

정보 분할 및 검색

메타데이터 문자열을 잘라 패딩을 제거합니다. 문자열을 구문 분석하고 ";"에서 분할합니다. 구분 기호를 사용하여 트랙 제목 및 스트림 URL과 같은 정보를 추출합니다.

선택 리소스

SHOUTcast 메타데이터 검색에 대한 추가 지원은 다음과 같은 외부 리소스를 참조하세요. https://web.archive.org/web/20191121035806/http://www.smackfu.com/stuff/programming/shoutcast.html.

위 내용은 PHP가 오디오 스트림에서 트랙 정보를 추출할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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