如何解决直接将摄像头视频流写入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 挂载远程目录。
- 在远程主机上创建目标目录。在本例中,它被命名为
remotedir
。 - 在本地主机上制作挂载目录。在本例中,它被命名为
mountpoint
。 - 运行
sshfs
:sshfs username@"$vps_ip":remotedir mountpoint
- 运行
ffmpeg
:ffmpeg -f v4l2 -i /dev/video0 -c:v libx264 -profile:v baseline -vf format=yuv420p mountpoint/output.flv
- 要卸载
mountpoint
,请运行fusermount3 -u mountpoint
(Linux) 或umount mountpoint
(macOS)。
至于您的 ffmpeg
命令不要在实时输入中使用 -re
,也不需要 -strict -2
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。