2

私のアプリは、iPhone 6/Plus カメラからの 240 fps ビデオで動作し、複数のオーバーレイされた AVMutableCompositionTracks をエクスポート用の 1 つのコンポジションに結合します。アプリでの表示とエクスポートの両方を、30 fps または元の fps でレンダリングできます。

8.0.2 以前で撮影されたビデオの場合、元の fps でエクスポートしても問題はなく、基本的に元のファイルのすべての特性を保持します (オーバーレイを除く)。8.1 で撮影したビデオの場合、構成が破損してエクスポートに失敗する可能性が約 50% あります。または、アプリ内で再生すると、約 1 秒間フリーズして (オーディオがしばらく再生し続ける間)、最終的に AVFoundationErrorCode で停止します - 11819、「AVErrorMediaServicesWereReset」。

代わりに、frameDuration が 1/30、1/60、さらには 1/200、または場合によっては 240 (239.84...) fps ファイルの約 1/220 に設定されている場合、再生またはエクスポートに問題はありません。エクスポートは、再生よりも少し寛容なようで、再生が失敗した場合でも実行されることがあります。

8.1 での他のアプリの変更に気付きました。たとえば、MoviePro は 240 fps に設定すると 207 ~ 209 fps で記録され、60 に設定すると 59 fps で記録されることもありますが、Apple の SloPoke の例はより可変的であり、通常はさまざまな値で記録されます。 235-236。ただし、Apple のカメラ アプリはまだ 239.84 のままです。

何が変わったのか、それを回避する方法を知っている人はいますか? 明らかに fps の変動性に関する何かですが、どうすればそれを処理できますか? それとも単なるバグでしょうか?

4

2 に答える 2

1

AVPlayer と AVExportSession のバグのようです。AVAssetWriter を使用して問題なくエクスポートします。

クリップ間のトランジションにカスタム OpenGL コンポジターを使用する Apple の新しく更新されたサンプル プロジェクト AVCustomEdit は、iOS 8.1 の 240 fps ビデオを取得し、240 に近いフレームレートで再生するように変更すると、同じ問題を示します。

こんなに簡単に回避できたのに、何が悪いのかを理解するのに30時間も費やしたなんて信じられない。

于 2014-11-05T22:14:44.553 に答える
1

8.1 での他のアプリの変更に気付きました。たとえば、MoviePro は、240 fps に設定すると、約 207 ~ 209 fps で記録されるようになりました。

これは MoviePro アプリのバグで、今後のアップデートで修正される予定です。iOS 8.1 では、送信保留中の新しいアップデートは、すべてのビット レートで 240 fps に非常に近い値を記録します。

于 2014-11-06T14:50:03.633 に答える