1

ビデオに変換したい .png フレームと .mp3 オーディオ ファイルがたくさんあります。残念ながら、フレームは一定のフレームレートに対応していません。たとえば、1 つのフレームを 1 秒間表示する必要がある場合と、別のフレームを 3 秒間表示する必要がある場合があります。

これを達成するのに役立つオープンソースソフトウェア (ffmpeg のようなもの) はありますか? どんなフィードバックでも大歓迎です。

どうもありがとう!

4

1 に答える 1

0

これは洗練された解決策ではありませんが、うまくいきます: 必要に応じてフレームを複製し、30 または 60 fps (より高い時間解像度が必要な場合はそれ以上) の (かなり高い) 一定のフレームレートが得られるようにします。必要な正確なタイムスタンプに最も近い新しいフレームで複製されるフレームを変更するだけです。正確な複製であるフレームは、まともなコーデックで小さなサイズ (数バイト) にエンコードされるため、これはかなりコンパクトです。次に、通常どおり ffmpeg でエンコードします。

これらがたくさんあり、「正しい」方法で行う必要がある場合: コンテナー (mp4、mkv など) またはコーデックでタイミングを指定できます。たとえば、H.264 ストリームでは、pic_timing タイプの SEI メッセージを挿入して、各フレームのタイミングを指定する必要があります。あるいは、 Matroska (mkv) やGPAC (mp4)などのコンテナー ライブラリに依存する独自のマルチプレクサを作成して、コンテナー内のタイミングを示す必要があります。すべてのコーデック/コンテナが任意の可変フレーム レートをサポートしているわけではないことに注意してください。コーデックでタイミングをサポートするコーデックはごくわずかです。また、コンテナとコーデックの両方でタイミングが指定されている場合は、コンテナのタイミングが使用されます (ただし、ストリームをコンテナに多重化する場合、マルチプレクサはコーデックから個々のフレームのタイムスタンプを取得する必要があります)。

于 2012-11-25T05:31:06.870 に答える