使用 ffmpeg 对具有可变帧速率的源 mjpeg 进行编码

使用 ffmpeg 对具有可变帧速率的源 mjpeg 进行编码

我将旧智能手机设置为“闭路电视”摄像头。流是 MJPEG。

当我使用此命令通过 ffmpeg 捕获时:

ffmpeg -y -f mjpeg -i http://192.168.1.3:8080/video -c:v libx264 -an cam.mp4

我获得了更快的播放速度。

我已经尝试过-vsync vfr-framerate增加和减少速率。没有任何效果。始终快速播放(例如 ~ 2 倍)

当我播放时使用ffplay http://192.168.1.3:8080/video播放速度是完美的。

使用具有可变比特率的源,使用什么 ffmpeg 命令可以正确地对视频进行编码?

答案1

原始流不会向 ffmpeg 传达帧速率,因此使用默认值 25。相反,

ffmpeg -y -f mjpeg -use_wallclock_as_timestamps 1 -i http://192.168.1.3:8080/video -vf setpts=PTS-STARTPTS -vsync 0 -c:v libx264 -an cam.mp4

相关内容