2015-06-20 58 views

回答

0

這取決於您希望如何執行上傳。

選項1 - 如果電影是由它分流到在服務器中,例如,RTSP或RTMP上載,則服務器可以選擇丟棄基於其持續時間電影,上載期間所確定。這是最準確和最有效的選擇,但它需要上傳者能夠將文件和服務器流式傳輸到媒體服務器接受流。

選項2 - 如果電影是通過文件傳輸上傳的,那麼最簡單的辦法就是限制電影文件的大小。如果知道其比特率,則可以通過啓發式來確定大小。例如,在500Kbps的速度下,您預計6秒鐘的電影重量約爲375KB,因此您可能會限制上傳到450KB,並在檢查服務器端的文件時確定確切的邊界。爲了實際工作,您必須事先知道電影的平均比特率。

選項3 - 另一種選擇,基於電影元數據:根據電影格式,您可以通過檢查文件標題來確定電影的持續時間。例如,在mp4中,如果MOV原子位於文件的開頭,則可以預先告知電影的持續時間。但是,如果MOV原子位於文件的末尾,或者如果H.264流作爲MPEG-TS進行實時流式傳輸,那麼無法預先確定電影的持續時間。請注意,標題信息無論如何都只是元數據,因此不符合要求的客戶端(無論是否意外)都可能通過發佈不正確的持續時間元數據來欺騙服務器。換句話說 - 這種方法不可靠。

選項4 - 如果僅使用HTTP/FTP,儘管可能是勞動力密集型編程方式,但更準確的方法是在上傳過程中分析電影。該方法高度依賴於電影格式和上傳方法。它比第一個選項(文件上游)還不夠準確和響應。

總之,如果你可以妥協配額斷言的前期準確性和等待文件在服務器上接受或拒絕它那麼最簡單和建議的解決辦法是選擇2

相關問題