使用 ffmpeg 将 mp3 文件编码为 m3u8 时仅生成一个 .ts 文件

Only one .ts file is generating while encoding mp3 file to m3u8 using ffmpeg

我无法播放某些特定文件的 m3u8 link。

详情如下:

ffmpeg -i low_30.mp3 -codec:v libx264 -b:v 64k -maxrate 64k -bufsize 64k -vf scale=-2:480 -threads 0 -vsync 2 -pix_fmt yuv420p -codec:a aac -b:a 64k -hls_list_size 0 abc.m3u8

错误:

[libx264 @ 0x7fc83280ba00] MB rate (81000000) > level limit (2073600)
[libx264 @ 0x7fc83280ba00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x7fc83280ba00] profile High 4:4:4 Predictive, level 5.2, 4:4:4 8-bit
[hls @ 0x7fc832809e00] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.

样本文件URL:https://s3-ap-southeast-1.amazonaws.com/hog-original/low_30.mp3

在这种情况下只生成一个 TS 文件,无法播放 m3u8 link。

使用

ffmpeg -i low_30.mp3 -c:a aac -b:a 64k -vn -hls_list_size 0 abc.m3u8

默认片段持续时间为 2 秒。添加 -hls_time N 以创建 N 秒的片段。