여러 MP3의 자동 압축을 위한 최상의 프로세스
문제
상당히 복잡한 프로세스가 필요한 프로젝트가 있는데 이 작업을 수행하는 가장 좋은 방법을 알고 싶습니다.Adobe Flex 3에서 ASP.net C#을 사용하고 있습니다.앱 서버는 Mosso(클라우드 서버)이고 파일 저장 서버는 Amazon S3입니다.기존 사이트는 다음에서 볼 수 있습니다. NoiseTrade.com
나는 이것을 해야 한다:
- 사용자가 MP3 파일을 앨범 "위젯"에 업로드하도록 허용합니다.
- 사용자가 앨범/위젯을 업로드 한 후 MP3를 자동으로 지퍼 (다른 사용자를 다운로드하려면)를 Amazon S3에 MP3 트랙과 함께 업로드해야합니다.
실제로 이 기능은 이미 작동하고 있지만(Flex의 클라이언트측 처리 사용) Adobe의 플래시 10 "보안" 업데이트로 인해 더 이상 작동하지 않습니다.이제 이 서버측을 구현해야 합니다.
내가 생각하는 방식은 다음과 같습니다.
- 앱 서버의 임시 폴더에 MP3를 저장
- 아티스트가 "게시"할 때 AC# 라이브러리를 사용하여 해당 폴더에서 파일의 zip을 만듭니다.
- Amazon S3 업로드 프로세스 (Zip 및 MP3)를 시작하고 완료되면 사용자에게 이메일을 보내십시오 (임시 폴더 삭제)
이 접근 방식에서 제가 본 주요 문제점은 사용자가 나중에 트랙을 삭제하거나 추가하는 경우 zip 파일을 업데이트해야 하지만 임시 파일은 더 이상 존재하지 않는다는 것입니다.
나는 이 작업을 수행하는 가장 좋은 방법을 모르고 있으며 귀하의 조언에 감사드립니다.
감사해요!
해결책
사용자가 트랙을 추가하거나 제거하는 경우 zip을 업데이트하지만 임시 파일이없는 경우에는 여러 트랙이 포함 된 Zips, 완전한 앨범이 포함 된 Zips를 작성하려고한다고 의심합니다. 이것이 틀렸고 각 지퍼에 단 하나의 mp3를 넣으면 스위트 잭이 옳고 아마도 파일을 만들게 될 것입니다 (약간). 더 큰 지핑하여 더 작기보다는 더 작습니다.
내 해석이 맞다면 운이 좋다. 명령 줄 지퍼 도구에는 자주 기존 지퍼 아카이브에서 파일을 추가하거나 삭제하는 데 사용할 수있는 플래그가 있습니다. 지핑을하기 위해 어떤 라이브러리 또는 기타 방법을 사용하고 있는지는 언급하지 않았지만 아마도이 기능도있을 것으로 기대합니다.
다른 팁
MP3가 압축되어 있습니다. 왜 그들을 지치는가?
압축 된 파일 형식을 압축 할 필요는 없다고 말하고 싶습니다. 파일 크기를 5 % 줄이고, 조금씩 가져 가거나 가져 가기 위해서만 gong입니다. MP3는 실제로 가능한 대부분의 가능한 데이터를 압축했습니다.
DotNetZip C#/ASP.NET에서 파일을 압축할 수 있습니다.나는 MP3의 압축성에 관한 이전 포스터에 동의합니다.DotNetZip은 자동으로 건너뛰다 MP3로 압축하고 파일을 저장하기만 하면 됩니다.압축 외에도 zip을 패키징/보관 컨테이너로 사용하는 것은 여전히 흥미로울 수 있습니다.
나중에 zip 파일을 변경하는 경우(사용자가 트랙을 추가함) S3에서 .zip 파일을 가져와 업데이트하면 됩니다.DotNetZip은 zip 파일도 업데이트할 수 있습니다.하지만 이 경우 S3로 들어오고 나가는 전송 비용을 지불해야 합니다.
DotNetZip은 메모리 내에서 zip을 처리하여 이 모든 작업을 수행할 수 있습니다. 하지만 이는 MP3가 많고 동시 사용자가 많은 대규모 아카이브에는 적합하지 않을 수 있습니다.