Streaming 用VLC实时重分组流

Streaming 用VLC实时重分组流,streaming,video-streaming,vlc,Streaming,Video Streaming,Vlc,如何使用VLC(linux上的cli)将实时视频重新流式传输到m3u8播放列表? 我目前有一段代码,但它不能正常工作 ["cvlc","-v",url,"--drop-late-frames","--skip-frames","--sout","#std{access=livehttp{seglen=1,delsegs=false,numsegs=5, index=/var/www/x/test.m3u8, index-url=http://hello.com/_x/test-########.

如何使用VLC(linux上的cli)将实时视频重新流式传输到
m3u8
播放列表? 我目前有一段代码,但它不能正常工作

["cvlc","-v",url,"--drop-late-frames","--skip-frames","--sout","#std{access=livehttp{seglen=1,delsegs=false,numsegs=5, index=/var/www/x/test.m3u8, index-url=http://hello.com/_x/test-########.ts}, mux=ts{use-key-frames},  dst=/var/www/xxx/test-########.ts}}"

由于某种原因,上面的代码需要等待3-10秒才能生成新的.ts文件——这应该是实时完成的。我应该使用什么命令行参数来纠正该问题?

m3u8是一种碎片格式。这意味着在片段完成之前不能更新清单(没有部分片段),因为我们不能进行时间旅行,我们必须等待片段的所有帧。在您的情况下为3秒。

ffmpeg可以实现这一点,因此vlc也应该能够做到这一点。这个命令做我需要的:[“ffmpeg”、“-fflags”、“-re”、“-I”、url、“-codec”、“copy”、“-map”、“0”、“-f”、“segment”、“-segment\u time”、“2”、“-hls\u list\u size”、“5”、“-hls\u wrap”、“5”、“-segment\u-list\u-type”、“m3u8”、“-segment\u格式”、“mpeg\u-segment\u-list”、“-segment\u-list”、“-segment\u-list”、“/var/www/www/x/test.m3u8”、“-segment\u-segment\u-list”、“+live\u-flags”、“+live”、/x/x%/www。我只需要用vlc就可以了。m3u8每X秒更新一次,每段完成一次。因此,您希望ts在实时中缓慢增长,而不是一次刷新整个细分市场?它可以实时增长(如果发生任何事情,这将非常好),但看不到它增长不是问题所在。使用vlc时,我应该每X秒(或使用上面的命令每1秒)获得一个新的.ts文件,但现在我获得了一堆文件,它们每3到10秒生成一次。如果每1秒一个接一个地创建它们,我会很高兴。