2012-07-10 4 views
0

나는 클라이언트가 검색을 통해 업로드 된 비디오를 통해 스트리밍 할 수있는 웹 사이트를 원한다고 요구합니다. 가장 까다로운 요구 사항은 매주 특정 이벤트가 열리고 카메라로 녹화되고 녹화되는 이벤트를 원하며이 비디오는 라이브 웹 사이트에 표시되어야합니다.웹 캐스트 기반 웹 사이트 (PHP)

나는 PHP로 웹 사이트를 만드는 법을 알고 있지만, 웹 캐스트 기반 웹 사이트의 요구 사항이 무엇인지, 특히 카메라와 대역폭 요구 사항을 알지 못합니다.

Also what are the requirements and methods for a website which can stream videos uploaded on server.I am totally new to video streaming and don't know how to do it in php. 

구현 방법을 알려주세요.

+0

youtube에 올려 놓으면 대역폭이 걱정되지 않아도됩니다. –

+0

그리고 어떻게해야할지 모를지라도 - 여전히 고용 되었습니까? – zerkms

+0

나는 클라이언트에게 사이트와 카메라에 대한 요구 사항을 제공해야한다. 나의 역할은 내가 할 수있는 사이트 모듈을 개발하는 것이고, 클라이언트는 요구 사항에 따라 다른 작업을하는 다른 사람들을 갖게 될 것이다. – shivgre

답변

1

HTML5 웹캠 캡처를 사용해보세요.

Google IO 중에 강조 표시되었습니다.

Google에이 방법이 필요하다고 생각합니다. 아직 사용하지 않았습니다.

0

저는 많은 연구를했고 플래시 종류의 서버를 사용해야한다는 것을 알았습니다. 우리는 RED5와 Flash라는 두 가지 선택 항목이 있습니다. RED5는 오픈 소스이며 Flash는 무료가 아닙니다. 이러한 종류의 웹 캐스팅에 대해서는 과 같은 서버를 설치 한 다음 적절한 API를 사용하고 웹 플레이어에 플래시 플레이어를 삽입해야합니다. 페이지를 새로 고치지 않고 요청을 처리 한 다음 콘텐츠를 동적으로로드해야하기 때문에 이러한 특수 서버가 필요합니다.

1

Red5 대신 Nginx-RTMP 모듈을 사용하는 것이 더 적합 할 수 있습니다. https://github.com/arut/nginx-rtmp-module 현재 Nginx를 사용하고 있거나 사용할 수있는 모듈은 쉽게 구성하고 사용할 수 있습니다. RTMP를 통해 라이브 비디오를 받아 들여 JWplayer와 같은 플래시 기반 플레이어로 보내고 동시에 Apple 장치 (및 ROKU와 같은 다른 장치)에서 재생하기 위해 HTTP 라이브 스트림을 만들 수 있습니다.

몇 대의 서버에 설치 했으므로 매우 만족 스러웠습니다. 그것은 RTMP를 통해 비디오를 받아들이고 단지 IMHO 훌륭한 일을합니다.

Nginx-RTMP를 사용하면 ffmpeg를 실행하여 미리 녹음 된 파일을 서버에 "실시간"스트리밍하는 스크립트를 사용합니다. 그리고 실제로 실제 라이브 비디오 피드를 원할 때는 ffmpeg를 실행하는 컴퓨터 (비디오 피드가있는 스튜디오 에서처럼) 또는 전화 또는 태블릿에서 OSBroadcaster를 사용하여 라이브 위치에서 ffmpeg 및 스트림을 중지하십시오. RTMP를 통해 비디오를 스트리밍 할 수있는 소프트웨어 또는 앱.

일부 PHP 백엔드로 모든 작업을 자동화 할 수 있으므로 미리 녹화 된 자료가 자동으로 서버에 저장되고 (Nginx-RTMP는 스트림을 녹화 할 수도 있음) HTML5 비디오 요소의 적절한 페이지에 표시되거나 플래시 기반 비디오 플레이어 또는 둘 다. 라이브 피드가 실제로 라이브 일 때 PHP가 라이브 스트림을 표시하는 페이지에 플레이어 윈도우를 표시하게 할 수 있습니다.

이것은 과도하게 단순화되었지만 잘 작동하면 어떻게 작동하는지 알 수 있습니다.

Nginx-RTMP 모듈에 대한 자세한 내용은 How to set up your own private RTMP server using nginx도 참조하십시오.

카메라는 전적으로 상황에 따라 다르며 완전히 다른 종류의 경기장입니다. 웹캠이나 RTMP를 통해 스트리밍되는 태블릿/스마트 폰 또는 ffmpeg와 같은 RTMP 클라이언트 스트리머를 실행하는 컴퓨터에 공급되는 전문 카메라 (VLC도 마찬가지입니다)와 같은 것을 사용할 수 있습니다.또는 Teradek 및 일부 다른 회사에서는 비디오 입력을 연결할 수있는 약간의 하드웨어 상자 (Teradek Vidiu)를 만들고 RTMP를 통해 지정한 서버로 비디오를 인코딩하고 스트리밍합니다.

대역폭은 많은 요인에 따라 달라집니다 당신이, 당신이 지원하는 데 필요한 비디오 품질과 해상도, 얼마나 많은 동시 스트림 (다른 위치에서 여러 라이브 스트림을, 등)

이 얼마나 많은 시청자 여러분 업로드 대역폭 (스트리밍 서버에 대한 카메라)은 비디오 요구 사항에 따라 100kbps 정도에서 최대 수 Mbps까지 다양합니다. 전형적인 예를 들자면, 초당 24-30 프레임으로 표준 화질 비디오를 스트리밍하고 h.264와 같은 좋은 코덱을 사용하면 괜찮은 품질의 스트림이 약 400-700kbps를 차지할 것으로 기대할 수 있습니다. 그것과 많이 다를 수 있지만 좋은 출발점입니다. 720p30을 전송하는 경우 약 1-1.5Mbps 정도를 사용하는 것이 좋습니다. 1080p30, 어쩌면 1.5-3Mbps, UHD, 5-6Mbps. 그러나 내가 말했듯이 비트율에 대한 선택은 품질 요구에 따라 달라질 것입니다.

다음으로 스트리밍 한 스트림을 지원하려는 시청자 수로 늘리고 업로드 스트림에 하나 더 추가하면 전체 대역폭이 필요합니다. 고려해야 할 다른 사항이 있지만 출발점이 있습니다.

관련 문제