エンコード時にカスタムH.264イントラフレーム(キーフレーム)を強制しますか?

StackOverflow https://stackoverflow.com/questions/6804015

質問

再生時に特定のフレームにスキップしたいビデオシーケンスがあります(私のプレーヤーはiOSでAvplayerを使用して実装されていますが、それは偶然です)。これらのフレームは予測不可能な間隔で低下するため、ほとんどのビデオエンコーダーに存在する標準の「キーフレームすべてのnフレーム/秒」機能を使用することはできません。ただし、ターゲットフレームを事前に知っています。

これを可能な限り効率的にスキップするには、ターゲットフレームをエンコード時にIフレームに強制する必要があります。理想的には、フレームにスクラブし、キーフレームとしてマークを付けてから、ビデオを(再)エンコードできるようにするために、ある種のGUIで理想的です。

そのようなツールが利用できない場合、私はおそらくLibavcodecを使用してカスタムエンコーダーを巻くことでこれを行うことができると感じていますが、GUIがISNであれば仕事をするために高レベル(そして好ましくはスクリプト可能な)ツールを使用したい'可能です。これは、FFMPEGまたはMenCoderを曲げることができる一種のタスクですか?

誰かがこれを行うためのテクニックを持っていますか?また、H.264コーデックについて私が持っている基本的な無知のために、これが不可能な作業である可能性は完全にあります。もしそうなら、私を正しくしてください。

役に立ちましたか?

解決 2

私自身の質問に答えました:Appleコンプレッサーにカスタム圧縮キーフレームを設定することが可能です。

圧縮マーカーは、手動圧縮マーカーとも呼ばれます。これらは、最終的なカットPROシーケンス(またはコンプレッサープレビューウィンドウ)に追加できるマーカーであり、コンプレッサーが圧縮中にMPEG Iフレームを生成する時期を示すことができます。

ソース.

他のヒント

ffmpegには -force_key_frames 一連の任意のタイムスタンプと、フレームを指定する他の方法を受け入れるオプション。から ドキュメンテーション:

-force_key_frames 0:05:00,...

セクション間をジャンプするためにチャプターマーカーを使用できませんか?理想的な解決策ではありませんが、達成がずっと簡単です。

このソフトウェアを使用できます。http://www.appleSolutions.com/bantha/mh.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top