2013-02-28 5 views
1

Spring MVC 애플리케이션에서 비디오 기능을 어떻게 구현할 수 있는지 궁금합니다. jQuery와 같은 다른 기술을 사용해야합니까, 아니면 Spring이 비디오 기능을 지원합니까?Spring MVC에서 비디오 구현하기

+0

비디오는 이미지 또는 CSS 파일과 마찬가지로 자원입니다. Spring MVC를 사용하든 다른 것을 사용하든 관계 없습니다. 원하는 것이 스트리밍이면 다른 이야기입니다. 정확히하고 싶은 것을 분명히하십시오. –

답변

0

Spring Content은 기본적으로 비디오 스트리밍 (바이트 범위)을 지원합니다. 다양한 백업 스토리지를 지원합니다. Spring Content FS (파일 시스템 용 Spring Content)를 사용하면 HTTP를 통해 클라이언트에 저장하는 파일 시스템 및 스트림 비디오를 통해 "비디오 저장소"를 직접 만들 수 있습니다.

start.spring.io를 통해 또는 IDE 스프링 프로젝트 마법사 (작성시 Spring Boot 1.5.10)를 통해 새 Spring Boot 프로젝트를 생성하십시오. 다음과 같이 Spring 부트/컨텐트 의존성을 추가하십시오 : -

<dependencies> 
    <!-- Spring Boot --> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.3</version> 
    </dependency> 

    <!-- Spring Content --> 
    <dependency> 
     <groupId>com.github.paulcwarren</groupId> 
     <artifactId>spring-content-fs-boot-starter</artifactId> 
     <version>0.0.9</version> 
    </dependency> 
    <dependency> 
     <groupId>com.github.paulcwarren</groupId> 
     <artifactId>spring-content-rest-boot-starter</artifactId> 
     <version>0.0.9</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

그런 다음 Spring Boot Application 클래스에서 VideoStore를 생성하십시오. StoreRestResource로 주석을 달아라. 이것은 두 가지 일을합니다. 너무이 인터페이스의 상단에 (파일 시스템에 대한)이 인터페이스의 구현을 주입 할 내용 봄뿐만 아니라 주입 REST 엔드 포인트의 원인 - 어떤이 직접 작성하는 데에서 당신을 저장 : - 기본적으로

@SpringBootApplication 
    public class DemoApplication { 

     public static void main(String[] args) {   
      SpringApplication.run(DemoApplication.class, args); 
     } 

     @StoreRestResource(path="videos") 
     public interface VideoStore extends Store<String> {} 
    } 

Spring Content (파일 시스템 용)는 java.io.tmpdir 아래에 저장소를 생성한다. 따라서 SPRING_CONTENT_FS_FILESYSTEM_ROOT 환경 변수 또는 시스템 속성을 설정하여 "저장소"에 안정적인 루트 위치를 설정해야 응용 프로그램/서비스가 다시 시작될 때 비디오를 다시 찾을 수 있습니다.

동영상을이 "루트"위치로 복사하십시오. 응용 프로그램을 시작하고 비디오 (들)에서 스트리밍 될 것입니다 : -

/videos/some-video.mp4

봄 콘텐츠 기타 저장도 지원하며, 현재 S3, Mongo의 GridFS 및 JPA (즉, BLOB).

스프링 부트없이 사용할 수도 있습니다. 이 대안에 관심이 있다면 알려 주시면 답변을 업데이트 할 수 있습니다.