簡體   English   中英

Android文件下載。 媒體URL不以文件名和類型結尾的問題

[英]Android file download. Media URLs that does not end with a filename and type, issue

我正在為Android開發任何下載應用程序,並且在大多數情況下都可以正常運行。

我碰到過一些網址,網址的末尾帶有長的哈希簽名。 但是Android的標准視頻應用程序以及我的網絡瀏覽器都可以直接以流方式播放它。

對於如何將其流式傳輸到文件(漸進式下載?),我一無所知。 “?”之后的網址參數 用於某事。 正如Jessica指出的那樣,以下URL可能用於帶有rtmp://。的RTMP流。

URL示例(已刪除主機域):

 http://blush.im.54ca3830.919727.x.yesitisporn.com/videos/3gp/d/b/f/
      filthysite.com_dbf7f0a9c3913d4d0e09a36fe8ab3aba.mp4?e=1348368010&ri=1024&rs=85&h=c81c6707b13714ac65b651ba2939d94a

在上面的URL中,有指向mp4視頻文件的鏈接。 嘗試使用此較短的URL下載它不起作用: http://blush.im.54ca3830.919727.x.yesitisporn.com/videos/3gp/d/b/f/ filthysite.com_dbf7f0a9c3913d4d0e09a36fe8ab3aba.mp4 : http://blush.im.54ca3830.919727.x.yesitisporn.com/videos/3gp/d/b/f/ filthysite.com_dbf7f0a9c3913d4d0e09a36fe8ab3aba.mp4 返回一個空文檔。

由於流行的視頻應用程序和瀏覽器會選擇這些類型的HTTP鏈接,因此非常適合播放; 應該有一種獲取字節流並將其寫入文件的標准方法。 謝謝你的幫助!

針對最初提出的問題:添加URL參數,用問號將URL與參數分開,並用&符號分隔參數是很常見的。 如果存在問號,則將所有內容的子字符串帶到URL中第一個未分隔的問號之前,否則使用整個字符串。

根據新的反饋:就像我在評論中說的那樣,並且在沒有參數的情況下進行了測試,我認為您是在樹錯誤的樹中嘗試更改URL。 我懷疑您無法保存這些特定流的原因是文件格式或服務器配置與工作方式有所不同。 特別是,我首先想到的是,這些URL可能是由Streaming Server(例如: Icecast )提供的,而不是由基於文件的普通HTTP服務器提供的。 流服務器的優勢包括能夠即時提供不同帶寬版本的流,即時搜索文件的任何部分等等,但是對於試圖構建下載任何應用程序的人來說,不利之處在於那些服務器沒有以單個文件的形式發送數據,然后以大塊的形式發送數據。為了不使技術過於瘋狂,基本上,一個大塊可能具有第一幀,以及隨后幾幀中視頻的差異。音頻,重復。 這樣做可以根據所看到的延遲或屏幕分辨率來限制要發送的質量,或者在調整窗口大小等情況下可以調整發送的質量。 這種流媒體對現場事件特別有效,但對於錄制的事件(尤其是隨機搜索)也並非​​沒有優勢。 使捕獲數據的問題復雜化,一些流服務器實際上是通過RTMP,RTSP或MMS協議而不是通過HTTP傳輸視頻數據。 HTTP偽流或直接HTTP下載將比通過RTMP流更容易保存。 您幾乎必須使用某些流類型從單個數據包重新創建文件,或從屏幕上實時播放的內容中對其進行轉碼。 因此,您可能需要花一些時間來學習不同的流協議,以找出保存所需特定流的最佳方法。

暫無
暫無

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

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