2012-06-28 108 views
0

我正在捕獲Android攝像頭的視頻。但是,我想將幀速率設置爲每秒1幀。在Android上將視頻錄製幀速率設置爲1

如果我添加了setVideoFrameRate(1),則無法正確記錄視頻。如果我沒有設置這個值,錄製就能正常工作。

這是我的代碼...

mediaRecorder = new MediaRecorder(); 
mediaRecorder.setCamera(camera);     
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 

mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 

mediaRecorder.setOutputFile(GetOutputMediaFileDir(VIDEO_TYPE,intVideoIndex)); 
mediaRecorder.setVideoSize(640,480); 

mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); 
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT); 
// mediaRecorder.setCaptureRate(1); 
mediaRecorder.setVideoFrameRate(1); 
mediaRecorder.setMaxDuration(10000); 
mediaRecorder.setOnInfoListener(this); 
mediaRecorder.setPreviewDisplay(surfaceView.getHolder().getSurface()); 

mediaRecorder.prepare(); 
mediaRecorder.start(); 

基本上我需要降低視頻的大小,因爲我要送它可以使用3G網絡在手機上。最長的視頻將是1分鐘,因此發送視頻需要很長時間。

有人可以幫我解決這個問題。

+0

這將是非常波濤洶涌的視頻。那些看起來「波濤洶涌」的早期無聲電影有14-24 fps。我認爲人類大腦會看到任何小於10 fps的單個圖像實例。 –

+1

僅僅因爲用戶只能使用3G而將視頻設置爲最低可能的質量是一種可怕的方法。那麼Wifi上的人呢?那些想要高清視頻而不關心等待的人呢?如果你真的關心上傳時間,你應該問你的用戶他們想要什麼質量,並警告他們,如果有可能令人難以置信的等待(即使在1分鐘視頻的3G上也不算太差),而不是強迫他們做一些事情,因爲連接可能會很慢。 – Guardanis

+0

實際上,要發送的視頻是幾個圖像的組合,在服務器端真正需要這些圖像。因此,我想將幀速率設置爲低至1 fps並縮小尺寸。然而這是不可行的嗎? – Iam619

回答

0

20 - 24幀每秒是視頻保持任何質量的絕對最小值。不支持每秒1幀,因爲它更像是幻燈片。此外,與視頻關聯的聲音無法正確同步。

+0

非常感謝您的回覆。實際上,我連續拍攝了幾張圖像,而不是捕捉視頻。所以我想將幀速率設置爲1 fps。音頻與視頻分離,因此無法正確同步。所以無法將幀速率設置爲1 fps?我想知道,我們仍然可以使用setVideoFrameRate()android提供的方法,但也許有一個用戶可以設置到設備的最小值... – Iam619

+0

我建議你使用一個'Camera'對象和'takePicture'方法在一個循環中:http://developer.android.com/reference/android/hardware/Camera.html 點擊綠色檢查,如果你有你需要的東西! –

+0

如果我在一個循環中拍攝照片,那麼我可以將這些圖像合併爲一個mp4視頻文件嗎?因爲我認爲這是一個好主意,所以我搜查了一下,但還沒有發現什麼。我會打綠色檢查不要擔心:) – Iam619

2

許多設備都支持幀速率5.您可以使用getSupportedPreviewFpsRange()來查找支持的幀速率。

檢查此:http://developer.android.com/reference/android/hardware/Camera.Parameters.html#getSupportedPreviewFpsRange()

+0

如何找到默認的FramesRate,如果幀率未設置? – Dhasneem

+0

拍一個視頻,看info.sometimes它取決於播放器also.default約爲20. – Amrendra

+0

其實我通過相機從一個設備流到另一個設備。 – Dhasneem