2012-11-15 4 views
2

MediaHandler Pro을 사용하여 미디어 파일을 변환하는 ffmpeg를 실행하는 Windows Azure의 작업자 역할이 있습니다. 우리가 처리하고자하는 파일은 blob 저장소에 저장되고 결과 파일도 거기에 저장되어야합니다.파일 시스템으로 Azure 저장소 BLOB에 액세스

우리의 문제는 ffmpeg가 blob 저장소의 URI가 아닌 로컬 파일에서 작동한다는 것입니다. blob 저장소를 마운트하고 거기에 파일 시스템으로 직접 액세스 할 수있는 방법이 있습니까?

로컬 파일 시스템에 * 파일을 다운로드하여 처리 한 다음 업로드하는 것이 좋습니다. 이것은 중복 된 것처럼 들립니다. 우리는 가상 디스크에이 덩어리를 다운로드하는 CloudDrive을 설정 한

*)

+0

dunnry가 올바른 대답을 가지고 있다고 생각합니다. MediaHandler에 전념하지 않는다면 다른 옵션은 인코딩을 완전히 생략하고 Azure Media Services를 사용하는 것입니다. https://www.windowsazure.com/en-us/home/features/media-services/ –

+0

시작했습니다. Azure Media Service를 사용했지만 Azure 1.8 (Net 4.5)에서 실행하는 데 큰 어려움을 겪었습니다. 또한 워터 마크 및 ogg/webm 출력에 대한 지원이 부족하여 업데이트 될 때까지 ffmpeg를 사용하기로 결정했습니다. – Martin

답변

1

당신은이 일을 몇 가지 방법이 있습니다 - 당신은 클라우드 드라이브 (VHD 페이지 덩어리로 업로드)를 만들고 마운트 할 수 있습니다 소스 파일을 로컬에서 다운로드하고 스크래치 (로컬 임시) 디스크에서 작업 할 수 있습니다. 두 가지 옵션 중 로컬로 다운로드하고 스크래치 디스크를 사용합니다.

클라우드 드라이브를 사용하는 경우 3 가지 기본 문제가 있습니다. 첫 번째는 VHD이며 파일을 가져 오기 위해 마운트해야한다는 것입니다. 두 번째는 RW에 대해 하나의 인스턴스 만 마운트 할 수 있기 때문에 동일한 드라이브에 여러 작업자를 저장하면서 소스 파일 인코딩 작업을 분할 할 수 없다는 것입니다. 세 번째 문제는 모든 저장 옵션 중 가장 느린 것입니다. 인코딩을 위해서는 아마도 좋은 선택이 아닐 것입니다.

가장 좋은 방법은 blob 저장소 (매우 빠름, btw)에서 '로컬 리소스'(일명 스크래치 디스크)로 소스 파일을 다운로드하고 거기에서 작업하는 것입니다. 결과 파일을 BLOB 저장소에 업로드하십시오.

+0

감사합니다. 로컬 저장소를 생성하고 다운로드했습니다. 그것은 잘 작동하는 것 같습니다. – Martin

관련 문제