我用qt+opencv 录制了视频

我用qt+opencv 录制了视频,问题一:录制了1分钟,视频中不到一分钟!用了定时器,ntimer= 1000/fps;
问题二,怎么录制音频? 谢谢

0

1个回答

1.我当初用qt+opencv做录制的时候,帧率是设置的平均值,这样会稍微准确点
2.录制音频,我直接用的qt类,qaudiodevice等
3.然后用的ffmpeg做的音视频合并

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Qt如何录制桌面视频?
我想用Qt开发一个可以记录计算机桌面视频的软件,四路是什么?需要用到哪些Qt组件?
Opencv打不开Amcap录制出来的视频
背景:使用程序录制的视频可以正常打开,但是打不开Amcap录制的视频,文件格式都是.avi 解决方案:使用格式工厂或者其他格式转换器,将Amcap录制的视频转换成标准AVI格式,实锤可以正常打开,另一种方法是加载ffmepg.dll,这个方法没试成功
opencv视频资料教程,51cto贾志刚录制的全套视频
51cto高级工程师贾志刚录制的opencv视频资料教程,学opencv从入门到精通,基于opencv3.
opencv录制屏幕
void CMyseltestDlg::OnBnClickedTrans() { std::thread th(savevideo); th.detach(); } void savevideo() { ifwrite=true; nWidth = GetSystemMetrics(SM_CXSCREEN);//得到屏幕的分辨率的x         nHeight = GetSy
OpenCV怎么录制屏幕
rn比如说录制屏幕左上角100*100的尺寸。
Qt +Opencv 在ARM-A9上视频拍照
本文主要使用Qt+Opencv在ARM上实现图像采集及拍照功能,核心代码为Qt写的Gui界面,来把采集的图像动态显示在窗口上。
Opencv + Qt 获取视频中任意一帧
opencv + Qt + Sqlite Sqlite 保存文件名路径 通过Qt 的 QSqlDatabase 进行文件路径读取 转成 std::string, 传到 opencv 中的 VideoCapture 获取视频中任意一帧的代码Mat getFrame(string avipath,int id){ Mat frame; VideoCapture capture(avipa
Qt Opencv TCP 传输图像(视频)序列
目录 1.传输流程 2.服务器端实现代码 3.客户端代码: 4.界面 1.传输流程 客户端像服务端发起连接请求; 待连接建立后,客户端像服务器端发送对图像序列(视频)的请求信号 服务端端收到并确认对视频的请求信号后,以一定的时间间隔(30ms)为周期向客户端发送一帧图像数据;图像数据经过的jpeg压缩,然后经过qCompress压缩,并编码成了Base64编码,再写入套接字; 客...
用OpenCV摄像头获取视频的问题
我只是想启动摄像头,采集数据,然后实时显示在一个窗口里,就像OpenCV\otherlibs\cvcam\sample\vidformat_sample.cpp那样,我这么写:rnrnrnvoid callback()rnrnrnint ShowCamVideo(HWND hwnd, int width, int height)rnrn VidFormat vidFmt= width, height, 30.0;rn int CamCount = cvcamGetCamerasCount( );rn cvcamSetProperty(0, CVCAM_PROP_ENABLE, CVCAMTRUE);rn cvcamSetProperty(0, CVCAM_PROP_RENDER, CVCAMTRUE);//我多加了这句rn cvcamSetProperty(0, CVCAM_PROP_CALLBACK,callback); rn cvcamSetProperty(0, CVCAM_PROP_WINDOW, &hwnd); rn cvcamSetProperty( 0, CVCAM_PROP_SETFORMAT, &vidFmt);rn if( !cvcamInit() )rn return 0;rn cvcamStart();rn return 1;rnrn//调用就是rncvNamedWindow("cvcam window", CV_WINDOW_AUTOSIZE);rnShowCamVideo((HWND)cvGetWindowHandle("cvcam window"), 640, 480);rnrnrnrn可是一运行,就退出,我仔细看了下,就是cvcamInit()这个函数完了就退出整个程序,我又尝试了这段(网上说这个是通过DirectShow):rnrnrnrnvoid callback()rnrnrnrncvNamedWindow("cvcam window", CV_WINDOW_AUTOSIZE);rnint CamCount = cvcamGetCamerasCount( );rncvcamSetProperty(0, CVCAM_PROP_ENABLE, CVCAMTRUE);rncvcamSetProperty(0, CVCAM_PROP_CALLBACK,callback); rnCvCapture *capture=cvCaptureFromCAM(-1);rnIplImage *image ;rnwhile(capture)rnrn image = cvQueryFrame(capture);rn cvShowImage("cvcam window",image); rn if(cvWaitKey(1)==27)rn break;rnrnrnrn这个视频窗口出现了,可是黑黑的什么都没有,大小也调整了,640X480,和我摄像头分辨率一样,但是就是黑压压什么都没有。我的系统是Vista SP1, VC 6.0 SP6,谁能告诉我什么问题?另外我想把这视频保存起来怎么做?
qt gif录制工具
QQ:609162385 承接各种软件,插件,控件制作,程序代写,毕业设计,图像处理等。 #pragma execution_character_set("utf-8") /*! @author chen @date 2018/9 @brief QQ:609162385 @brief Tell:15826091035 @https https://bl...
QT录制麦克风声音
QT录制麦克风声音首先在项目文件中添加:QT += multimedia在设计界面上拖入两个标签label,一个combox,一个line edit和三个按钮,如下图所示:然后在.h文件中添加头文件:#include <QMainWindow> #include <QAudioRecorder> #include <QDebug> #include ...
使用Qt录制音频
本片文章简单介绍一下使用Qt录制音频数据。 使用到的类为QAudioInput,使用这个类录制音频非常简单,基本步骤如下: 设置录制音频的采样率、大小和通道等信息,创建QAudioInput类的对象。 调用QAudioInput类的成员函数 start() 开始录制音频。 调用QAudioInput类的成员函数 bytesReady() 获取当前从设备中录制的字节大小。 下面是一个简单的代...
QT 录制音频
音频的推流和封装与视频是类似的,主要在于录制和重采样部分。 QT再window的安装可以参考博客: vs2017 配置QT环境 主要是在创建QT项目的时候加入 multimedia库,利用这个库用来录制音频的。 QAudioFormat 这个类是用来设置录制音频的参数的,如下: QAudioFormat fmt; fmt.setSampleRate(sampleRate);// ...
[Help]能否用视频采集卡录制电视节目?
想录制电视节目,不清楚使用视频采集卡是否可以录制电视节目?rn特别是一些动作片或田径之类刷新比较快的节目,rn请熟悉的朋友介绍下。。。
微信视频的录制按钮
微信视频的录制按钮接上面的文章把微信的录制写完整 涉及到知识点主要是以下:1.手势监控的类GestureDetectorCompat支持更多的手势2.设置自定义的属性3.handler实现的倒计时操作 下面简单介绍绘制的流程,绘制控件分成几个步骤来做自定义属性分为三步:1.在values下面创建attrs.xml文件,里面定义自定义的属性名称和属性的限制类型<declare-styleable
视频-录制-工具
视频录制工具,安装方便,操作简单,很是实用。再此分享给大家,顺便混点儿积分。谢谢!
录制十秒钟的AVI视频
在网上找的类rnrnusing System;rnusing System.Collections;rnusing System.Drawing;rnusing System.Runtime.InteropServices;rnusing System.Text;rnusing System.IO;rnrnnamespace CamaraMonitorrnrn public class Videorn rn public bool flag = true;rn public delegate void RecievedFrameEventHandler(byte[] data);rn public event RecievedFrameEventHandler RecievedFrame;rn public static ArrayList allDriver = new ArrayList();//所有视频硬件信息rn public AviCapture.CAPDRIVERCAPS CapDriverCAPS;//捕获驱动器的能力,如有无视频叠加能力、有无控制视频源、视频格式的对话框等;rn public AviCapture.CAPSTATUS CapStatus;//该结构用于保存视频设备捕获窗口的当前状态,如图像的宽、高等rn public AviCapture.CAPTUREPARMS Capparms;rn private IntPtr mControlPtr;//显示设备句柄rn public IntPtr lwndC;rn private int mWidth;//视频宽度rn private int mHeight;//视频高度rn public Bitmap ba;rnrn /// rn /// 构造函数 rn /// rn /// rn /// rn /// rn public Video(IntPtr handle, int width, int height)rn rn CapDriverCAPS = new AviCapture.CAPDRIVERCAPS();//捕获驱动器的能力,如有无视频叠加能力、有无控制视频源、视频格式的对话框等;rn CapStatus = new AviCapture.CAPSTATUS();//该结构用于保存视频设备捕获窗口的当前状态,如图像的宽、高等rnrn mControlPtr = handle;rn mWidth = width;rn mHeight = height;rn //---------------------------------------------------以下为获得机器上所有视频设备rn rn /// rn /// 方法说明:获得本机器上的所有视频设备rn /// rn //public static void GetAllDriver()rn //rn // for (int i = 0; i < 6; i++)rn // rn // StringBuilder name = new StringBuilder(128);rn // StringBuilder version = new StringBuilder(128);rn // if (AviCapture.capGetDriverDescription(i, name, 128, version, 128))//获得已经安装的 捕获的设备 名称和版本信息rn // rn // AviCapture.VideoCaptureDevice vcd = new VideoCaptureDevice(i, name.ToString(), version.ToString());rn // allDriver.Add(vcd);rn // rn // rn //rn public void get()rn rn AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_GET_SEQUENCE_SETUP, AviCapture.SizeOf(Capparms), ref Capparms);rn rn public void set()rn rn AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_SET_SEQUENCE_SETUP, AviCapture.SizeOf(Capparms), ref Capparms);rn rn /// rn /// 关闭摄像头 rn /// rn public void CloseWebcam(int index) //关闭摄像头rn rn CapDriverCAPS.fCaptureInitialized = false;rn AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_DRIVER_DISCONNECT, index, 0);rn rn /// rn /// 开启摄像头 rn /// rn public void StartWebCam() //开启摄像头rn rn this.lwndC = AviCapture.capCreateCaptureWindow("", AviCapture.WS_CHILD | AviCapture.WS_VISIBLE, 0, 0, mWidth, mHeight, mControlPtr, 0);//AVICap类的捕捉窗口rn //AviCapture.FrameEventHandler FrameEventHandler = new AviCapture.FrameEventHandler(framecallback);rn //AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_SET_CALLBACK_ERROR, 0, 0);//注册错误回调函数rn //AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_SET_CALLBACK_STATUS, 0, 0);//注册状态回调函数 rn //AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, 0);//注册视频流回调函数rn //AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_SET_CALLBACK_FRAME, 0, FrameEventHandler);//注册帧回调函数rnrn //if (!CapDriverCAPS.fCaptureInitialized)//判断当前设备是否被其他设备连接已经连接rn //rnrn if (AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_DRIVER_CONNECT, 0, 0))rn rn //-----------------------------------------------------------------------rn AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_DRIVER_GET_CAPS, AviCapture.SizeOf(CapDriverCAPS), ref CapDriverCAPS);//获得当前视频 CAPDRIVERCAPS定义了捕获驱动器的能力,如有无视频叠加能力、有无控制视频源、视频格式的对话框等;rn AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_GET_STATUS, AviCapture.SizeOf(CapStatus), ref CapStatus);//获得当前视频流的尺寸 存入CapStatus结构rnrn AviCapture.BITMAPINFO bitmapInfo = new AviCapture.BITMAPINFO();//设置视频格式 (height and width in pixels, bits per frame). rn bitmapInfo.bmiHeader = new AviCapture.BITMAPINFOHEADER();rn bitmapInfo.bmiHeader.biSize = AviCapture.SizeOf(bitmapInfo.bmiHeader);rn bitmapInfo.bmiHeader.biWidth = mWidth;rn bitmapInfo.bmiHeader.biHeight = mHeight;rn bitmapInfo.bmiHeader.biPlanes = 1;rn bitmapInfo.bmiHeader.biBitCount = 24;rn AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_SET_PREVIEWRATE, 66, 0);//设置在PREVIEW模式下设定视频窗口的刷新率 设置每34毫秒显示一帧,即显示帧速为每秒29帧rn AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_SET_SCALE, 1, 0);//打开预览视频的缩放比例rn AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_SET_VIDEOFORMAT, AviCapture.SizeOf(bitmapInfo), ref bitmapInfo);rnrn AviCapture.CAPTUREPARMS captureparms = new AviCapture.CAPTUREPARMS();rn AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_GET_SEQUENCE_SETUP, AviCapture.SizeOf(captureparms), ref captureparms);rn if (CapDriverCAPS.fHasOverlay)rn rn AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_SET_OVERLAY, 1, 0);//启用叠加 注:据说启用此项可以加快渲染速度 rn rn AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_SET_PREVIEW, 1, 0);//设置显示图像启动预览模式 PREVIEWrn AviCapture.SetWindowPos(this.lwndC, 0, 0, 0, mWidth, mHeight, AviCapture.SWP_NOZORDER | AviCapture.SWP_NOMOVE);//使捕获窗口与进来的视频流尺寸保持一致rn rn elsern rn System.Windows.Forms.MessageBox.Show("未能连接设备,请检查设备连接及是否有其他程序占用!");rn flag = false;rnrn rn //rn //elsern //rn // System.Windows.Forms.MessageBox.Show("未能连接设备,请检查设备连接及是否有其他程序占用!");rn //rn rn /// rn /// 抓图到制定的路径rn /// rn /// rn public void grabImage(string path)rn rn IntPtr hBmp = Marshal.StringToHGlobalAnsi(path);rn AviCapture.SendMessage(lwndC, AviCapture.WM_CAP_FILE_SAVEDIB, 0, hBmp.ToInt32());rn rn /// rn /// 弹出视频格式设置对话框 rn /// rn public void setCaptureFormat()rn rn AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_DLG_VIDEOFORMAT, 0, 0);rn // 是否由新的图像尺寸?rn // 如果有,发送通知给父窗口,告诉它尺寸改变了rnrn AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_GET_STATUS, AviCapture.SizeOf(CapStatus), ref CapStatus);//获得当前视频流的尺寸 存入CapStatus结构rn rn /// rn /// 开始录像rn /// rn /// 要保存录像的路径 rn public void StarKinescope(string path)rn rn IntPtr hBmp = Marshal.StringToHGlobalAnsi(path);rn AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_FILE_SET_CAPTURE_FILE, 0, hBmp.ToInt32());rn ////AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_SEQUENCE, 0, 0);rn rn /// rn /// 停止录像rn /// rn public void StopKinescope()rn rn AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_STOP, 0, 0);rn rn public void setVideoCompression()rn rn AviCapture.SendMessage(this.lwndC, AviCapture.WM_CAP_DLG_VIDEOCOMPRESSION, 0, 0);rn rn rnrn用这个控制视频录制十秒会不稳定:rn video.StarKinescope(Directory.GetCurrentDirectory() + "\\HR_Video.avi"); //"c://" + System.DateTime.Now.ToString("yyyyMMddHHmmss") + ".avi");rn System.Threading.Thread.Sleep(10000);rn video.StopKinescope();rn video.CloseWebcam(0);rn请问大侠有什么好办法能精准的录制十秒的AVI文件。谢谢
录制及剪辑视频
公司有的时候为了演示需要录制项目视频,那么下面介绍步骤: 1、下载Screen Recorder工具–FSCapture,注册码在网上随便找 录制视频 2、下载爱剪辑软件 a,导入视频到软件中 b,点击字幕特效,在字体设置中可以设置字体及大小,颜色,特效参数等 c,导出视频,选择导出尺寸选择1920*1080,视频比特率选择20000最高质量 3、下载QQ影音 把剪辑的视频导入QQ影音进行剪辑开头...
安卓,录制短视频
录制短视频,录制之后点击播放。
视频格式化录制工具
用于监控视频录制时对SD卡进行格式化以特定格式加密保存视频数据
录制演示视频方法
最近有个任务需要录制一段演示视频,现在pc录制一段PPT讲解,再录制一段手机演示,最后合并到一起的需求。完成后记录一下过程,免得以后又从新找软件。 PC端录制视频软件: snagit 11 手机端录制视频:小米手机自带软件(其他手机录制可能需要root) 剪辑软件:SolveigMM Video Splitter Business Edition(较为轻量简单易用) 视频合并:格式工厂(可...
UFT录制简单的视频
简单认识下UFT,录制小飞机的订票过程脚本
MediaRecorder视频的录制和播放
Android 中MediaRecorder和Camera的关系 从功能的角度MediaRecorder一般包含音频,视频记录,视频预览的功能,Camera包含了取景区预览,静态图像捕获的功能。在Android中,应用程序自上而下分成JAVA应用,JAVA框架,JNI,C框架,具体实现几个部分。多媒体方面的程序尤其是这样。MediaRecorder 和Camera在Android中都有自上而下
录制其他播放器播放的视频
我现在只能实现录制窗体,界面,生成asf,但是要录制其他播放器的视频时,视频框里都是黑屏,请问各位有什么解决方案,我看的一些录屏软件他们录制之后也是黑屏。
1、录制的视频格式转换工具 2、录制的视频截取工具 3、录制的视频合成工具
通过对“屏幕录像专家录制超清视频教程”课程学习,达到以下目的:1、完美解决转码后不清晰问题 2、熟练掌握录制超清视频方法
关于视频的录制
我安装了很多种的仿真器,但是在(RecordControl)player.getControl("RecordControl");这一句都是返回null,我安装过sony Ericsson的,nokia的s60的,wtk的,所有的都是返回null,抛异常了。请问这个问题怎么解决?不可能这些这么新的手机仿真器都没有视频录制的功能吧,而且网上也有很多关于视频录制的代码,怎么他们可以支持视频录制,而我这里却不行了,有点急,麻烦大家帮帮忙。。
录制带声音的视频
视频音频的录制和保存1. 准备工作配置权限<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 当前程序需要使用 照相机功能 --> <uses-feature android:name="android.hardware.camera" android:re
视频录音机,录制工具
绝对Cool的视频教程录像工具,近乎完美~~此文件很小,可以直接的存放在QQ硬盘里面。
如何录制和编辑视频
互联网+教育结合而成的在线教育,随着互联网的发展和移动设备的普及,为我们教育工作者提供了广阔的舞台,也为那些快节奏的在职人员提供了充电的机会,高校的学生,也可以通过在线教育平台找到一流的讲师录制的课程,QQ群和微信群提供了师生交流平台。
Fraps 视频帧数录制
Fraps 视频帧数录制
视频的实时录制和上传
这个代码绝对可以用,我用人格保证,这个代码直接在你手机上运行,打开录像机上出现的IP地址,直接访问即可看到自己录制的实时视频。
QT opencv
video = cvCreateVideoWriter(c_file, CV_FOURCC('X', 'V', 'I', 'D'), 32,rn [color=#FF0000][u]cvSize(ipImage->width, ipImage->height));[/u][/color]rnrn这句直接导致程序崩溃,求解!
QT与OpenCV
《OpenCV轻松学》视频精讲课程从图像处理基础出发,通过对基础知识的讲解来学习,OpenCV 安装,使用OpenCV计算机视觉库。并将OpenCV灵活地使用到自己的实际项目中。课程中强调从使用层面沉入理解内部原理,力求知其然并知其所以然。
QT + OpenCV
我想用QT进行编程,现在在程序中要对视频进行处理,所以就需要用到OpenCV提供的函数进行操作,rn请问怎么样在QT编译器中使用到OpenCV?希望大家帮帮忙!
opencv打开监控录制的视频出现错误,解决办法!
问题: 之前没有遇到过此类问题,今天用opencv打开监控录制视频(.mp4)进行处理时,出现错误! 找到cap_ffmpeg_impl.hpp源文件,也没有看懂其原理,网上很多人说是路径出现错误,有人说是视频放在源程序下等,这些都不能解决问题。 看似.mp4文件,应该有不同的编码方式(没研究过) 其次只有迅雷看看能打开这类视频(期间还要自动下载解码器) 于是想到转码,下载格式工厂也
请问如何使用opencv录制kinect2.0视频【求救!!】
本人是kinect新手,重零开始一直学习到到显示kinect的各种功能直到现在我想录制kinect的彩色图像和深度图像等。rn本来以为直接使用opencv库自带的视频写入写出可以实现的,但是不知道为什么出来的视频并不能播放,视频格式是avi的,只有6K无法播放。rnrn下面是我使用的代码:rnrnCvVideoWriter *Video = NULL;rnint fps = 25;rnVideo = cvCreateVideoWriter("out.avi", CV_FOURCC('P', 'I', 'M', '1'),fps,cvSize(nWidth,nHeight),1);rnIplImage imgIpl = showImage.operator _IplImage();rnIplImage *imgIpl1 = &imgIpl;rnint i;rnfor (i = 0; i < 50; i++)rnrn cvWriteFrame(Video, imgIpl1);rnrncvShowImage("writer", imgIpl1);rncvWaitKey(20);rncvReleaseVideoWriter(&Video);rnrn求大神救救[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/5.gif][/img]rn
opencv视频拼接 opencv视频拼接优化
1、基于opencv3.4.1开发的视频拼接算法,集成了特征提取、双路视频自动拼接算法;2、需要使用vs2015,显卡运行库已经拷贝到执行文件中,直接就可以运行,如果需要进一步优化,需要自己再继续改进;3、完全开源,由于工程较大,所以上传到网盘,有需要的可以下载使用。网盘地址:链接:https://pan.baidu.com/s/1TfB6ZWPFaWfn18MiXRyuvg 密码:ltct。...
opencv视频资料教程,51cto贾志刚录制的全部视频,一共八套视频
51cto高级工程师贾志刚录制的opencv视频资料教程,学习opencv从入门到精通,基于opencv3,一共8套视频,并且有源码和PPT课件。1、图像处理,2、特征提取,3、小案例实战,4、级联检测器与人脸检测,5、图像分割,6、视频分析与追踪,7、DNN神经网络模块应用,8、人脸识别实战。
QT 视频
调用mplayer做的视频, Vs2010 +xp + QT5.0 rnp= new QProcess;rn connect(p,SIGNAL([color=#FF0000]readyReadStandardOutput()[/color]),this,SLOT(dataRecieve()));//不能触发该信号rn界面也很丑rn[img=https://img-bbs.csdn.net/upload/201404/30/1398827501_847356.png][/img]
基于MFC打开图像,视频,及视频的录制
基于MFC打开图像,视频,及视频的录制,程序代码
相关热词 c#串口测试应用程序 c# 匹配 正则表达式 c#防止窗体重绘 c#读写txt文件 c#挖地雷源代码 c#弹框选项 c# 移除 队列 c# 密码写入配置文件 c# 获取可用内存大小 c# 嵌入excel编辑