問題タブ [video-toolbox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
309 参照

macos - VideoToolbox ハードウェア エンコーダーのフレーム遅延

使用事例:

ビデオ ストリーミング用の VideoToolbox ハードウェア エンコーダーを使用して、ビデオ ストリームをリアルタイムでエンコードしようとしています。

問題:

VTCompressionOutputCallback は、2 つ以上のフレームがエンコーダーに渡された後にのみ呼び出されています。最後に送信されたフレームはエンコーダー バッファーに格納され、次のフレームが入った後にのみ送信されます。この動作により、デコーダー側で 1 フレームの遅延が発生するため、リアルタイム ストリーミングはありません。kVTCompressionPropertyKey_RealTime、kVTCompressionPropertyKey_MaxFrameDelayCount、kVTCompressionPropertyKey_MoreFramesAfterEnd のさまざまなエンコーダ プロパティを確認しましたが、いずれも問題を解決していないようです。私は CompleteFrames 関数も認識していますが、各フレームの後に呼び出すと、エンコーダーにキーフレームのみを強制的に発行させます。

質問:

内部エンコーダーのフレーム バッファー サイズを 0 に減らし、エンコーダーを 1-in-1-out 方式で動作するように設定する可能性はありますか?

私のデフォルトのエンコーダ設定:

ありがとう

0 投票する
2 に答える
318 参照

ios - AddressSanitizer: リリース アーカイブのみの heap-use-after-free

クラスの例を作成しました: https://github.com/ChoadPet/H.264-Decoding

構成を使用してアプリケーションをビルドすると、DEBUGすべて正常に動作しますが、アーカイブRELEASEすると、次の行でクラッシュします。

有効にすると、次のAddress Sanitizerエラーが発生しました。 Thread 9: Use of deallocated memory

それなし:Thread 12: EXC_BAD_ACCESS (code=1, address=0x107dd0020)


解放されたメモリがいくつかあり、メソッドでアクセスすることは理解していますが、16 進数のアドレスを見つけることができず、これがビルドVTDecompressionSessionDecodeFrameでどのように完全に機能しているのかわかりません。 このメソッドの前に、とが正常に作成 (初期化) されています。DEBUG
sessionsampleBuffer

DEBUG configurationクラッシュの原因となる変更可能なプロジェクト設定はありますか? または、誰かがコードの問題について私に指摘できますか?

ありがとうございました!

0 投票する
0 に答える
105 参照

ios - H.264 圧縮を CMSampleBuffer に適用する方法

私は H.264 エンコーディングを Swift でのCMSampleBuffer使用に適用しようとしていますVideoToolBox。私は Swift に非常に慣れていないため、圧縮によって が にCMSampleBuffer変換される場合にこれを行う方法がわかりません。終わり。すべての助けをいただければ幸いです!CVPixelBufferNSData