問題タブ [cmsamplebufferref]
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 - 現在のフレームの AVAssetReader/AVAssetWriter プレビュー
AVAssetReader/AVAssetWriter
iOSでビデオを変換するために使用しています。私の質問は、リアルタイム変換で現在のフレームのプレビューを表示する最も効率的な方法は何ですか. UIImageに変換CMSampleBufferRef
してからUIImageViewに適用することを考えていました。より良い方法はありますか?
objective-c - デリゲート コールバックの CMSampleBufferRef パラメータが空です
このコードを使用して AVCaptureSession を作成していますが、-(void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection
呼び出されたときの sampleBuffer サイズは 0 です
私の方法に何か問題がありますか?間違いが別の場所にある可能性はありますか?ARCを使用しています。
編集 バッファは空ではありませんでしたが、すぐに割り当てが解除されました。バッファを保持することで解決。ありがとう
ios - iOS での正方形のビデオ出力
AVFoundation
iOS で正方形のビデオ出力を取得する方法はありますか?
CMSampleBuffer
ビデオのすべてのフレーム ( ) の処理に OpenGL を使用しています。すべてのフレーム
が回転するので、トリミングして回転する必要がありCMSampleBuffer
ます。しかし、私はそれを行う方法がわからないので、プロパティ(videoSettings
)を設定することで、すでにトリミングおよび回転されたフレームを取得する方法があると信じていAVCaptureVideoDataOutput
ます.
私はそれをグーグル、グーグル、グーグルで検索しましたが、何も見つかりませんでした。迅速なコード例は素晴らしいでしょう。
アップデート:
Swift での私の完全な最終的な解決策:
それは私にとって完全にビデオ出力をミラーリングおよび回転させます! しかし、それはトリミングではありません!
objective-c - サイレント CMSampleBuffer を書き込むとクラッシュが発生する: CrashIfClientProvidedBogusAudioBufferList
AVAssetwriter を使用してビデオ/オーディオを録音しており、サイレント サンプル バッファーを書き込めるようにしたいと考えています。私は CoreAudio の経験があまりないので、実用的な解決策を思いつくのに苦労しています。
アイデアは、オーディオ デバイスが切断されても、再接続されるまでビデオを録画し続けることです。問題は、AVFoundation がどういうわけかオーディオを前面に押し出すため、結果のムービー ファイルが大幅に同期されないことです。
私の現在の実装では、オーディオ デバイスが接続されていないセグメントの間に配置するために、空の/サイレント CMSampleBuffer を作成しようとしています。
上部の sampleBuffer は、オーディオ デバイスが再接続された後の最初のサンプル バッファーです。これにより、埋めなければならないギャップの長さに関する情報が得られます。LastAudioDisconnect は、最後に書き込まれたオーディオ サンプル バッファからのプレゼンテーション タイムスタンプを常に保持します。
Guard Malloc を有効にすると、プログラムが次のようにクラッシュします: CrashIfClientProvidedBogusAudioBufferList
編集: Guard Malloc を無効にすると、録音中にオーディオ デバイスを複数回再接続できます。録音を停止すると、問題なくギャップが生じます。
問題は、AVAssetWriter がエラー コード 11800 (AVErrorUnknown) でランダムに失敗するため、デバイスを再接続した後、記録を停止するのに数分しかないことです。
ios - 写真アプリのようなタイム ラプス ビデオを作成するにはどうすればよいですか?
iOS 9 を実行している iPhone で長時間のタイム ラプス ビデオを作成する方法を探しています。理想的には、1 時間の映像を 1 分に圧縮するので、倍率は 60 です。60 から 1 フレームを取り出してつなぎ合わせますよね?
AVFoundation キャプチャ イメージを使用するプロジェクトがあります。captureOutput:idOutputSampleBuffer:fromConnection:
ただし、数時間にわたるタイム ラプスを作成するためのより良いアプローチがあるかどうかはわかりません。
個々の写真を撮り、それらをつなぎ合わせる (数秒ごとにカメラを起動する) ことは理にかなっていますか?
それとも、CMSampleBufferRef からフレームを取り出すだけですか?
カメラ画像のキャプチャに使用できる他の API はありますか?
どのアプローチが最高の品質とバッテリー寿命をもたらすかを理解したいと思っています.
画像をステッチするためのコードがあるように見えるこの質問を見ていますが、プロジェクトに他に何か必要かどうかわかりません。
ios - QuickTime で音声が再生されず、VLC で音声が再生されるビデオ
まず、AVCaptureSession を使用して、camero と micophone から vedio とオーディオをキャプチャします。次に、以下のメソッド コードをデリゲートします。
以下のコードに転送AudioBufferList
します。CMSampleBuffer
最後に、ビデオとオーディオ データをtest.mov
ファイルとして保存します。VLC でファイルを再生し、音を出します。また、ffmpeg で aac 形式のオーディオ ファイルを剥がすことができます。
AudioBufferList
問題は への転送だと思いCMSampleBuffer
ます。いくつかの情報が欠落しているため、Quicktime が正しく再生できません。