我想實現一個應用程序以固定曝光時間錄製60 fps。作爲設備,我有Google Pixel。由於它的原生相機應用程序可以達到60 fps,並且它具有硬件級別LEVEL_3,我認爲這不會是一個問題,但我無法得到它的工作。與getSupportedPreviewFpsRange()
(從相機api)我得到範圍[15, 15], [24, 24], [7, 30], [30, 30]
和getHighSpeedVideoFpsRangesFor
(來自camera2 api)我得到範圍[30, 120], [120, 120], [30, 240], [240, 240], [240, 240]
。當我將[60, 60]
設置爲CONTROL_AE_TARGET_FPS_RANGE
時,出現錯誤「請求中的Fps範圍[60,60]不是支持的高速fps範圍」。如何使用android camera2 api錄製固定曝光時間的60 fps視頻
定製應用程序甚至可以記錄60 fps視頻嗎?
如果不是,它是如何120幀/秒? (我有120幀記錄的工作,但是,當我設置CONTROL_AE_MODE
關閉,手動設置SENSOR_EXPOSURE_TIME
和SENSOR_SENSITIVITY
,幀速率再次降低到每秒30幀)
thx艾迪,我已經成功實現了60 fps的視頻錄製,甚至通過YUV捕捉(分辨率爲1920x1080)。這對YUV來說是一個驚喜,因爲我已經檢查了YUV_420_88最小尺寸(4048x3036)和最小尺寸(160x120)的最小幀持續時間,它們是33333333 ns。但對於尺寸(1920x1080),它確實是16666666納秒。 但是,當我使用CONTROL_AE_MODE和CONTROL_MODE設置手動設置曝光時間和ios值時,幀頻再次下降到30 fps: 我做錯了什麼?或僅適用於自動曝光60fps? – Jian
您是否設置了幀持續時間(https://developer.android.com/reference/android/hardware/camera2/CaptureRequest.html#SENSOR_FRAME_DURATION)?這是第三次手動控制;你需要自己設置爲60fps。默認值可能是1/30秒,而不是1/60秒。 –
是的我已經設置了'SENSOR_FRAME_DURATION'到16666666,這是我從'getOutputMinFrameDuration(ImageFormat.YUV_420_888,new Size(1920,1080))'得到的確切值。我做了你在這裏描述的步驟[stackoverflow.com/questions/28293078/how-to-control-iso-manually-in-camera2-android](http://stackoverflow.com/questions/28293078/how-在預覽會話和捕捉會話中,他們都下降到30幀/秒。 – Jian