2011-03-17 94 views
20

我想在我的項目中實現視頻流。那麼,有沒有任何教程可行?視頻存儲在服務器端。所以,要使用URL獲取視頻並在Android上播放。我嘗試了一些示例,但是出現錯誤,「對不起,此視頻無法播放」。我正在嘗試使用MP4。Android視頻流示例

回答

6

你的問題很可能是視頻文件,而不是代碼。您的視頻很可能不是「安全流式傳輸」。有關更多信息,請參見where to place videos to stream android

+1

當我運行的例子,一個對話框生成顯示「對不起,這個視頻不能播放」 – user609239 2011-03-17 13:47:45

10

我正面臨同樣的問題,並找到解決方案讓代碼工作。

android-Sdk/samples/android-?/ApiDemos中給出的代碼正常工作。複製粘貼android項目中的每個文件夾,然後在MediaPlayerDemo_Video.java中將要流式傳輸的視頻的路徑放入路徑變量中。它在代碼中留空。

下面的視頻流爲我工作: http://www.pocketjourney.com/downloads/pj/video/famous.3gp

我知道,RTSP協議是用於流媒體,但媒體播放器類支持HTTP爲在代碼中提到的流。

我搜索了該視頻的格式,發現如果使用Quicktime Pro將視頻轉換爲mp4或3gp,則視頻效果良好。

我測試了Android 2.1上的最終apk。應用程序劑量很好地在仿真器上工作。在設備上試用。

我希望這有助於..

20

我有同樣的問題,但終於讓我找到的方式。

這裏是穿行:

1-您的計算機(服務器)上安裝VLC,去媒體 - >視頻流(按Ctrl + S)

2 - 選擇一個文件流,或者如果您想要流式傳輸您的攝像頭或...點擊「Capture Device」選項卡並進行配置,最後點擊「Stream」按鈕。

3-在這裏,你應該做的流媒體服務器的配置,只要進入「選項」選項卡,並粘貼以下命令:

:sout=#transcode{vcodec=mp4v,vb=400,fps=10,width=176,height=144,acodec=mp4a,ab=32,channels=1,samplerate=22050}:rtp{sdp=rtsp://YOURCOMPUTER_SERVER_IP_ADDR:5544/} 

注:您的計算機的IP地址或任何服務器替換YOURCOMPUTER_SERVER_IP_ADDR這正在運行VLC ...

注意:您可以看到,視頻編解碼器是Android支持的MP4V。

4-轉到eclipse併爲媒體playbak創建一個新項目。 創建VideoView對象和在OnCreate()函數寫像這樣的代碼:

mVideoView = (VideoView) findViewById(R.id.surface_view); 

mVideoView.setVideoPath("rtsp://YOURCOMPUTER_SERVER_IP_ADDR:5544/"); 
mVideoView.setMediaController(new MediaController(this)); 

5-運行在設備上的APK(未模擬器,我沒有檢查它),並等待重放是開始。請考慮緩衝過程將需要約10秒...

問:任何人都知道如何減少緩衝時間和播放視頻幾乎活?

+0

完美。這工作出色!假設VLC streaming是使用ffmpeg創建的,現在我只需要找到一種方法來使用該庫自己完成此操作。 – Johncl 2011-12-01 14:21:37

+0

Gud問題:任何人都可以回答這個問題'問題:任何人都知道如何減少緩衝時間和播放視頻幾乎活? – 2011-12-31 08:52:37

+1

@sonuthomas如果你有一個新的問題,請點擊[問問題](http ://stackoverflow.com/questions/ask)按鈕。 – 2012-01-02 07:18:49