我们现在使用ffmpeg.exe将图像序列从IPCAM转换为输出C#中的H.264视频。在这里,我们将ffmpeg.exe的输出视频的fps设置为10帧。但是,来自IPCAM的图像序列的fps不是固定的。有时,它超过10fps,有时它小于10fps。因此,如果我们使用ffmpeg.exe在一小时内记录数据,则录制的视频长度不是一个小时。能告诉我们ffmpeg.exe的哪些参数或命令可以使ffmpeg.exe自动解决这种不一致问题。谢谢你的帮助。
答案 0 :(得分:0)
尝试以下两个命令:
ffmpeg.exe -y -f rawvideo -vcodec rawvideo -s WxH -pix_fmt rgb24 -i \\.\pipe\" + pipename -vsync 0 -r 10 -an -b:v bitrate -vcodec h264_qsv -preset veryslow filename.mkv
ffmpeg.exe -y -f rawvideo -vcodec rawvideo -s WxH -pix_fmt rgb24 -use_wallclock_as_timestamps 1 -i \\.\pipe\" + pipename -vsync 0 -r 10 -an -b:v bitrate -vcodec h264_qsv -preset veryslow -fflags +genpts filename.mkv
不要更改为MP4的扩展名。如果上述任何一项工作,我们可以将MKV多路复用到MP4。
ffmpeg.exe file.mkv -c copy file.mp4