2012-09-13 3 views
5

푸른 하늘의 MP4 형식의 저장소에서만 '동영상'을 표시 할보기가 포함 된 MVC 4 응용 프로그램이 있습니다. 현재 MediaElment.js (또는 일반 플래시 플레이어)를 비디오 플레이어로 사용하고 있습니다. 이러한 비디오를 부드러운 스트리밍 또는 점진적 다운로드 (적응 형 스트리밍) 방식으로 재생하려면 어떻게해야합니까? 스트리밍을 지원하기 위해 Azure에서 설정해야하는 구성은 무엇입니까? blob 저장소에 MP4 파일을 업로드하기 전에해야 할 일이 있습니까?BLOB 저장소의 부드러운 스트리밍 비디오

나는이 링크를 통해 http://msdn.microsoft.com/en-us/spazuretrainingcourse_spblobstorageazure.aspx 그리고 내가 아는 한 Windows Azure Blobs Uploader를 사용하여 azure 및 silverlight를 클라이언트로 업로드하는 데 사용됩니다. 필자의 경우 비디오는 별도의 응용 프로그램에서 업로드되므로 비디오 파일을 조작 할 수 없습니다. 그래서 어떤 변화없이 스트리밍을 구현하고 실버 라이트 이외의 비디오 플레이어에서 재생할 수있는 방법이 있습니까?

업로드하는 동안 미디어 파일을 변경할 수 있다면 무엇이든 할 수 있습니까?

감사합니다.

+0

호기심에서 벗어나 Windows Azure Media Services를 살펴 보았습니까? WAMES는 BLOB 저장 장치에서 적응 형 스트리밍을 지원하고 약간의 노력으로 비디오를 부드러운 스트리밍 형식으로 변환하는 방법을 제공합니다. – Rytmis

답변

4

나는 Adaptive Streaming없이 (거의 25MB 이하의 비디오 파일 만 처리하고있다.) 거의 정확히이 작업을 해왔다. 내 웹 페이지의 프런트 엔드에 JWPlayer를 사용하고 있으며 비디오는 Azure blob 저장소에 있습니다.

사전 빌드 된 윈도우 바이너리 ffmpeg.exe를 사용하고 있습니다. Azure (작업자 역할 프로젝트의 루트에 넣음)에 업로드 한 다음 WorkerRole에서 System.Diagnostics.Process를 사용하여 비디오 파일을 마사지합니다. 당신은 당신이 원하는 다른 품질의 버전을 만들기 위해 동일한 작업을 수행 할 수 있습니다.

그래서 사용자가 내 비즈니스 로직 계층에서 Azure 메시지 대기열에 메시지를 가져 오면 내 작업자 역할이이를 선택하고 Azure LocalStorage에 비디오를 복사합니다 (LocalStorage는 Azure 프로젝트에서 구성 할 수있는 실제 디스크입니다) 설정 파일), 파일에 대해 ffmpeg.exe를 실행 한 다음 blob 저장소에 다시 넣습니다.

+0

많은 감사. 그래서 귀하의 방법에 따라 비디오 파일을 BLOB 저장소에 업로드하는 동안 ffmpeg를 사용하여 미디어 파일을 스트림 컨텐츠로 변환하고이 스트림 컨텐츠를 blob.Right에 저장하고 있습니까? – Dennis

+0

아닙니다. Blob에 업로드 한 후 비디오 파일을 temp_folder에 복사하고 ffmpeg를 사용하여 인코딩을 변경합니다 (그러나 ffmpeg로 많은 작업을 수행 할 수 있으며 Expression Encoder 대신 명령 줄에서 원하는 작업을 수행 할 수 있습니다.) , Azure 인스턴스의 서버 쪽) 그런 다음 변경된 비디오 파일을 BLOB 저장소에 다시 넣습니다. –

+0

확인. 필자는 필요에 따라 FFMPEG를 사용하여 비디오 파일 (MP4)을 인코딩 할 준비가되었습니다. 이제 플레이어에게 스트리밍되도록하려면 수행해야 할 단계는 무엇입니까? 즉, 필요에 따라 플레이어에게 비디오를 스트리밍 할 수있는 핸들러와 같은 것을 만들어야합니까? 동영상을 전체적으로 다운로드하기를 기다리지 않고 점진적으로 재생하기를 원합니다. 클라이언트 측 (플레이어) 또는 서버 측에서 아무 것도 설정해야합니까? – Dennis