問題タブ [avassetreader]

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 投票する
1 に答える
1813 参照

ios - Swift 2 : AVAssetReader と NSInputStream オーディオ グラフ

Bob McCune の Learning AVFoundation の本から例を変換しようとしていますが、AVAssetReader と NSInputStream の使用に問題があります。グラフは純粋な正弦波のはずですが、値が X 軸に反映されているように見えます。

考えられるバイトスワッピングのすべての反復を試しましたが、うまくいきませんでした。

ここで github に投稿されたプレイグラウンド: https://github.com/justinlevi/AVAssetReader

グラフは次のようになります (Audacity から取得) オーディオファイルの正弦波グラフ

遊び場でグラフがどのように見えるかを次に示します

ここに画像の説明を入力

0 投票する
1 に答える
470 参照

ios - 現在のフレームの AVAssetReader/AVAssetWriter プレビュー

AVAssetReader/AVAssetWriter iOSでビデオを変換するために使用しています。私の質問は、リアルタイム変換で現在のフレームのプレビューを表示する最も効率的な方法は何ですか. UIImageに変換CMSampleBufferRefしてからUIImageViewに適用することを考えていました。より良い方法はありますか?

0 投票する
1 に答える
329 参照

ios - CMSampleBufferRef を配列にコピーするとクラッシュする

ムービー フレームの順序を変更し、それらを新しいビデオ ファイルに書き戻したいと考えています。それらをすべて配列に入れる方がはるかに簡単ですが、バッファサンプルを配列にコピーするプロセスにより、実際のデバイスでクラッシュが発生します(ただし、シミュレータでは問題ありません)。Xcode で確認できるのは、このプロセスの途中で「DEVICE_NAME への接続が失われました」というメッセージだけです。クラッシュ ログなどはありません。

それでは、問題を引き起こさないものから始めましょう: 各フレームのタイムスタンプを出力する

しかし、この方法でサンプル バッファを配列にコピーしようとすると、次のようになります。

またはこの方法

クラッシュします。私は何か不可能なことをしようとしていますか?

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

ios - iOS 既存のビデオに背景を挿入する方法

既存のビデオの背景を作成する必要があります。背景は、事前に提供された画像 (png タイプ) である必要があります。

要約すると、既存のビデオと既存の画像があります。ビデオの背景として画像を作成するにはどうすればよいですか? まさにその機能が必要なので、それを新しいビデオ ファイルにエクスポートします。

話題を調べました。AVFoundation を使用する必要があるようですが、オプションが多すぎます。これらは3つです:

  • AVAsset -> エクスポート セッション -> 新しい AVAsset
  • 構成
  • AVAssetReader + AVAssetWriter

誰かが正確な解決策を明確にするのを手伝ってくれますか? だから私はそれで行くことができます。ガイド/チュートリアルのソースは非常に高く評価されています。そうでない場合は、大丈夫です。

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

macos - 「AVAssetReaderTrackOutput」を使用して複数のビデオ ファイルを同時に読み取ると、OSX が異常終了する

3 つの短いビデオ ファイル (それぞれ 3 分) からすべてのフレームをメモリ (NSArrayCMSampleBufferRef) に読み込む必要があります。AVAssetAVAssetReader、およびループ内AVAssetReaderTrackOutputでの呼び出しcopyNextSampleBufferを使用した典型的なアプローチを使用しました。while

1 つのファイルで問題なく動作します。3570 個のサンプルがすべて読み込まれます。さらに 2 つのファイルを (順番に) ロードしようとすると、2 番目は 1820 サンプルのみをロードし、3 番目はエラー -1189 (開くことができません) で 0 をロードします。そして、メインスレッド、バックグラウンドスレッド、および指定されたスレッドの両方を試しました(dispatch_queue_t同時またはシリアル-同じ効果)。

3つすべてを同時にロードしようとすると(それぞれに独自の がありますdispatch_queue_t)、3つすべてが約1800個のサンプルをエラーなしでロードします(これはビデオの全長ではありません)。

Xcode でアプリを実行した後の奇妙な副作用として、システム全体 (Chrome、Finder、ウィンドウのドラッグ時に) でウィンドウ (および Web ページ) のレンダリングに不具合が発生します。

バックグラウンドで複数のビデオからすべてのビデオ サンプルを配列にロードして、UI を (同時にまたは順次に) ロックしないようにするための正しいアプローチは何でしょうか?