ffmpeg:使用 -vcodec mjpeg 而不是 -vcodec copy 捕获时帧率低
ffmpeg: Low framerate when capturing with -vcodec mjpeg but not with -vcodec copy
我正在尝试从网络摄像头捕捉视频,我发现当我使用 -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
选项能给我流畅的视频(顺便说一下,我正在拍摄我弹钢琴的手,所以视频中有很多快速动作)。
求助!!!!还有谢谢...
我不明白为什么帧率会下降这么多,但你可以尝试一种 2 遍方法,首先使用 -vcodec copy 记录它(如你在问题中粘贴的那样)
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
注意:我还没有实际测试过上述任何命令行。
听起来您的网络摄像头正在输出可变帧率流。在您 copy
捕获的文件之一上尝试以下操作。
ffmpeg -i test.avi -vcodec libx264 -r 30 test.mp4
(您应该避免捕捉到 AVI,而是使用 MKV)
我正在尝试从网络摄像头捕捉视频,我发现当我使用 -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
选项能给我流畅的视频(顺便说一下,我正在拍摄我弹钢琴的手,所以视频中有很多快速动作)。
求助!!!!还有谢谢...
我不明白为什么帧率会下降这么多,但你可以尝试一种 2 遍方法,首先使用 -vcodec copy 记录它(如你在问题中粘贴的那样)
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
注意:我还没有实际测试过上述任何命令行。
听起来您的网络摄像头正在输出可变帧率流。在您 copy
捕获的文件之一上尝试以下操作。
ffmpeg -i test.avi -vcodec libx264 -r 30 test.mp4
(您应该避免捕捉到 AVI,而是使用 MKV)