我有一個播放隨機視頻和圖像文件的系統,我想設置一些淡入淡出的過渡。現在,我希望時機恰到好處,所以我認爲開始的最佳方式是確定我即將播放的視頻的持續時間。我在確定使用JavaScript的文件持續時間方面遇到了一些問題,所以我暫時擱置了一下,並認爲我可以通過ColdFusion來完成此操作。有沒有辦法使用ColdFusion獲取視頻文件的持續時間?
我試過讓最好的朋友谷歌找到答案,但無濟於事。那麼這裏的任何人都知道如何確定剛剛使用ColdFusion上傳的視頻文件的持續時間?
謝謝。
更新:
我設法找到的東西:
<!--- 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)) />
多數民衆贊成抽出流持有期限,而不是HH幾秒鐘的十進制數:MM:SS.mmm,所以我只是把它解析出來......瞬間......你覺得怎麼樣?
你節省了一天! – Nich 2014-05-23 01:41:16
已經意識到「路徑」需要本地視頻路徑,如果視頻在一個url上是遠程的呢? – Nich 2014-05-23 02:21:10
只適用於本地視頻,對不起。 – 2014-06-01 02:08:36