这是我的 HLS 播放列表:
我可以使用VLC流式传输该链接。但是,我在每个 10 秒的片段之间听到一个微小的音频错误,例如“跳过”。
这是我的初始化部分:
以下是通过编码 AAC 音频生成的分段 mp4 片段ffmpeg
,然后使用java mp4parser 仅将媒体片段写入 .m4s:
- 矮胖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 “基于 MDCT 的编解码器(如 AAC 或 MP3)在多个相邻帧”并想知道答案是否是,这对于 AAC 或 MP3 音频是不可能的,事实上,因为单独生成媒体片段是一个约束,我需要生成 MPEG-2 TS 片段?或者那也无济于事?