srs ios 15以上safari浏览器无法播放纯音频hls

f4t66c6m  于 2022-10-27  发布在  iOS
关注(0)|答案(4)|浏览(447)

定位到问题是pmt写入信息默认带了视频字段,用ffplay定位到警告。
Could not find codec parameters for stream 1 (Video: h264 ([27][0][0][0] / 0x001B)

查代码发现对应函数 SrsTsPacket::create_pmt ,纯音频情况不应该push_back视频类型;

// if h.264 specified, use video to carry pcr.
if (vs == SrsTsStreamVideoH264) {
    pmt->PCR_PID = vpid;
    pmt->infos.push_back(new SrsTsPayloadPMTESInfo(vs, vpid));
}
bksxznpy

bksxznpy2#

ios 15+ hls全部播放不了,经检查 必须 生成

z2acfund

z2acfund3#

m3u8文件中的#EXTINF:2.000000 类似点后面不能有数值。必须是整数,或者类似4.000,而不是4.001
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:13
#EXTINF:2.000000,
abc13.ts
#EXTINF:2.000000,
abc14.ts
#EXTINF:2.000000,
abc15.ts
#EXTINF:2.000000,
abc16.ts
#EXTINF:2.000000,
abc17.ts

6xfqseft

6xfqseft4#

因为这个问题,临时方案只能使用ffmpeg,导致原来几佰路视频,srs内置hls分割就ok的,必须额外增加ffmpeg来做hls分割,硬件资源需求陡增

相关问题