高ビットレートのHLSストリームに連続したライブストリームを録音しています。私は、これを異なるフォーマット/ビットレートに非同期に変換したいと思っています。私は、オーディオアーチファクトが各セグメント(ギャップとポップ)の間に現れることを除いて、ほとんどこの作業をしています。ここFFMPEGを使用して個別にHLSセグメントをトランスコードする
は、コマンドラインをffmpegの例である:例えばサウンドファイルを検査
ffmpeg -threads 1 -nostdin -loglevel verbose \
-nostdin -y -i input.ts -c:a libfdk_aac \
-ac 2 -b:a 64k -y -metadata -vn output.ts
音声の終了時にギャップがあることを示している:
の開始ファイルは明らかに減衰しているように見えます(これは問題ではありません)。
私は、ストリーム全体のコンテキストなしでトランスコードが行われているため、これらのアーチファクトが起こっている可能性が疑わしいです。
FFMPEGがHLSストリームに収まるようにオーディオを生成するように納得させる方法に関するアイデアはありますか?
**ここ**
UPDATE 1は、元セグメントの開始/終了です。ご覧のとおり、スタートは同じですが、最後は30秒で終わりです。私は非可逆符号化とパディングをある程度期待するが、私HLSは、ギャップレス再生を行うために管理しているいくつかの方法があるが(カスタムメタデータとiTunesの方法には、この関連で?)
** 2を更新しました**
元の(MPEG2 TSの128k aac)とトランスコードされた(aac/adtsコンテナの64k aac)の両方をWAVに変換し、両者を並べて配置しました。これが結果です:
私は、これは、クライアントがそれを再生する方法の代表的なものであるかどうかわからないんだけど、トランスコード1をデコードすることでギャップを導入していることを少し奇妙に思えますセグメントをより長くしてにします。両方が損失のあるエンコーディングであることを考えれば、私は両方で(もしあれば)同じようにパディングが存在することを期待していただろう。 http://en.wikipedia.org/wiki/Gapless_playbackによる** UPDATE 3 **
- エンコーダのほんの一握りは、ギャップレスをサポート - MP3のために、私はffmpegの中にラメに切り替えてきた、との問題は、これまでのところ、なくなっているように見えます。
AACの場合(http://en.wikipedia.org/wiki/FAACを参照)、私はlibfaac(libfdk_aacとは対照的)を試しましたが、gaplessオーディオも生成されているようです。しかし、後者の品質はあまり良くはありません。むしろlibfdk_aacを使用することは可能です。
そして、波形は入力ファイルとどのように比較されますか? – vipw
オリジナルと比較した波形で更新されました – rayh