
qt,ffmpeg
MR_DUAN1105
好好学习,天天向上
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ffmpeg开发:关于对Application provided invalid的解决方法
关于对Application provided invalid的解决方法,这个错误是ffmpeg开发中非常常见的错误,之前使用别人代码常常提示这个错误,百度基本找不到相关解决方法,当时也非常崩溃,但静下心来仔细研究这个错误,发现这个错误还是很好解决的。其实只要·沉下心来仔细分析,好多错误只是“纸老虎”。这个错误从字面意思可以看出是因为dts没有一直递增导致的。视频播放是通过pts和dts进行播原创 2017-08-24 21:08:13 · 10122 阅读 · 7 评论 -
ffmpeg开发:视频数据在qt显示
使用SDL在Qt窗口上显示。sdl1在Qt直接使用putenv窗口HWND就行,sdl2废除了这个api。sdl2该怎么用呢?其实也很简单。先获取Qt的窗口句柄,windows下QWidget.winId()获取窗口句柄强制转化为HWND类型,后SDL_CreateWindowFrom((void*)窗口句柄)即可把视频显示到Qt窗口上。实现视频的播放与暂停功能可使用SuspendThre原创 2017-08-26 22:05:50 · 1804 阅读 · 0 评论 -
ffmpeg开发:打开摄像头和麦克风
使用ffmpeg打开电脑的摄像头。用ffmpeg打开摄像头网上雷神有写,不过他的博客把摄像头的地址写死了。当遇到摄像头是英文的描述符时还好说,但是当遇到麦克风或者摄像头是中文描述符就非常坑爹了。当初打开麦克风时,麦克风描述符有中文,用win32的MultiByteToWideChar函数open_input提示打开错误,确实很崩溃。其实当设备有中文可以使用它的Moniker名,Moniker名原创 2017-09-03 19:02:47 · 3283 阅读 · 0 评论 -
ffmpeg开发:qt上添加转换进度条
FFMPEG配界面之视音频转换进度。FFMPEG是一个非常强大的视频处理库,几乎所有视频播放器处理软件都离不开ffmpeg。下面来说说ffmpeg如何用qt显示视频处理的进度。说到进度,qt首先就会考虑到qprogressbar,qprogressbar首先设置进度条总长度,后设置进度数据。问题就是以什么数据作为总进度长度,以什么数据作为更新的进度长度?在我的程序是以视频的dts数据作为进度条原创 2017-09-03 19:58:53 · 1817 阅读 · 0 评论 -
ffmpeg开发:关于对错误pts () < dts () in stream的解决方法
关于对错误pts () 出现这种错误是由于视频pts大于dts。pts是视频播放时间,dts是送入解码器解码时间。所以一帧视频播放时间必须在解码时间点之后。解决方法是进行判断:if(packet.pts 产生错误的原因一般是对dts,pts操作不当。比如在进行视频分割时,常用的方法是视频截取后半段视频pts与dts减去前半段pts和dts。前半段pts可能比dts大(当解码的视频帧不是I帧时)原创 2017-08-25 21:46:49 · 5366 阅读 · 0 评论 -
qt+ffmpeg仿格式工厂
花了将近一个月做的项目。这个程序实现了格式工厂的基本功能:视频,音频,图片的格式转换,视音频拼接,裁剪,混流,分流,视频特效,添加字幕,支持视频录像带有一定的特效效果。内置视频播放器,实现视频播放暂停快进,快退,滑动条拖动视频进度。程序使用FFMPEG+Qt,期间也遇到过不少坑,其实好多时候只要自己塌下心来老老实实研究错误,总会找到解决方法,不要被不知名的错误吓到。其中有一些坑,在后面博客会介绍到原创 2017-08-17 19:13:01 · 2171 阅读 · 2 评论 -
ffmpeg开发:小知识点总结(持续更新)
1.ffmpeg打开音频或视频设备常常遇到中文名,前面博客介绍可以使用绰号名,但一定要注意必须只有avdevice-56.dll及以上的动态库版本才能支持以绰号名打开设备,以下不支持。2.ffmpeg向外发送数据包如果数据包太小会把许多数据包合并一起发送,如果所要发送数据包太大,会自动拆分发送,我的电脑ffmpeg会一次发送3000比特数据包。3.刚刚遇到的一个问题,向外发送udp/rtp包在代开...原创 2018-02-10 22:53:50 · 581 阅读 · 0 评论