ASP.NET HtmlInputFile에서 동영상 길이 알 수 있나요?

을 사용해서동영상을 업로드 하고싶어요!
그런데 동영상 길이가 60초 이상인 경우 업로드를 제한하고 싶어요,
Nuget NReco.VideoInfo 를 다운받아도, Client Side에서 URL을 만들어서 넘겨야하는데, FFProbe().GetMediaInfo()에 bind할 때, URL을 넣어도 catch로 빠지네요…
“~\App_Data\ffmpeg\ffprobe.exe’ 경로의 일부를 찾을 수 없습니다.” 라고 뜨네요…
혹시 방법 없을까요? 구글링 키워드라도 주시면 감사합니다.

구글에는 input type file video length 이런식으로 검색해봤었어요

아래 글 참고해보세요.

1 Like

사용자의 브라우저 환경이 html5를 지원하는 최신 브라우저에 한정이라면

html5의 Video 태그를 사용해서 클라이언트 즉 브라우저에서 직접 해당 영상을 로드하여 ‘timeupdate’ 속성으로 영상의 재생 시간을 가져올 수 있습니다.

javascript를 통해 위 방식으로 영상 메타정보중 재생 시간의 가져온 후 업로드 로직을 호출하면 될 것 같습니다.

하지만 이러한 방식은 클라이언트 스크립트단에서 처리 되기에 얼마든지 쉽게 스크립트 조작을 통해 우회 할 수 있다는 점도 같이 알고 계셔야 하니다.

추가
제가 댓글을 다는 도중 @jrchs 님이 답변을 달아 주셨는데
해당 스택오버플로우의 답변 내용도 html5 요소중 Video 를 사용 하는 방법 이네요.


html5 미만 html4.x 에서는 자체적으로 동영상의 메타정보를 알아내는 방법은 없는 것으로 알 고 있습니다. (기타 확장을 쓰지 않는 이상은.,)

3 Likes

감사합니다. video태그로 해결 지을 수 있었습니다!