AVFoundationフレームワークを使用して2つのビデオを1つずつ連結しようとしています。 AVAssetExportでエクスポートすると、結果は正常です。 HTML5ビデオでビデオを再生すると、Safari、Firefoxでは見ることができますが、Google Chromeでは見ることができません。 深い分析の結果、根本的な原因は、エクスポートされたビデオに2つのオーディオチャンネルがあることが分かりました !!!! 動画から音声を削除すると、すべてGoogle Chromeでも動作します。私のコードでAVFoundation concatビデオとオーディオ
は私が同じトラックにオーディオを追加しましたが、異なる時間範囲:私はこれはGoogle Chromeの上で許可されていない代わりに、1の私の2つの別々のaudiotracksを、生産推測
asset1.tracks(withMediaType: AVMediaTypeAudio)[0].insertTimeRange(asset1.duration, asset1, start1)
asset2.tracks(withMediaType: AVMediaTypeAudio)[0].insertTimeRange(asset2.duration, asset2, start2)
。 このリンクには、ビデオ:http://www.livebomber.com/prova.php があります。SafariまたはFirefoxで開くと正常に動作しますが、Google Choromeを使用するとエラーが表示されます。 すべてのオーディオトラックを1つにマージしてエクスポートするにはどうすればよいですか? ありがとうございます
こんにちは、ありがとうございました。私は間違いなくこれを試してみます。 私の場合、私は48kオーディオサンプルレートで1つのビデオmp4と、iOSカメラから44,1kオーディオサンプルレートでもう1つのmovを得ました。 両方とも480x640です。 ステレオをモノラルに変換する最良の方法は何ですか? –
Hey Alessio、マージされたビデオクリップ内のオーディオプロパティの違いは、再生の問題を引き起こす可能性があります。私は使用していたビデオを作成するためにAdobe Premiereを使用しました。オープンソースのコマンドラインツール 'ffmpeg'も変換に使用される可能性があります。しかし、私はAVFoundationを使ってアプリケーション内でこれらの変換をすべて処理するのが最善の方法だと思うが、十分な経験がない。申し訳ありません:/ – scaryguy
ありがとうございます!解決策はフレームごとにAVAssetWriterで再エンコードすることですが、まだ試していません。 –