簡體   English   中英

有沒有辦法為基於瀏覽器的視頻上傳者設置最長持續時間?

[英]Is there a way to set maximum duration for browser-based video uploaders?

Vine.co最多允許視頻6秒。 但是用戶只能從手機上傳。 我想知道這是否可以通過瀏覽器完成。 謝謝。

(我依靠node.js)

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

選項1-如果通過將影片流傳輸到服務器(例如,RTSP或RTMP)來上傳影片,則服務器可以根據影片的持續時間來選擇放下影片,如在上傳過程中確定的那樣。 這是最准確,最有效的選項,但是它要求上傳者能夠流傳輸文件,並且服務器必須接受媒體服務器的流。

選項2-如果影片是通過文件傳輸上傳的,那么最簡單的方法就是限制影片文件的大小。 如果您知道比特率,則可以通過試探法確定大小。 例如,以500Kbps的速度播放6秒的電影大約需要375KB,因此您可以將上傳的文件限制為450KB,並在檢查服務器端的文件時確定確切的邊界。 為了使此功能真正起作用,您必須事先知道電影的平均比特率。

選項3-另一個選項,基於電影元數據:根據電影格式,您可以僅檢查文件頭就可以確定電影的前期時間。 例如,在mp4中,如果MOV原子位於文件的開頭,則可以提前告知電影的持續時間。 但是,如果MOV原子位於文件的末尾,或者如果將H.264流作為MPEG-TS進行流式傳輸復用,則無法預告電影的持續時間。 請注意,標頭信息在任何情況下都只是元數據,因此,不合格的客戶端(無論是偶然還是惡意)都可能通過發布不正確的持續時間元數據來欺騙服務器。 換句話說-此方法不可靠。

選項4-如果僅使用HTTP / FTP(雖然可能是最費力的編程方式),則更准確的方法是在上傳過程中分析影片。 此方法高度依賴於電影格式和上載方法。 而且它仍然不如第一個選項(上游文件)准確和響應。

總而言之,如果您可以在配額聲明的前期准確性上做出妥協,並在接受或拒絕文件之前等待文件在服務器上,則最簡單和建議的解決方案是選項2。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM