直接将网络摄像头视频流写入vps中的指定目录
Write webcamera video stream into a specified directroy in vps directly
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
.
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
.