Ffmpeg hls 直播 - 如何生成较短的片段

标签 ffmpeg video-streaming video.js http-live-streaming

一直在使用 ffmpeg 通过 HLS 进行直播并通过 video.js 进行播放。它可以工作,但流开始的时间和实际开始播放的时间之间有 20 秒的延迟。

你知道为什么下面的 ffmpeg 命令不会像我在命令中定义的那样创建 3 秒的分段吗?这些段往往是 9 或 10。无法将它们缩小到更短的尺寸

ffmpeg -f x11grab -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 -hls_time 1 -hls_list_size 1 -hls_allow_cache 0 /tmp/hls/#{@stream_name}/index.m3u8

这是 m3u8 播放列表文件:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:NO
#EXT-X-TARGETDURATION:9
#EXT-X-MEDIA-SEQUENCE:10
#EXTINF:8.333333,
index10.ts
#EXTINF:8.333333,
index11.ts
#EXTINF:8.333333,
index12.ts
#EXTINF:8.333333,
index13.ts
#EXTINF:2.366667,
index14.ts
#EXT-X-ENDLIST

最佳答案

您还必须指定关键帧间隔。也称为 GOP(图片组)大小。

-g [时间]

关于Ffmpeg hls 直播 - 如何生成较短的片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28906259/

相关文章:

ios - 使用 ffmpeg/mobile-ffmpeg 捕捉视频

ffmpeg - 从 MPEG-4 获得 PTS?

html - Internet Explorer 11 HTML5 音频持续时间 = 无限问题

python-2.7 - 使用 subprocess.Popen 从 ffmpeg 和 livestreamer 实时输出

ffmpeg 将具有多个音频的 mkv 映射到具有更多音频的 mkv

jquery - 在iphone上自动关闭播放器的全屏

javascript - 与其他浏览器相比,IE/Edge 样式的应用顺序不同

http - YouTube 如何防止视频内容被保存/重新分发?

asp.net - 将 azure blob 视频流式传输到 JWPlayer

javascript - 如何在 video.js 中添加音轨?