FFmpeg 学习之 定时器解码两路视频并进行对比<2>

本文介绍了使用FFmpeg进行视频解码并对比的实践,通过编程实现定时器功能,详细探讨了如何高效地处理两路视频进行比较。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面写过一篇关于视频对比的文章,后来又做了一些修缮,用代码实现了一遍。

//定时器,解码
void Cvideo4Dlg::OnTimer(UINT nIDEvent)
{
	//输出视频解码
	WaitForSingleObject(AfxBeginThread(Decode_out_Thread, this), INFINITE);
	//输入视频解码
	WaitForSingleObject(AfxBeginThread(Decode_in_Thread, this), INFINITE);	
	//当前帧开始检测
	if(frame_test_over)
	{
		//备份被检测帧必要参数
		if(current_frame_number != pCodecCtx_out->frame_number)
		{	
			//为FALSE时,表示线程执行中,暂不开启新线程
			frame_test_over = FALSE;
			Sleep(5);
			current_frame_number = pCodecCtx_out->frame_number;
			CString frame_number_str_in;
			CString frame_number_str_out;
			frame_number_str_in.Format("src_%d.jpg", current_frame_number);
			cvSaveImage(frame_number_str_in, Image_in);	
			frame_number_str_out.Format("dst_%d.jpg", current_frame_number);
			cvSaveImage(frame_number_str_out, Image_out);
			//开启检测线程
			WaitForSingleObject(AfxBeginThread(Compare_Thread, this), INFINITE);
		}
		//帧号不再变化,则认为解码结束
		else if(current_frame_number && (!encoder
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值