3

サーバーへのアップロード ビデオ (iPhone から取得) を開発しています。

ただし、実装方法がわかりません。

任意のソース コードobjective-cまたはswift歓迎されます。

120fpsまたは240fpsビデオを持っています(スローモーションです)。これらのビデオをiPhone6で再生すると。スローモーション効果が見られます。(再生フレームレートが であることはわかってい30fpsます。)

120/240 fpsサーバーにアップロードする前に、そのビデオをビデオからビデオに変換したいと考えています30fps。(再生フレームレートを調整するのではなく、ビデオを にトランスコードするという意味30fpsです。) さらに、スローモーション効果の開始点と終了点を確認したいと思います。(おそらく、iPhone はこの情報をビデオ バイナリに記録します (ファイルのヘッダーに存在する可能性があります。)

まぁ、ffmpegのライブラリを使えば簡単(?)なのかな。

したがって、どんな提案も歓迎されます。

4

2 に答える 2

3

Adobe Premiereにインポートするために使用するffmpegコマンドラインは次のとおりです。

ビデオ:

ffmpeg -i <input MOV> -filter "setpts=4.0*PTS" -r 30 -an videofilename.mp4

4.0in-filterは、iPhone スローモーション ビデオが 120 fps で撮影されたことを意味し4 × 30fpsます。関連する-r 30パラメータは 30fps 用です。たとえば、60fps としてエクスポートする場合は、setpts="2.0*PTS" -r 60

-anオーディオストリームを破棄します

オーディオ:

ffmpeg -i <input MOV> -filter "setpts=4.0*PTS" audiofilename.mp3

この時点で、ビデオ ストリームとオーディオ ストリームが別々のファイルに含まれています。おそらくffmpegを使用してそれらを再結合できます。

ただし、落とし穴があります。iPhone はオーディオ ストリームを通常の速度で録音します。つまり、変換されたサウンド トラックは、変換されたビデオ トラックの 4 倍 (私の例では) 短くなります。Premiere を使用している場合は、ビデオ ファイルとオーディオ ファイルの両方をインポートし、タイムラインのサウンド トラックを右クリックして [速度/デュレーション] を選択し、速度を 25% (120fps から 60fps の場合は 50%) に設定します。

于 2016-05-25T21:27:37.773 に答える