c# - 如何让ffmpeg.exe解决输入帧序列的fps不一致问题?

标签 c# ffmpeg aforge

我们现在使用 ffmpeg.exe 将图像序列从 IPCAM 转换为 C# 中的 H.264 视频输出。在这里,我们将 ffmpeg.exe 的输出视频的 fps 设置为 10 帧。但是,来自 IPCAM 的图像序列的 fps 不是固定的。有时超过 10fps,有时低于 10fps。因此,如果我们使用 ffmpeg.exe 录制一小时的数据,录制的视频长度并不精确为一小时。请告诉我们ffmpeg.exe的哪些参数或命令可以使ffmpeg.exe自动解决这种不一致。谢谢你的帮助。

最佳答案

试试这两个命令:

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

关于c# - 如何让ffmpeg.exe解决输入帧序列的fps不一致问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36968643/

相关文章:

c# - 静态方法返回它包含类类型的对象

c# - 直接从文件中读取大量bmp数据

c# - C#中使用的AForge.Video.FFMPEG

c# - 如何检测图像中的黑色子弹?

c# - 页面生命周期

c# - 如何编辑 Entity 框架生成的 sql 查询?

c++ - libav - 解码 H264 帧错误

ffmpeg mjpeg -> h.265 输出视频文件上的拖尾颜色

使用ffmpeg的Android音频处理?

.net - 通过 AForge.NET 库进行 X 射线打印识别