2013-02-18 3 views
3

나는 임의의 비디오 및 이미지 파일을 재생하는 시스템을 가지고 있으며, 그들과 함께 약간의 페이딩 전환을 설정하려고합니다. 지금 당장은 타이밍이 옳다. 시작하기 가장 좋은 방법은 내가 재생하려고하는 비디오의 길이를 결정하는 것이다. 자바 스크립트로 파일 지속 시간을 결정할 때 몇 가지 문제가 있으므로 조금만 쉬면됩니다. 대신 ColdFusion을 통해이 작업을 수행 할 수 있다고 생각했습니다.ColdFusion을 사용하여 비디오 파일의 재생 시간을 가져 오는 방법이 있습니까?

저는 가장 친한 친구 인 Google에게 대답을 찾도록했지만 아무 소용이 없었습니다. 따라서 ColdFusion에서 방금 업로드 한 비디오 파일의 지속 시간을 결정하는 방법을 알고있는 사람은 누구입니까?

감사합니다.

업데이트 : 내가 뭔가를 찾기 위해 관리

:

펌핑 년대 스트림 대신 HH의 지속 시간 (초)의 진수를 보유하고

<!--- Set CrLf definition ---> 
<cfset CrLf = Chr(13)&Chr(10) /> 
<!--- Use FF Probe to extract stream information, Stream 1 contains duration, width and height info about the file ---> 
<cfexecute name="c:\inetpub\wwwroot\ffprobe.exe" arguments="#testFile# -show_streams" timeout="60" variable="info" errorVariable="errorOut" /> 
<!--- Concentrates on extracting information from the very first stream in the returned variable ---> 
<cfset StreamStart = Find("[STREAM]", info) /> 
<cfset StreamEnd = Find("[/STREAM]", info) /> 
<cfset Stream = Mid(info, StreamStart+9, StreamEnd - StreamStart - 12)&CrLf /> 
<!--- ^^ Parses out first stream ---> 
<!--- vv Extracts the duration, don't really mind the long decimal bit at the end! ---> 
<cfset adRefreshTime = Mid(Stream, Find("duration=",Stream)+9, Find(CrLf, Stream, Find("duration=",Stream)+9)-(Find("duration=",Stream)+9)) /> 
: MM : SS.mmm, 그래서 나는 그걸 파헤 쳤다. 즉석 기간 ... 어떻게 생각하니?

답변

4

내 자신의 (무료/오픈 소스) VideoConverter.cfc가 보통 그렇게 할 수있다.

https://github.com/sebtools/Video-Converter

그 메소드에 의해 반환되는 구조에서 "기간"키
<cfset sInfo = VideoConverter.getVideoInfo(path)> 

봐. 존재한다면 VideoConverter.cfc는 비디오의 길이를 알아낼 수있었습니다.

내부적으로 ffmpeg.exe를 사용하여 해당 정보를 가져옵니다.

+0

오늘을 저장하십시오! – Nich

+0

"경로"에 로컬 비디오 경로가 필요하다는 것을 알았습니까? 비디오가 URL에서 원격 인 경우 어떻게해야합니까? – Nich

+0

로컬 비디오에서만 작동합니다. 죄송합니다. –

2

mp3의 경우이 파일을 사용할 수 있습니다. 당신은 비디오 파일을

<cfset mp3File = createObject("java", "coldfusion.util.MP3File").init("C:\music.mp3")> 
<cfoutput>mp3File.getDuration() : #mp3File.getDuration()# Sec</cfoutput><br> 

EDIT를 통과하면 동영상과 함께 작동 할 수하십시오 WMV 파일을 시도하고는 11분 육초 비디오 나에게 4천76초했다. mp3로 시도하고 그것은 207 초에 3:24 초 mp3를 말했습니다. 나는 CF9.01을 사용하고있다.

+0

4076 초는 1 시간 이상입니다. – Travis

+0

그건 내 요점 이었어. 광고 된대로 작동하지 않습니다. –

관련 문제