當前位置:首頁 » 雲伺服器 » 安卓搭建媒體伺服器

安卓搭建媒體伺服器

發布時間: 2023-03-03 11:34:49

1. android如何在線播放視頻支持mp4 格式的,moov在視頻末尾的播放。

我也在解決這個問題,研究了幾天。moov保存了大量數據長度之類的信息,播放視頻的時候需要一層一層的讀取完moov,才能獲取到視頻的長度之類的信息。
所以moov在末尾是沒有辦法支持邊緩存邊播放的,除非播放器和伺服器支持先把moov部分讀取了,再讀取mdat部分,但這就是流媒體了。
原本是打算在上傳視頻的時候對視頻進行處理,將moov提取到mdat的前面,然後也成功調換了,只是並不能播放,可能還需要研究一下MP4的結構吧,然後按照MPEG-4的標准來讀取和調換位置。否則就只能搭建流媒體伺服器了。
不知道你有沒有什麼方法了。

2. Android平台FFmpeg實現rtmp推流-C++的實現

視頻編碼有幾種方式:
1.硬編碼,使用MediaCodec實現
2.軟編碼,使用FFmpeg或者libx264庫來實現。

本文分享在Android平台視頻編碼-軟編碼的實現,也就是用FFmpeg來實現視頻的編碼,rtmp推流到伺服器上,相機採集視頻將在下一篇文章分享。

流媒體伺服器使用 nginx-rtmp-mole 來進行搭建。

本文所使用FFmpeg的版本是4.1,關於FFmpeg編譯成Android平台so庫如果有需要,我將在下一篇文章分享說明。

視頻編碼比較耗cpu,上傳視頻數據的會耗網路io,所以需要開啟新線程去處理,這里我用HandlerThread來處理視頻的編碼上傳。

初始化編碼相關操作
這里我們使用的是FFmpeg,所以在編碼前我們會先做一些初始化以及參數設置工作。
FFmpeg初始化
av_register_all()
創建輸出格式上下文
avformat_alloc_output_context2()
獲取編碼器
avcodec_find_encoder(AV_CODEC_ID_H264) 獲取H264的編碼器
設置編碼器參數

使用給定的編碼器和參數初始化編碼上下文
avcodec_open2(pCodecCtx, pCodec, ¶m)
創建視頻流
video_st = avformat_new_stream(ofmt_ctx, pCodec)
打開輸出上下文
avio_open(&ofmt_ctx->pb, out_path, AVIO_FLAG_READ_WRITE)
寫入輸出頭信息
avformat_write_header(ofmt_ctx, NULL)

像素格式轉換
AV_PIX_FMT_YUV420P,它是純平面存儲。總共三個平面,分別存放,Y、U、V數據。
當圖像寬是width,高是height時,Y分量的大小就是width×heitht,而U是width×heitht/4,V也是U是width×heitht/4。
H264編碼
首先我們需要了解兩個數據結構AVFrame、AVPacket
AVFrame存放的是原始數據、AVPacket存放的是編碼後的數據。
創建AVPacket
av_new_packet(&enc_pkt, picture_size);
開始編碼
ret = avcodec_encode_video2(pCodecCtx, pFrameYUV);
輸出一幀編碼後的視頻數據
ret = av_write_frame(pCodecCtx, &enc_pkt);

釋放資源

小夥伴們有疑問的可以在下方評論區評論。

3. 小白怎麼搭建app流媒體伺服器

能安裝ssr 。。。

4. 如何在Android實現一個流媒體伺服器

現在,越來越多的朋友用上了寬頻,如果僅僅只是將寬頻用來下載軟體、觀看電影,那未免太浪費了。假如你的機器性能還不錯的話,是否設想過將它架設為一台流媒體伺服器。這樣就可以與親朋好友共享美妙的音樂或最新的電影,那種網路DJ的感受可真是無與倫比呀。 就現在的主流計算機硬體而言,搭建一台網路流媒體伺服器應該沒有什麼困難,只要滿足Pentium III 450MHz、256MB內存容量、足夠的硬碟空間即可。但如果你還沒有用上寬頻,那麼還是放棄吧,否則那時斷時續的傳播質量會讓朋友們罵死你。

架設網路流媒體伺服器

