問題タブ [cmsamplebuffer]
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.
ios - 50MB のメモリを超えずに CMSampleBuffer から NSData イメージに変換する
RPBroadcastSampleHandler で CMSampleBuffer から NSData への変換を処理しているときに、メモリ許容量を超えるエラーが発生しました。エラー コード: スレッド 7: EXC_RESOURCE RESOURCE_TYPE_MEMORY (制限 = 50 MB、未使用 = 0x0)
1920x1440の大きな画像をバイナリに変換してソケットサーバーに送信する機能を処理しています。サイズを 1200x900 に変更しようとしましたが、何も機能しませんでした。
この問題に対処するために 1 週間を費やしましたが、役に立ちませんでした。私は次のことを試しました: ここからの指示で画像のサイズを変更します: https://nshipster.com/image-resizing/
- SampleBuffer から UIImage オブジェクトを取得し、圧縮品質が最も低い jpegData に変換します。
- NSData に変換する前に、CMSampleBuffer から UIImage オブジェクトのサイズを変更します。
または
- NSData に変換する前に、CMSampleBuffer からイメージ ビットマップを取得します。
- NSData に変換する前に CIImage をスケーリングする
50MB のメモリを超えずに CMSampleBuffer から NSData 画像に変換する方法はありますか? 画質はあまり低下しません。または、50MB を超えるメモリを使用しない大きな画像のサイズを変更する方法はありますか?
私が与えるアドバイスはとても感謝しています。
ios - CMSampleBuffer でオーディオの速度を上げる方法
CMSampleBuffer 経由で受信した音声を高速化して 2 倍速で録音するプロセスは何ですか。
ios - AVAssetReader を使用して mp4 ファイルを読み取ると、最初のオーディオ CMSampleBuffer が失われる
AVAssetWriter を使用してオーディオ CMSampleBuffer を mp4 ファイルに書き込んでいますが、後で AVAssetReader を使用してそのファイルを読み取ると、データの最初のチャンクが欠落しているようです。
ライターの入力追加メソッドに渡される最初の CMSampleBuffer のデバッグの説明を次に示します (1024/44_100 のプライミング期間のアタッチメントに注意してください)。
2 番目の CMSampleBuffer のデバッグの説明は次のとおりです (1088/44_100 のプライミング期間のアタッチメントに注意してください。前のトリム期間と組み合わせると、2112 の標準値が得られます)。
ここで、AVAssetReader を使用してオーディオ トラックを読み取ると、最初に取得する CMSampleBuffer は次のようになります。
次のものには、1088/44_100 のプライミング情報が含まれています。
入力追加メソッドはtrue
、原則としてすべてのサンプル バッファが追加されたことを意味しますが、何らかの理由でデータの最初のチャンクをスキップします。ここで私が間違っていることはありますか?
次のコードを使用してファイルを読み取ります。