VLC HLS 以本机帧速率读取输入以进行实时流式传输
VLC HLS read input at native frame rate for real time streaming
我用 NodeJS 制作了 http 直播 (hls) 服务器。现在我有两个变体:ffmpeg 和 VLC。
使用 ffmpeg 我知道命令 -re
( 以本机帧速率读取输入。主要用于模拟抓取设备或实时输入流(例如,从文件读取时))。我需要这个来从文件进行实时流式传输(伪直播频道)。
因此我希望在浏览器中的视频播放器上签名 "Live",并且无法倒带视频(video.js 播放器或 hls.js 库)
但是我如何使用 VLC 做到这一点?也许你知道一些命令?
But how I can do this with VLC? Maybe you know some commands?
第 1 步:使用带有 VLC 的 livehttp 模块重新流式传输您的文件源
vlc -vvv -I dummy <SOURCEADDRESS> --sout='#transcode{width=1280,height=720,fps=25,vcodec=h264,vb=4096,venc=x264{aud,profile=baseline,level=30,keyint=30,ref=1},acodec=mp3,ab=96}:std{access=livehttp{seglen=10,delsegs=false,numsegs=10,index=/path/to/your/index/prog_index.m3u8,index-url=YourUrl/fileSequence######.ts},mux=ts{use-key-frames},dst=/path/to/your/ts/files/fileSequence######.ts}'
第 2 步:通过 HTML 5
发布您的 HTTP 直播播放列表 (m3u8)
<video>
<source src="/path/to/your/index/prog_index.m3u8" />
</video>
这将在 HTML 5 中生成一个视频播放器,无法在您的视频中倒带,因此是 "live" 或 "pseudo-live",无论您如何称呼它。
有关 and a longer explanation涉及的环境
请参阅以下问题详情
我用 NodeJS 制作了 http 直播 (hls) 服务器。现在我有两个变体:ffmpeg 和 VLC。
使用 ffmpeg 我知道命令 -re
( 以本机帧速率读取输入。主要用于模拟抓取设备或实时输入流(例如,从文件读取时))。我需要这个来从文件进行实时流式传输(伪直播频道)。
因此我希望在浏览器中的视频播放器上签名 "Live",并且无法倒带视频(video.js 播放器或 hls.js 库)
但是我如何使用 VLC 做到这一点?也许你知道一些命令?
But how I can do this with VLC? Maybe you know some commands?
第 1 步:使用带有 VLC 的 livehttp 模块重新流式传输您的文件源
vlc -vvv -I dummy <SOURCEADDRESS> --sout='#transcode{width=1280,height=720,fps=25,vcodec=h264,vb=4096,venc=x264{aud,profile=baseline,level=30,keyint=30,ref=1},acodec=mp3,ab=96}:std{access=livehttp{seglen=10,delsegs=false,numsegs=10,index=/path/to/your/index/prog_index.m3u8,index-url=YourUrl/fileSequence######.ts},mux=ts{use-key-frames},dst=/path/to/your/ts/files/fileSequence######.ts}'
第 2 步:通过 HTML 5
发布您的 HTTP 直播播放列表 (m3u8)<video>
<source src="/path/to/your/index/prog_index.m3u8" />
</video>
这将在 HTML 5 中生成一个视频播放器,无法在您的视频中倒带,因此是 "live" 或 "pseudo-live",无论您如何称呼它。
有关