VLC记录网络摄像头和流到chrome linux

Nic*_*ick 3 ubuntu google-chrome vlc video-recording html5-video

我目前正在寻找如何完成我被告知可能的事情.

我被告知我们可以使用vlc在linux中流式传输网络摄像头,这将允许以下内容:

  • 将流记录到本地计算机以供以后上载.
  • 使用Chrome的HTML5视频功能播放流媒体.
  • 从Web发送启动和停止命令以进行vlc录制.

我已经研究了很长一段时间,但却找不到可行的解决方案.

我可以使用VLC录制视频,但以下内容

vlc v4l2:// :v4l2-dev=/dev/video0 :v4l2-width=640 :v4l2-height=480 --sout "#transcode{vcodec=mpeg4,acodec=mpga,vb=800,ab=128}:standard{access=file,dst=capture_4.avi}"
Run Code Online (Sandbox Code Playgroud)

这真的有可能吗?

Mik*_*e F 17

如果可能的话,回答你的问题......是的,但它很棘手.我无法回答您的所有观点,只有在VLC中流式传输并在HTML5中显示的部分

您需要一定的环境设置才能使用(Segmenter并更正服务器上的MIME类型).我假设你们都在linux上; 我不是(Mac OS/unix),但其背后的原则与使其工作的工作流程保持一致.我会尝试解释 - 希望这有助于任何方式.

我成功的设置工作方式如下:

(1)流媒体和录音

本地vlc流实例流音频和视频 - >生成mpegts流.尝试将命令更改为类似的命令

vlc v4l2:// :v4l2-dev=/dev/video0 :v4l2-width=640 :v4l2-height=480 --sout "#transcode{vcodec=mpeg4,acodec=mpga,vb=800,ab=128}:standard{access=udp, mux=ts, sap, name=live-video, dst=224.0.0.1, port=1234}"
Run Code Online (Sandbox Code Playgroud)

要么

vlc v4l2:// :v4l2-dev=/dev/video0 :v4l2-width=640 :v4l2-height=480 --sout "#transcode{vcodec=mpeg4,acodec=mpga,vb=800,ab=128}:udp{dst=224.0.0.1,port=1234,mux=ts}"
Run Code Online (Sandbox Code Playgroud)

我只是给你在Mac上移植的命令.我不知道他们是否在linux上工作.现在,您应该可以通过访问SAP公告或直接使用VLC来播放实时流

vlc -vvv udp://@224.0.0.1:1234
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用另一个vlc实例来记录流

vlc udp://@224.0.0.1:1234 --sout "#transcode{vcodec=mpeg4,acodec=mpga,vb=800,ab=128}:standard{access=file,dst=capture_4.avi}"
Run Code Online (Sandbox Code Playgroud)

在VLC中有一个重复的命令,我一直在玩,但没有成功.这样您就可以使用一个实例进行流式处理和记录.也许这适用于linux.

(2)分割

mediastreamsegmenter将您的mpegts流划分为可交付的细分市场.我正在使用Apple Server Software.Apple为您提供了mediastreamsegemnter,它可以采用实时mpegts流并将其转换为添加到播放列表的段.我不知道linux中的live segmenter.也许其他人也这样做.

(3)交付

html 5页链接到包含段的视频播放列表.mediastreamsegmenter将生成一个播放列表播放列表.m3u8,然后可以使用HTML 5访问

<video width="640" height="480">
<source src="YOUR_PATH/playlist.m3u8" />
</video>
Run Code Online (Sandbox Code Playgroud)

有关此主题的一些有用的教程是:

有关设置和基本命令的信息

VLC示例以便流式传输

我知道这不是你问题的完整解决方案,但这可能会给你一些很好的起点.

  • @ user573014请看这里:http://www.iana.org/assignments/multicast-addresses/multicast-addresses.xml它代表一个多播地址.小心使用224.0.0.1并且永远不要进行高效设置.而是玩239.0.0.1左右...... (2认同)