이 프로젝트는 TP+Redis+Nginx+nginx-rtmp-module+ffmpeg+HLS +Swoole
거기 현재 두 가지 주요 서버는 다양한 rtmp 서버, 상업용 및 오픈 소스입니다. 상업용은 오픈소스보다 더 많은 기능을 지원하며 필요에 따라 선택할 수 있습니다. 상업용에는 FMS Wowza
오픈소스 RTMP 서버
Nginx-rtmp
사용 명령:
git clone https://github.com/arut/nginx-rtmp-module.git
nginx-rtmp-module을 Linux에 다운로드합니다.
2. nginx 설치: nginx 공식 웹사이트는 http://nginx.org/en/download.html
wget http://nginx.org/download/nginx-1.8.1.tar.gz tar -zxvf nginx-1.8.1.tar.gz cd nginx-1.8.1 ./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module make && make install
이번 기본 설치 디렉터리는 /root, add-module은 다운로드된 nginx-rtmp입니다. -모듈 파일 경로. 설치 중에 openssl이 설치되지 않았다는 오류가 보고될 수 있습니다.
yum -y install openssl openssl-devel
vi /usr/local/nginx/conf/nginx.conf
다음 콘텐츠를 추가합니다.
rtmp { server { listen 1935; #监听的端口 chunk_size 4000; application hls { #rtmp推流请求路径 live on; hls on; hls_path /usr/share/nginx/html/hls; hls_fragment 5s; } } }
hls_path에는 읽기 및 쓰기 가능 권한이 필요합니다. . http에서 서버 모듈을 수정하세요:
server {listen 81;server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
4. 위 구성을 완료한 후 푸시를 시작할 수 있습니다.
설정->스트리밍에서 정보를 입력하세요. URL은 rtmp://xxx:1935/hls이고, xxx는 서버의 IP 주소이며, hls는 스트리밍 미디어를 저장하는 데 사용됩니다. 테스트 작성 등 재생 시 재생할 스트리밍 미디어를 식별하기 위해 비밀 키를 입력할 수 있습니다. 내용을 입력한 후 스트리밍을 시작하려면 클릭하세요. 이는 스트리밍 미디어 서버가 성공적으로 설정되었음을 의미합니다.
5. 라이브 방송 시청(스트리밍) 라이브 방송 시청은 비교적 간단하게 h5 vedio 태그를 사용하여 시청할 수 있습니다. http://xxx:81/hls/mystream.m3u8을 방문하여 라이브 방송을 시청할 수 있습니다. 여기서 xxx는 서버 IP 주소이거나
브라우저가 HTML5 비디오를 지원하지 않습니다.
위와 동일, xxx는 귀하의 서버 IP 주소. 그런 다음 휴대폰을 사용하여 이 웹사이트에 접속하여 생방송을 시청하세요. 지연은 약 20S입니다. (iOS 사파리 브라우저에서는 정상적으로 보실 수 있습니다.) 마지막에 작성합니다 딜레이가 왜 이렇게 높나요? 이는 서버가 비디오 스트림을 .ts로 끝나는 작은 파일로 자르기 때문입니다.
그리고 우리가 접근하고 있는 것은 .m3u8 파일입니다. 이 파일의 내용은 ts 파일을 하나로 연결하여 재생 효과를 내는 것이므로 상당한 지연이 있을 것으로 보입니다
지연 시간을 줄이는 방법은 없으며 슬라이스 생성 크기와 액세스 속도를 설정할 수 있지만 이로 인해 서버에 대한 부담이 크게 증가합니다. 물론 rtmp 스트리밍 도구(VLC 등)를 사용하여 라이브 방송을 시청할 수도 있습니다. 지연은 약 2-5S이고 풀 주소는 푸시 주소와 동일합니다.
백그라운드에서 원클릭 설치. 초기 관리자 관리자
위 내용은 Thinkphp를 사용하여 웹 라이브 방송을 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!