所謂流媒體技術,是指將連續的影像和聲音信息經過壓縮處理後放在網站伺服器上,讓用戶能夠一邊下載一邊觀看、收聽(即所謂的「在線欣賞」),而不需要等整個壓縮文件下載到自己的機器上才可以欣賞的網路傳輸技術。目前,在這個領域中的競爭者主要有微軟、RealNetworks、Apple三家公司,例如微軟新近發布了Windows Media Services 9、RealNetworks公司新近發布的Helix Platform、Apple新近發布的Darwin streaming server 4.1,意圖在流媒體領域大幹一場。

一般來說,一個完整的流媒體服務系統需要三個部分組成:編碼器、流伺服器和播放器。編碼器通過對內容來源(如MP3文件或者麥克風輸入)進行編碼,並將編碼過的內容發送到流伺服器;流伺服器再將它們發布到Internet,這樣客戶端的播放器只要連接到流伺服器就可以進行在線播放了。

利用Winamp架設MP3網路電台

當我們靜靜地在欣賞美妙的MP3音樂時,你是否曾經考慮過將這些原本屬於個人的MP3音樂通過網路在區域網內進行發布,甚至還可以通過Internet進行發布?這樣就可以讓遍布世界的朋友們與你一起共享MP3音樂之旅。其實,要做到這一點並不難,你只要將本機創建為一台MP3流媒體伺服器,將自己所喜愛的MP3音樂不停播放,然後通知朋友們訪問你的這台MP3伺服器就可以了。

說起MP3的播放,使用最廣泛的莫過於Winamp了。對於MP3流媒體服務這個領域,Winamp的開發者Nullsoft公司當然不會放棄,專門發布了面向MP3的流伺服器SHOUTcast Server。雖然它的功能沒有Windows Media Server和Real Server強大,但它不僅對硬體的要求極低,更關鍵的是完全免費,使用起來沒有後顧之憂。另外你還需要下載一個名為SHOUTcast DSP Plug-in的插件,只有安裝了這個不起眼的插件,Winamp才能支持流媒體服務。

首先打開Winamp(請注意版本號必須在2.22以上),切換到「Options」 | 「Preferences」| 「DSP/Effect」標簽頁,選中「Nullsoft SHOUTcast Source DSP v1.8.2a[dsp_sc.dll]」下的「Configure」按鈕。打開「SHOUTcast Source」窗口,選擇「Output」標簽頁,如圖1所示,在「Address」欄內填入本機的IP地址。如果你想在Internet上廣播MP3音樂,則必須鍵入本機的外部IP地址,然後就可以從程序組中運行SHOUTcast DAAS(GUI)程序以啟動SHOUTcast服務。這時系統會自動連接到http://yp.shoutcast.com伺服器,接下來請返回圖1窗口點擊「Connect」按鈕。如果連接成功,該按鈕會變為「disconnect」字樣,這樣我們就完成了在本機架設MP3流伺服器的全部過程。

架設REAL格式的視頻點播中心

如果是架設視頻點播伺服器,那麼選擇Real格式是非常明智的。因為RealProcer Plus這款功能強大的軟體操作相當簡單,每次使用時會彈出一個向導對話框進行操作提示。目前最新版本是10.0,我們只要選擇8.5.1以上的版本即可。

從「工具」菜單下選擇「創建網頁」命令,此時會彈出一個如圖2所示的向導式對話框,點擊「前進」按鈕選擇你希望用於創建Web頁面的Real多媒體文件。隨後RealProcer會詢問是創建「彈出式播放器」還是「嵌入式播放器」,一般建議選擇後者,因為這樣所需要的系統資源更低,當然啟動速度也更快。至於播放器的界面,可以選擇「標准播放器」,很快就可以創建成功。

最後,RM文件對象所在的目錄會增加一些文件,請將這些文件與RM對象一起上傳,不過要注意保證RM文件與HTML文件在同一目錄下,否則播放器可能無法找到播放對象。

架設WMP流媒體伺服器

微軟的手伸得很長,什麼領域都要插足一下。憑借著Windows操作系統的影響力,Windows Media Player市場佔有率越來越高,而微軟的*.asf、*.wmv、*.wma、*.avi等格式也開始被越來越多的用戶所接受。

