1

Camera APIを使用してスローモーションとタイムラプス記録を実装する方法はありますか?Camera APIを使用したSlowMotionとTimeLapseビデオ記録の実装方法

MediaRecorder設定を使用してみました。VideoFrameRateVideoBitRateVideoCaptureRate私には何も効果がありません。

私はJNIを使​​用して正常に実装しましたが、時間がかかり過ぎて最適化されていないことがわかりました。

他の解決策が見つかった場合は、私に手伝ってください。

+0

2つの課題は非常に異なります。 SlowMotionは高FPSネイティブカメラサポートに依存しますが、TimeLapseはMediaCodecで実行できます。 http://stackoverflow.com/questions/30972081/how-to-drop-frames-while-recording-with-mediacodec-and-inputsurfaceとhttps://github.com/saki4510t/TimeLapseRecordingSample –

+0

他のオープンソースプロジェクトを参照してください。 https://github.com/mercyorangi/sky-カメラ –

+0

@AlexCohn試していただきありがとうございますが、スローモーションの場合は、上記のコードは私のためには機能しません。 – IshRoid

答えて

6

私はそれを自分で解決し、私はちょうどカメラのAPIスローモーションとタイムラプスを使用して、自分の作業コード部分を共有していますが、スタート前に

を実装しているあなたはsetCaptureRate(double fps)

設定ビデオフレームキャプチャレートの定義を知っている必要があります。 これは、記録されたビデオの再生レートの とは異なるビデオフレームキャプチャレートを設定するために使用できます。また、この方法では、録画の設定を時間の経過に合わせて設定します( )。時間経過ビデオ録画では、ビデオのみが と記録されます。オーディオ関連のパラメータは、アプリケーションがそれらを設定した場合、時間の経過が レコーディングセッションが開始されると無視されます。

タイムラプス
時間経過のためにあなたがビデオフレームの幅と高さによると、以下のカメラプロファイルを使用する必要があります。 以下のプロフィールのいずれかを選択するか、必要に応じてその他を選択することができます。

profile = CamcorderProfile.get(CamcorderProfile.QUALITY_TIME_LAPSE_1080P); 

profile = CamcorderProfile.get(CamcorderProfile.QUALITY_TIME_LAPSE_720P); 

profile = CamcorderProfile.get(CamcorderProfile.QUALITY_TIME_LAPSE_480P); 

そして今、あなたはあなたのビデオsetCaptureRatesetVideoEncodingBitRate

video_recorder.setCaptureRate(profile.videoFrameRate/6.0f); 
video_recorder.setVideoEncodingBitRate(profile.videoBitRate); 

を設定する必要があり、最後に、あなたのMediaRecorderに設定済みのプロファイルを設定する必要があります。

video_recorder.setProfile(profile); 

スローモーションのためにスローモーション
あなたはまた、私はプロファイルに流れる設定を使用していますCamcorderProfileを設定する必要があります。スローモーションのために

profile = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH_SPEED_HIGH); 
video_recorder.setCaptureRate(profile.videoFrameRate/0.25f); 
video_recorder.setVideoEncodingBitRate(profile.videoBitRate); 
video_recorder.setProfile(profile); 

あなたはそれ以外の場合は動作しませんCameraAPI2を使用する必要があります。

+0

こんにちは、お返事ありがとうございます、あなたはすでに120 fpsのレートでキャプチャしているアンドロイドカメラアプリケーション(サードパーティ製)をご存知ですか?ありがとう –

+0

GoogleカメラAPI 2サンプルキャプチャ120fps。 API 2はデバイスのハードウェアに依存します。 – IshRoid

関連する問題