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



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

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

首先我和桂玩了一点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

但我遇到的问题是,网络流和文件都被压缩了。所以我把"复制"one_answers"转码"的顺序改为:

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端口和一个原始文件。但是我不能流一条小溪。。。。

所以,如果有人对我的问题有其他想法或暗示,我会非常感激。对不起我的英语。祝你今天愉快。

您对:sout进行了双引号引用。如果您计划在值中使用引号",则使用撇号'将整个参数括起来,如:

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

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

请注意,我只检查了语法,而没有检查您的编码参数。

相关内容

  • 没有找到相关文章

最新更新