架設WMP流媒體伺服器,你需要安裝Windows Media Encoder才行,目前最新版本是9.0簡體中文版。如圖3所示,我們應該在這里選擇「廣播實況事件」,接著選擇用來編碼的音頻和視頻設備。注意請事先將音頻和視頻設備與計算機正確連接,否則會無法檢測到。接著你還需要指定服務和發布點,當然也可以使用現有的發布點。然後Windows Media Encoder會自動創建伺服器,並給出HTTP連接地址與區域網內部地址,請記住這些內容,最後點擊「開始」按鈕正式啟動WMP流媒體伺服器。

接下來,我們就可以將剛才記下的HTTP連接地址與區域網內部地址告訴給朋友們。他們只要打開IE,輸入正確的IP地址和埠號,很快就可以訪問WMP流媒體伺服器。

架設QT流媒體伺服器

平時,我們見到的大多是打造MWF(矢量地圖窗口文件,Map Window File)或RM流伺服器,可是你可知道QuickTime(以下簡稱QT)流媒體伺服器應該如何來打造嗎?其實,藉助蘋果的QuickTime Streaming Server工具,我們可以在短時間內快速打造出一台QT流伺服器。

首先我們要准備一些工具,QuickTime媒體播放工具當然是必不可少的。目前最新版本是6.5簡體中文版,到處都可以找到,或者直接到蘋果公司的網站下載,並且需要在伺服器和客戶端同時安裝。Perl語言解析器,最低版本要求是5.0以上。QuickTime Streaming Server與用戶見面最早是在1999年,當時以其開放源代碼和基於標準的實時傳輸協議/實時流協議(RTP/RTSP)引擎深深地動搖了流媒體工業的基礎,目前的最新版本是5.0,下載文件共9.2MB。

從http://developer.apple.com/darwin/projects/streaming/地址可以免費下載,但你必須擁有Apple的注冊用戶名才能登錄(注冊是免費的),這里有Mac OS X、Red Hat、Solaris、Windows NT/2000/XP等版本可供選擇。下載回來的是一個自解壓文件,釋放後執行Install.bat運行安裝程序,運行過程在命令提示符窗口中完成,最後還需要設置登錄用戶名、密碼,如圖4所示,當看到「Setup Complete!」的提示信息時即大功告成。QT流媒體伺服器建設過程和RM類似,在這里就不再贅述。

如何共享音頻和視頻

共享音頻

前面,我們利用Winamp、SHOUTcast Server將本機架設為一台MP3流伺服器,那麼該如何讓遍布天南海北的朋友或區域網中的同事欣賞這些美妙音樂呢?

這有兩種方法:一種是打開Winamp,從「Play」菜單下選擇「Location」命令,或者直接鍵入「Ctrl-L」組合鍵打開一個對話框,然後在這里鍵入MP3流伺服器的URL地址或者IP地址、埠號(預設為8000),例如「http://192.168.0.1:8000」或者「http://61.277.1.24:8000」即可收聽;另一種方法則更為簡單,從IE中打開「http://192.168.0.1:8000」進入Web管理頁面,如圖5所示,然後點擊「收聽」按鈕就可以在線收聽MP3流音樂。

共享視頻

雖然蘋果的QuickTime Player的市場佔有率遠遠不如Real或Windows Media Player,但忠實的用戶依然不少。而且蘋果畢竟是網路流媒體的開山鼻祖,因此許多最新大片都是採用QT格式。

首先必須在機器上啟動QT服務,然後通知朋友們在遠程計算機中打開QuickTime。從「文件」菜單中選擇「在新的播放窗口中打開URL」命令,鍵入「rtsp://server/file.mov」來訪問QT流伺服器以實現遠程播放。這里的「server」是伺服器的IP地址,「file.mov」是媒體文件名,默認的RTSP傳輸埠是554埠。如果網路連接沒有什麼問題的話,如圖6所示,那麼你很快就可以連接成功。

建立播放列表或點播系統

辛辛苦苦架設了一台流媒體伺服器,我們還可以建立播放列表或點播系統,甚至可以進行網路直播,反正已經用上了寬頻,不用也是浪費。

配置QT流媒體伺服器

