使用VLC录制和复制网络摄像头流

时间:2015-04-27 16:53:27

标签: stream vlc quotes apostrophe

我正在尝试录制网络摄像头,保存并将其流式传输到本地网络。 问题是,我想用不同的压缩来做到这一点:
本地网络的流应该只有<400kbit / s,而另一个存储到本地文件的流应该是未压缩的或最高10 Mbit / s

所以我尝试了两种方法来解决这个问题:

首先我和VLC Gui玩了一下。记录网络摄像头非常容易,然后对其进行转码并将其保存到文件或/并将其传输到互联网。命令行如下所示:

vlc v4l2:///dev/video0 :v4l2-standard= :live-caching=300 :sout="#transcode{vcodec=WMV2,vb=380,fps=1,scale=Automatisch,acodec=none}:duplicate{dst=file{dst=stream.asf,no-overwrite},dst=http{dst=:8080/stream.wmv}}" :sout-keep

但我遇到了互联网流和文件都被压缩的问题。所以我将“复制”和“转码”的顺序更改为:

vlc v4l2:///dev/video0 :v4l2-standard= :live-caching=300 :sout="#duplicate{dst=file{dst=stream.asf,no-overwrite}, dst="transcode{vcodec=WMV2,vb=380,fps=1,scale=Automatisch,acodec=none}:http{dst=:8080/stream.wmv}"}" :sout-keep

我的想法:现在我应该有一个压缩的互联网流和原始文件。但它并没有将其传播到互联网上。

所以我尝试了另一种方法:我想将原始流传输到端口8080,然后使用另外两个VLC实例生成到端口8008的压缩网络流和原始文件。但我不能流一个流......

所以我真的很感激,如果有人有另一个想法或暗示我的问题在哪里。 对不起我的英语不好。 祝你有愉快的一天。

1 个答案:

答案 0 :(得分:0)

您是双引:sout。如果您打算在值中使用引号",请使用撇号'将整个参数括起来:

:sout='#duplicate{dst=file{...}, dst="transcode{...}:http{dst=:8080/stream.wmv}"}'

如果在命令末尾添加-v(详细输出),您会看到一些其他问题,例如no-overwrite无法识别。此外,scale=Automatisch应为scale=auto

请注意,我只检查了语法而不是编码参数。