我正在尝试从网络摄像头捕获视频,我发现当我使用-vcodec copy
选项时,它的效果非常好(远比我尝试过的任何其他软件好得多)。但是,我希望我的文件稍微小一点,而且我尝试压缩视频的每一次尝试都会导致视频非常突然。例如,如果我将输出vcodec切换到mjpeg
,它会从报告15 fps变为3到4 fps之间的报告。难道我做错了什么??以下是与-vcodec copy
:
ffmpeg -y -f dshow -vcodec mjpeg -s 1184x656 -framerate 25 -i video="HD 720P Webcam" -vcodec copy test.avi
- 这让我获得15 fps。但如果我改为mjpeg
,我只得到3-4 fps:
ffmpeg -y -f dshow -vcodec mjpeg -s 1184x656 -framerate 25 -i video="HD 720P Webcam" -vcodec mjpeg test.avi
将-framerate 25
或-r 25
置于test.avi
之前的实验尝试也无助于此情况。在尝试使用mpeg4
或libx264
时,我没有获得更流畅的视频。只有copy
选项给了我流畅的视频(顺便说一下,我正在拍我的手弹钢琴,因此视频中有很多快动作。)
帮助!!!!谢谢......
答案 0 :(得分:1)
我不明白为什么帧速率会下降太多,但您可以尝试使用2通道方法,首先使用-vcodec副本录制它(当您粘贴在问题中时)
ffmpeg -y -f dshow -vcodec mjpeg -s 1184x656 -framerate 25 -i video="HD 720P Webcam" -vcodec copy test.avi
然后在完成后将其转码为mjpeg(如下所示):
ffmpeg -i test.avi -vcodec mjpeg test.mjpeg
注意:我实际上没有测试过任何上述命令行。
答案 1 :(得分:0)
听起来您的网络摄像头正在输出可变的帧速率流。在您的copy
个捕获文件中尝试以下操作。
ffmpeg -i test.avi -vcodec libx264 -r 30 test.mp4
(你应该避免捕获到AVI,改为使用MKV)