
2 魔改裸机多媒体库(实现Qt播放器和录像机,嵌入式仿真用)
文章平均质量分 66
用于嵌入式仿真的Qt音视频播放器+多媒体框架(提供API、SDK),除了界面和设备输入输出使用Qt C++ Class,其它的模块都用C语言实现(包括底层基础模块)。使用了ffmpeg(C语言编写的)编解码。当在嵌入式平台编译时,将UI替换为板子上的UI,输入输出和编解码替换为硬件接口。
才鲸嵌入式
2012年开始工作,嵌入式软件工程师
展开
-
嵌入式仿真用Qt播放器和录像机
嵌入式仿真用Qt播放器和录像机作者将狼才鲸创建日期2022-04-06介绍Qt播放器和录像机,嵌入式仿真用,用Qt实现麦克风输入、扬声器输出、摄像头输入和屏幕画面播放的模块,用ffmpeg libavcodec实现音视频流编解码,其它的容器封装解封装、音视频同步、底层通用模块都使用C语言自行实现。能很方便的移植到有音视频硬件编解码器的板子中。不使用动态内存分配,全部使用静态数组地址;不使用多线程,使用死循环轮询。这只是一个项目链接,指向我另一个项目才鲸 / Qt GUI从原创 2022-04-06 22:54:45 · 3135 阅读 · 0 评论 -
07 Qt pcm播放报错 error: no member named ‘setCodec‘ in ‘TestNamespace::QAudioFormat‘
Qt pcm播放报错 error: no member named ‘setCodec’ in ‘TestNamespace::QAudioFormat’因为Qt 6.2.0和Qt6.2.1版本有这个bug,请换用别的版本详情如下:QtQTBUG-94182 error: no member named ‘setCodec’ in ‘TestNamespace::QAudioFormat’...原创 2021-11-28 01:39:29 · 2713 阅读 · 0 评论 -
06 使用ffmpeg sws_scale NV12转YUV420P,自己创建linesize和地址参数
使用ffmpeg sws_scale NV12转YUV420P,自己创建linesize和地址参数作者将狼才鲸创建日期2022-04-03因为在网上没找到教怎么自己生成sws_scale()函数参数的,我也是摸索了好几个钟头才弄清楚,所以,特写此文章。我的整个工程Gitee源码目录:qt_gui_simple2complex/ source / 007_Embeded_Player代码展示:#include "libswscale/swscale.h" //原创 2022-04-03 16:47:38 · 4497 阅读 · 0 评论 -
08 C语言中调用C++的方法(函数),使用回调函数不使用C++动态库
C语言中调用C++的方法(函数),使用回调函数不使用C++动态库作者将狼才鲸创建日期2022-03-31C语言中想调用C++中的方法,或者使用C++类中的数据,有三种方法:一是将C++编译成动态库供C语言中调用;二是使用Makefile 将C++和C分别用g++和gcc编译成.o,再在链接的时候实现C语言找到C++的方法入口进行调用;三是C++调用C语言的一个函数将自己的方法通过回调函数的方式注册进C语言模块,C语言模块自己择机在需要的时候进行调用。我觉得第三种原创 2022-03-31 20:33:19 · 1355 阅读 · 0 评论 -
01 Qt6.2.3播放YUV视频,使用QOpenGLWidget
Qt6.2.3播放YUV视频,使用QOpenGLWidget作者将狼才鲸创建日期2022-03-30工程Gitee源码地址:qt_gui_simple2complex/ source / 004_MultiMedia_VideoAudio / 003_yuv_video_play优快云文章阅读地址:视频讲解地址(待完成):才鲸嵌入式参考资料:qt采用opengl显示yuv视频数据Qt 创建定时器该工程在Qt5.15.2、Qt6.0.4和Qt6.原创 2022-03-30 22:01:14 · 4426 阅读 · 8 评论 -
02 Qt6.2.3播放PCM文件,使用QAudioSink替代老版本的QAudioOutput
Qt6.2.3播放PCM文件,使用QAudioSink替代老版本的QAudioOutput作者将狼才鲸创建日期2022-03-29Gitee源码工程目录:qt_gui_simple2complex/ source / 004_MultiMedia_VideoAudio / 006_qt6-2-3_pcm_play优快云文章阅读地址:B站视频讲解地址(待完成):才鲸嵌入式Qt5版本的PCM播放工程Gitee目录: qt_gui_simple2complex/ source原创 2022-03-29 22:30:39 · 4279 阅读 · 0 评论 -
03 Qt6.2.3获取摄像头录制YUV文件,逐帧获取录制,使用QVideoSink
Qt6.2.3获取摄像头录制YUV文件,逐帧获取录制,使用QVideoSink作者将狼才鲸创建日期2022-03-26Gitee源码仓库地址:qt_gui_simple2complex/sourc/004_MultiMedia_VideoAudio /005_yuv_input_save_file优快云文章阅读地址:B站视频讲解地址(待完成):才鲸嵌入式一、实现YUV数据获取的相关介绍参考网址:如何直接读取QCamera的一帧数据QR扫码综合示例教程(六)Qt6原创 2022-03-27 14:53:49 · 3607 阅读 · 0 评论 -
05 嵌入式中音视频同步要注意的知识点:
========音视频同步的全部知识:1、既然你都开始关注音视频同步了,那么假设你有了基础的背景知识,比如:有计算机知识;编程理论(知道中断、缓存、状态机、模块);会一门编程语言;知道MPEG ISO协议;知道mp4、mkv、ts等封装格式;知道h264、hevc、mpeg2、mpeg4等视频流格式;知道mp3、aac等音频流格式;知道RGB、YUV、YCrCb、WAV等显示和播放格式;知道显示驱动音频驱动;知道屏幕刷新率vsync。不知道这些的话就需要在实操时遇到了就去搜索学习相关知识。2、在解原创 2021-05-29 21:45:00 · 382 阅读 · 0 评论 -
04 Qt6.2怎么录制PCM,Qt6中用最新的QAudioSource替代QAudioInput录制PCM的方法
使用Qt6.2 multimedia QAudioFormat录制PCM音频文件作者将狼才鲸创建日期2022-03-26本工程Gitee仓库源码地址:qt_gui_simple2complex/ source / 003_MultiMedia_VideoAudio / 005_pcm_input_save_file / readme.md 本文章优快云阅读地址(待添加):将狼才鲸本文章配套B站视频讲解地址(待添加):才鲸嵌入式因为网上的很多用例都是Qt5的版本的代码原创 2022-03-26 21:47:04 · 2817 阅读 · 0 评论