打開IE,在地址欄中輸入「http://server:1220」,這里的「server」代表伺服器的IP地址。如果前面的配置沒有什麼問題的話,很快就會進入如圖7所示的管理頁面,這里以列表形式顯示了當前的系統資源佔用情況和相關的伺服器信息。我們可以在這里查看連接到伺服器的用戶類型、IP地址、數據速率、數據傳輸量、包丟失比例、連接時間、連接文件等內容,也可以在這里設置映射文件夾加密傳輸、最大連接用戶數、分配帶寬、重置密碼、更改埠,如果你需要的話,還可以查看錯誤日誌和操作日誌。

創建播放列表

點擊圖7窗口右側的「New MP3 Playlist」或「New Movie Playlist」按鈕,我們可以創建一個MP3或影片的播放列表。不過這里需要說明的是,你需要將相關的媒體文件復制到C:Program FilesDarwin Streaming ServerMovies文件夾中才行。

如圖8所示,我們可以在這里通過「Weight」旁邊的小三角箭頭重新調整播放列表的播放順序,可惜的是QuickTime Streaming Server對簡體中文的支持十分差勁,顯示的竟然是一些亂碼字元。最後,點擊窗口右下角的「Save Changes」按鈕就可以將這份新建的播放列表保存下來,以後如果需要更改的話可以選擇「Edit Playlist」重新配置。

不過,如果你希望其他用戶也能訪問這份播放列表文件,還必須點擊「Avaliable Playlists」列表框中的「Status」下的播放按鈕,也就是讓「Status」列的「Stopped」變為「Playing」才行。

實現網路直播

如果你還想在播放完MP3歌曲後說上一段話,那麼簡單的很,只要一個話筒就行了。不過,還需要在Winamp中進行一些設置,如圖9所示,在「Input Device」下拉列表框中選擇「Soundcard Input」項,這樣才會出現圖中的SoundCard Mixer設置項。如果使用默認的設置「Winamp(Recommended)」的話就只有Input Levels一項了,下面還有「Music Level」、「BGMusic Level」、「Mic Level」幾個滑塊可以調節音量的大小,而「Fade Time」是用來設

置移出時間值。

現在,你無需進行其它設置,准備一番後,清清嗓子,點擊「Push to Talk」按鈕,然後再按下「Lock」按鈕鎖定當前話音輸入模式。接下來就可以對著麥克風開始你的網路直播之旅了,結束請再次按下「Lock」按鈕解鎖。

5. 流媒體伺服器如何搭建七步就能解決問題

1、先去VLC軟體的官網下載軟體。

2、然後一路next,安裝完畢之後

3、打開「媒體->流」選項

4、添加上要播放的avi,再點擊串流,表示流媒體播放

5、再點擊下一步,這里我們以UDP形式播放,再點擊旁邊的添加,這里是重要的一步,IP地址填寫,你要推送到的客戶端的IP地址,所以這個伺服器,和這個IP最好處於同一網段。

6、選擇轉碼,格式h264和MP3(TS),下一步

7、點擊流,這里伺服器就配置完成了

8、客戶端,作如下配置就好

6. 求流媒體伺服器的搭建方案,能支持網頁和安卓端。我想了一天也沒相處好方案,求大神指點!

不知道FMS你是否了解,FMS是比較不錯的流媒體伺服器,RED5沒聽過,孤陋寡聞了,用APACHE的話可以考慮使用Nginx可以承受更多的連接

7. android通過SMB訪問區域網PC中的共享視頻文件,如何在android上搭建個媒體伺服器 以便通過HTTP形式訪問

你可以使用nanohttpd 在安卓端搭建伺服器
網頁鏈接

熱點內容
求中點編程 發布:2025-05-18 01:03:14 瀏覽:840
安卓pay是什麼 發布:2025-05-18 01:02:27 瀏覽:747
免費手游掛機腳本 發布:2025-05-18 00:55:43 瀏覽:354
sd卡手機存儲系統存儲 發布:2025-05-18 00:55:28 瀏覽:637
pythonlistintstr 發布:2025-05-18 00:48:18 瀏覽:604
輕應用緩存 發布:2025-05-18 00:31:02 瀏覽:252
鳥存儲空氣 發布:2025-05-18 00:20:24 瀏覽:201
linux刻錄iso 發布:2025-05-18 00:16:15 瀏覽:663
php動態參數 發布:2025-05-18 00:12:05 瀏覽:425
安卓應用上傳 發布:2025-05-18 00:11:57 瀏覽:803