ffmpegを使用してHTTPライブストリーミング用にセグメント化/エンコードをwavからaacにセグメント化する実行時間を短縮し、マシンのすべてのコアを利用してm3u8プレイリストをセグメント化および生成することを目指しています。
ある実験では、ffmpegでwavファイルをlibfdk_aacを使用してaacに直接セグメント化しましたが、完了するまでにかなり長い時間がかかりました。
2番目の実験では、ffmpegでwavファイルをそのまま(wav)セグメント化しました。これは非常に高速で(マシンでは1秒未満)、GNU parallelを使用してffmpegを再度実行し、wavセグメントをaacにエンコードし、手動で変更しました。期間を変更せずにm3u8ファイル。これははるかに高速に実行されましたが、出力オーディオをストリーミングするときに「無音」のギャップが聞こえる可能性があります。
私は最初にmp3を使用して2番目のシナリオを試しましたが、結果はまったく同じでした。ラメがエンコード中にパディングを追加することを読んだことがありますが(http://scruss.com/blog/2012/02/21/generational-loss-in-mp3-re-encoding/)、これはlibfdk_aacも追加することを意味しますか?エンコード中のパディング?
たぶんこれはこの質問に関連しています:再構築するときにセグメント間にギャップ(またはオーディオポップ)を持たずにオーディオファイルをエンコードしてセグメント化するにはどうすればよいですか?