2015-04-27 68 views
0

我试图录制网络摄像头,将其保存并流式传输到本地网络。 问题是,我想用不同的压缩方式来做到这一点:
本地网络的流应该只有< 400kbit/s,但另一个存储到本地文件的应该是未压缩的或者最多为10 Mbit/s的使用VLC录制和复制网络摄像头流

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

首先我打一点点用VLC桂。录制网络摄像头非常简单,然后对其进行转码并将其保存到文件或/并将其流式传输到互联网。命令行看起来是这样的:

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 

我的想法:我现在应该有一个压缩的互联网流和一部开拓创新的文件。但它不会流到互联网。

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

所以我会很感激,如果有人有另外一种想法或暗示在我的问题。 对不起,我的英语。 祝您有愉快的一天。

回答

0

您是双引号的:sout。如果您打算使用引号"里面的值,然后使用撇号'附上像整个论点:

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

如果你在你的命令的末尾添加-v(详细输出),你会看到一些其他问题如no-overwrite也未被识别。另外,scale=Automatisch应该是scale=auto

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

+0

谢谢aergistal :)它完美的作品。我没有注意到这一点。哑。但再次感谢:) – Justus