微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

直接将摄像头视频流写入vps中的指定目录

如何解决直接将摄像头视频流写入vps中的指定目录

ffmpeg 可以读取网络摄像头视频流并直接保存到文件中。

output="/tmp/sample.flv"
ffmpeg -re -f video4linux2 -i /dev/video0 -vcodec libx264 -vprofile baseline -acodec aac -strict -2 -f flv -pix_fmt yuv420p  $output

ffmpeg 读取我的网络摄像头设备 video4linux2 并将实时视频流写入文件 /tmp/sample.flv。 网络摄像头的视频流可以直接写入vps的指定目录吗?

我尝试过 bash :

ffmpeg -re -f video4linux2 -i /dev/video0 -vcodec libx264  \
       -vprofile baseline -acodec aac -strict -2 -f flv    \
       -pix_fmt yuv420p - | xargs -i ssh {} root@$vps_ip

ffmpeg -re -f video4linux2 -i /dev/video0 -vcodec libx264  \
       -vprofile baseline -acodec aac -strict -2 -f flv    \
       -pix_fmt yuv420p |ssh  root@$vps_ip

两者都不能工作。

解决方法

SSHFS 可以简化事情

SSHFS 允许您使用 SSH 挂载远程目录。

  1. 在远程主机上创建目标目录。在本例中,它被命名为 remotedir
  2. 在本地主机上制作挂载目录。在本例中,它被命名为 mountpoint
  3. 运行sshfssshfs username@"$vps_ip":remotedir mountpoint
  4. 运行ffmpegffmpeg -f v4l2 -i /dev/video0 -c:v libx264 -profile:v baseline -vf format=yuv420p mountpoint/output.flv
  5. 要卸载 mountpoint,请运行 fusermount3 -u mountpoint (Linux) 或 umount mountpoint (macOS)。

至于您的 ffmpeg 命令不要在实时输入中使用 -re,也不需要 -strict -2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。