//[640,480][800,448][864,480][1024,576][960,720][800,600][1600,896][1712,960][1280,960] [1920,1080]
int width = videoSource.VideoCapabilities[0].FrameSize.Width;
int height = videoSource.VideoCapabilities[0].FrameSize.Height;
int fps = 30;
string path = "D:\\视频监控";
fileName = System.DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".mp4";
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
path = path + "\\" + fileName;
writer = new VideoFileWriter();
writer.Open(path, width, height, fps, VideoCodec.MPEG4);
this.is_record_video = true;
aTimer.Enabled = true;
aTimer.Interval = MonitorMaxSecond * 500;
// lblmontior.Text = "视频监控中";
IsTimeOut = true;
videoSource.Start();
4 个解决方案
#1
应该是底层音视频文件的时间戳计算有问题,不是很准确,再就是在结束的时候MUXER到文件的时候,buffer处理有问题,duration处理的不对
#2
底层处理有问题,不建议用AForge和FFMPEG做录像,都会有这种时间问题。
#3
麻烦问下有其他比较好的推荐么?
#4
这就比较尴尬了,多谢提醒,我看下这两点相关的逻辑吧,不然只能换一种解决方案了。
#1
应该是底层音视频文件的时间戳计算有问题,不是很准确,再就是在结束的时候MUXER到文件的时候,buffer处理有问题,duration处理的不对
#2
底层处理有问题,不建议用AForge和FFMPEG做录像,都会有这种时间问题。
#3
麻烦问下有其他比较好的推荐么?
#4
这就比较尴尬了,多谢提醒,我看下这两点相关的逻辑吧,不然只能换一种解决方案了。