脳波研究用の視覚刺激を作ろうとしています。ビデオは単に黒いフレームと白いフレームの間のちらつきであり、交替は 12Hz、24Hz、48Hz、72Hz の範囲のレートで発生する必要があります。
私たちのモニターのリフレッシュ レートは 144Hz で、コンピューターも凝っています。精度を確保するためにオシロスコープでビデオの成功を測定しています。したがって、ハードウェアは問題になりません。理論的には、モニターのリフレッシュ レートの半分まで可能です。ただし、Java と MatLab の両方で失敗しました。
私はMatLabを使ってみました:
1) imwrite() を使用して gif を作成する
2) VideoWriter を使用する
3) getframe() と movie2avi() を使用します。
これらすべてのメソッドで、非常に高いフレームレートが宣言されており、実行中にすべてのフレームが挿入されたことをコマンド ウィンドウで確認できます。ただし、最終的な出力ファイルが 48Hz を超えることはありません。
その上、48Hz、24Hz、さらには 12Hz のファイルにも、フレームに重大なタイミングの問題があります。
また、Processing の MovieMaker を使用してファイルを作成しようとしました。フレームレートを 72Hz に設定し (72 個の .png ファイルのリストをフレームとして入力)、72Hz でちらつく 1 秒のファイルを出力する必要があります。
ただし、結果は 48Hz でのみ発生し、フレームのタイミングも信頼できません。
検索を使い果たしていなければ、ここに投稿することはありませんでした。私は本当にアイデアがありません。MatLab と Processing はどちらも、この種の高 fps ファイルを実現するための推奨される方法であり、どちらもフリッカー周波数が低い場合でも大きなタイミングの問題があります。高 Hz フリッカー (グラフィック設定? コーデック?) の一時的な忠実度を高めるためのヒント、または 72 Hz まで実現する方法について誰かがヒントを持っている場合は、大いに感謝します!
私が言ったように、私は Processing/Java と MatLab しか使ったことがないので、別のプラットフォームをお勧めします。