我想知道如何使用 ffmpeg 捕获网络摄像头视频并转储原始版本和编码版本。我只想要视频流。我在 Windows XP 上。
答案1
从这里,你可以看到 DirectShow 设备列表
ffmpeg -list_devices true -f dshow -i dummy
如果您的笔记本电脑上有内置网络摄像头,它应该被称为“集成摄像头”之类的名称,您可以使用以下命令从中捕获内容(显然,替换您的网络摄像头设备的名称,并注意引号是必需的):
ffmpeg -f dshow -i video="Integrated Camera" -c copy raw.avi \
-c:v libx264 -preset veryfast -crf 25 encoded.mp4
您可能更愿意使用 huffyuv 而不是原始视频 - 它会使文件大小减半,但完全无损。使用-c:v huffyuv
而不是-c copy
。
答案2
看起来像你能使用 VLC 执行此操作,即
vlc --dshow-vdev="Monitor Webcam" --dshow-size=640x480 -V dummy
--intf=dummy --dummy-quiet --video-filter=scene --no-audio
--scene-path=D:\temp --scene-format=jpeg --scene-prefix=snap
--scene-replace --run-time=1 --scene-ratio=24 "dshow://" vlc://quit
答案3
带有适用于 Windows 的 mplayer/mencoder 二进制文件。
显示来自网络的输出:
"C:\Program Files (x86)\MPlayer for Windows\mplayer.exe" -tv driver=dshow:device=0:adevice=0:audioid=1:input=2 tv://
写入输出:
mencoder.exe -tv driver=dshow:device=0:adevice=0:audioid=1:input=2 tv:// -oac copy -ovc copy -o t.avi