nginx-rtmp里封装纯音频mpeg-ts遇到的问题
nginx-ts模块里,针对纯音频流没有很完美的支持,会在PMT里照常写入H264的stream_type字段。
那么再播放这路流时,为了等待H264流,ffplay会在libavformat/util.c里的avformat_find_stream_info()不断循环,read_frame_internal()希望能够解码到H264的packet
所以会在avformat_find_stream_info()这个函数阻塞一段时间,等待H264的packet超时之后,播放器仅把音频流渲染出来。(超时设置是max_analyze_duration)
问题描述完毕,即纯音频的HLS流起播时,首帧比较慢。
那么需要去掉PMT里的H264 stream_type字段
…