問題タブ [avcomposition]
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.
objective-c - AVPlayerItemVideoOutput ファイルは、AVComposition IOS7 では使用できません
AVCompositionを使用するとIOS7で壊れるIOS6で完全に機能するアプリがあります。
問題は次のとおりです。以前のビュー コントローラーでは、AVPlayerItemVideoOutput
&を使用してユーザーの画面をキャプチャしAVAssetWriterInputPixelBufferAdaptor
、ビデオ出力ファイルを生成していました。現在のビュー コントローラーでは、その生成されたビデオ ファイルを取得して AVComposition に追加し、このファイルと一部のオーディオの間でビデオ コンポジションを生成します。IOS6 では、このプロセスは完全に機能し、AVExportSession が完了します。IOS7 では、エクスポート プロセスは完了しません (終了ハンドラーは呼び出されず、ステータスは常にAVAssetExportSessionStatusExporting
です)。
ここに私の疑似コードがあります:
コードをデバッグした後、問題は使用されていた生成されたビデオ ファイルに帰着しました。ハードコードされたファイルに変更asset
すると、エクスポーターが完了します。興味深いのは、から生成されたビデオ ファイルAVPlayerItemVideoOutput
がMPMoviePlayerViewController
. 出力ファイルがコンポジションで使用されないように、IOS7 で、AVPlayerItemVideoOutput
またはIOS7 で何か変更がありましたか? AVAssetWriterInputPixelBufferAdaptor
コンポジションに追加の仕様を追加する必要がありますか? 異なるフレームレートに対処する必要がありますか?
助けてくれてありがとう!
ios7 - タイプ AVMediaTypeText で AVMutableCompositionTrack をインスタンス化する方法
作成中のビデオの一部のテキストを配置しようとしています。CALayers を使用してビデオの全長にわたってテキストを含むレイヤーを使用できることはわかっていますが、ビデオの一部のみでそれを行うにはどうすればよいですか? いくつかの調査の結果、タイプ AVMediaTypeText の AVMutableCompositionTrack を作成できることがわかりました。それでうまくいくようです。ただし、そのようなトラックの宣言、インスタンス化などの例は見つかりませんか?
私はそれを次のように宣言しています:
実際にテキストを追加したり、文字列でインスタンス化するにはどうすればよいですか?
任意の入力をいただければ幸いです。
ios - オーディオをマージしている間、オーバーレイしたいのに両方のオーディオが線形になります
そのため、次のコードを「for」ループで使用してオーディオをオーバーレイしようとしましたが、最後に接続されたオーディオが最初に来るように、直線的に入ってきます。
2011 WWDC、セッション 415 - Working with media in AVFoundation でこれらすべてが説明されていることがわかります。その解決策は AVEditIPadDemo の例にありますが、そのソースにもアクセスできません。そのコードにアクセスできるようにしていただければ幸いです。ありがとう
ios - AVComposition での処理後にオーディオが失われる
AVMutableComposition を使用して、2 つのメディア (1 つのビデオと 1 つのグラフィック オーバーレイ) を結合しています。ビデオは UIImagePickerController を使用してキャプチャされました。
ビデオは正常に記録され、オーディオは記録をプレビューするときにそこにあります。
コンポジションで処理し、セッションをエクスポートします。ビデオは正常に保存されますが (オーバーレイあり)、オーディオは保存されません。
iOS7.
コンポジションのオーディオに関しては特に何もしていません。ビデオファイルと一緒に「来る」と思っただけです。それは正確ですか、それともコンポジションに専用のオーディオ トラックを作成する必要がありますか?
_マイク
objective-c - AVFoundation AVComposition に字幕トラックを追加する方法
タイプ AVMediaTypeSubtitle のトラックを AVMutableComposition に追加したいのですが、追加自体は簡単ですが、このトラックにデータを入力するにはどうすればよいですか? 後でそれを読む方法は?
タイプ AVMediaTypeSubtitle のトラックを読み書きする方法に関連するものが見つかりません!!
ios - AVComposition の TimeRange を AVMutableComposition に挿入しようとしたときのエラー -11800
私はAVFoundation
オーディオのみを使用して作業しています。つまり、ビデオは使用せず、複数AVComposition
の を次々に結合して、1 つのAVComposition
.
例: 2 つだけAVComposition
。次のように AVPlayer を作成することで、それぞれが正常に再生されます。
のcomp
インスタンスですAVMutableComposition
。(ちなみに、_player
ivar でなければならないことに注意してください。そうしないと、ARC は再生前に時期尚早にそれをリリースします - それを追跡するのにしばらく時間がかかりました。)
よかった - 実行中
comp
正常に再生されます。
ただし、これは失敗します。
(のカスタム サブクラスでself.segments
あるNSMutableArray
要素を含むAVMutableComposition
)
このコードが実行されたときのすべての要素について、メソッドself.segments
を呼び出すときに次のエラーが発生します。insertTimeRange::::
このエラーが何を示しているかについての情報を見つけることができません。何か案は?
ios - AVComposition でのビデオ タイミングの編集
AVComposition
複数のビデオ トラックとオーディオ トラックを含むがあります。これまでのところ、プログラム的には純粋で、GUI はありません。ユーザーがボタンをクリックすることで、1 つのトラックを数フレーム前後にプッシュできるようにしたいと考えています。例: 「-10 フレーム」というタイトルのボタンはトラックを 10 フレーム戻し、「+10 フレーム」はトラックを 10 フレーム進めます。を使用してトラックを追加した後、実際にトラックを移動する方法が見つかりませんinsertTimeRange:ofTrack:atTime:
。
私はそれを削除して、次のように再追加しようとしました:
そして、それは実際にはそれほど進んでいません(私は何か間違ったことをしたかもしれません)が、これはとてもハックな方法だと感じています.. すでに追加されたトラックに新しい時間を与える適切な方法を知っている人AVComposition
?_