有没有办法,也许通过ffmpeg选项或标志,强制客户端播放器始终在直播时从头开始播放列表,而不是实时中流?
假设用户在流开始后 1mn 进入,而不是从 1mn 开始观看,播放器将从视频的开头开始,所以分钟为零。
这是我的 ffmpeg 命令:
ffmpeg -f "screen capture" -s 1280x720 -r 30 -i :0.0+nomouse -f alsa -ac 2 -i pulse -async 30 -vcodec libx264 -pix_fmt yuv420p -acodec libfdk_aac -ar 44100 -b:a 64k -threads 0 -s 640x360 -f hls -g 1 -hls_time 1 -hls_list_size 1 -hls_allow_cache 0 /hls/#{@stream_name}/index.m3u8
谢谢!
使用-hls_list_size 0
保留播放列表中的所有片段。使用大于 0 的值将导致播放列表使用长度hls_list_size
的滑动窗口。
另外值得注意的是,使用-hls_time 1
将大大增加您的播放列表文件大小。Apple 建议的值为 6 秒,因此您应该尝试将其增加到所需关键帧间隔的倍数。