これが私のHLSプレイリストです:
VLCを使用してそのリンクをストリーミングできます。ただし、10 秒の各セグメント間で「スキップ」などの小さな音声エラーが聞こえます。
ここに私の初期化セグメントがあります:
以下は、AAC オーディオをエンコードしてから、 java mp4parserffmpeg
を使用してメディア フラグメントのみを .m4s に書き込むことによって生成された断片化された mp4 セグメントです。
- 分厚い-128k-163840683.m4s
- 分厚い-128k-163840684.m4s
- 分厚い-128k-163840685.m4s
- 分厚い-128k-163840686.m4s
- 分厚い-128k-163840687.m4s
- 分厚い-128k-163840688.m4s
これらを作成するために開発したプロセスに関する詳細なラボ ノートを以下に示します: https://github.com/charneykaye/encode-fmp4-demo
の出力は次のffprobe chunky.m3u8
とおりです。
[hls @ 0x55fd1ae10f00] Skip ('#EXT-X-VERSION:7')
[hls @ 0x55fd1ae10f00] Opening 'chunky-128k-IS.mp4' for reading
[hls @ 0x55fd1ae10f00] Opening 'chunky-128k-163840683.m4s' for reading
Input #0, hls, from 'chunky.m3u8':
Duration: 00:01:00.00, start: 0.000000, bitrate: 0 kb/s
Program 0
Metadata:
variant_bitrate : 0
Stream #0:0: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s
Metadata:
variant_bitrate : 0
major_brand : iso5
minor_version : 1
compatible_brands: isomiso5dash
creation_time : 2021-12-02T00:21:18.000000Z
逆説?
私は読んでいます https://video.stackexchange.com/questions/34627/audio-discontinuities-when-generating-hls-segments-in-different-processes「AACやMP3などのMDCTベースのコーデックは、複数の変換を実行します隣接するフレーム」と答えて、AAC や MP3 オーディオではこれは不可能であり、実際、メディア セグメントを個別に生成することは制約であるため、MPEG-2 TS フラグメントを生成する必要があるのではないでしょうか? それともそれも役に立たないでしょうか?