草庐IT

Qt-FFmpeg

全部标签

音视频项目—基于FFmpeg和SDL的音视频播放器解析(三)

介绍在本系列,我打算花大篇幅讲解我的gitee项目音视频播放器,在这个项目,您可以学到音视频解封装,解码,SDL渲染相关的知识。您对源代码感兴趣的话,请查看基于FFmpeg和SDL的音视频播放器如果您不理解本文,可参考我的前一篇文章音视频项目—基于FFmpeg和SDL的音视频播放器解析(二)解析在本文中,我们将解析用来解封装的线程的线程类demuxthread,我们先看看总体的.h代码#pragmaonce#ifndefDEMUXTHREAD_H_#defineDEMUXTHREAD_H_#include"thread.h"#include"avpacketqueue.h"#ifdef__cp

Android - 集成 ffmpeg 和 android-ndk-r9c

我看过很多关于FFmpeg和在Android中使用FFmpeg的帖子,但我发现这些帖子中的大部分都是针对旧版本的FFmpeg或AndroidNDK。我能够从https://github.com/mconf/android-ffmpeg得到结果,其中包括文件:“libavcodec.so”、“libavformat.so”、“libavutil.so”、“libswscale.so”。但是,仅仅将这些文件添加到我的项目中似乎还不足以使用FFmpeg。(我按照https://stackoverflow.com/a/21773572/1877798作为引用指南)。有可能是我在项目中配置这些文

Qt的network模块实现TCP客户端和服务端

TCP协议即英文的简写,transformcontrolprotocol传输控制协议单词的首字母大写拼接而成。TCP协议是传输层协议,具有客户端和服务端,是面向连接(三次握手和四次挥手过程),基于IP协议的可变大小的滑动窗口协议。不支持广播,数据传输失败可以重传,且具有排序检错功能。TCP协议栈应用场景广泛,因其特点,常用于文件传输,保证接收到的文件是完整的和正确的。除此之外还用于邮件发送和接受,确保邮件正确发送正确接受。另外也常用于网页浏览,HTTP应用层协议就是使用TCP协议作为传输层协议,确保网页信息正确性。使用C语言来实现TCP的通信过程是比较繁琐的,而Qt提供了network模块,n

Linux Qt5.15.2 编译QWebEngine源码支持音视频H264

背景默认自带的QWebEngine因版权问题不支持音视频功能,需要自己编译源码以支持。平台:Linux(UOSV201050)Qt:5.15.2准备工作下载Qt5.15.2对应版本源码,使用镜像网站或者QtMaintenanceTool工具下载。配置Qt环境变量vim~/.bashrc将以下内容追加到bashrc文件后#QTENVexportPATH=/home/Leou/Qt/5.15.2/gcc_64/bin:$PATHexportLD_LIBRARY_PATH=/home/Leou/Qt/5.15.2/gcc_64/lib:$LD_LIBRARY_PATHexportQT_PLUGIN_

一、Qt初尝试,做一个QT计算器《QT 入门到实战》

学习目标了解qt的基本信息了解qt的下载及安装了解创建一个基本qt项目的流程了解信号与槽通过示例了解信号与槽的设置与编写了解控件添加的方式了解控件如何使用代码获取其文本了解控件如何使用代码设置其文本使用connect自定义信号与槽了解使用样式修饰控件外观了解使用代码清空控件文本学习使用Qt编写一个四则算术计算器注:本章中使用的一些方法方法是为了简单的了解一下概念性质,例如在多个槽函数时使用的方法并不是简便的,简便的方法在之后的学习中将会进行讲解。一、简单了解Qt及下载安装1.1简单了解Qtqt是C++的图形用户工具,是一个跨平台的用户界面解决方案;Qt几乎支持所有的系统平台,并且是面向对象的。

如何使用ffmpeg制作透明背景的视频

  最近我们尝试在网页上叠加数字人讲解的功能,发现如果直接在网页上放一个矩形的数字人视频,效果会很差,首先是会遮挡很多画面的内容,其次就是不管使用任何任务背景,画面都和后面的网页不是很协调,如图所示:  如果能去掉视频的背景,只展示人物效果就会好很多。经过一些调研和实验,我终于探索出一种可以批量自动化实现透明背景视频的方法,最终实现的效果如下:  数字人的视频我是使用的腾讯智影生成带绿幕的视频,要实现透明背景,有个很关键的信息需要知道,不是所有的视频格式(视频编码)都支持透明背景,首先我们最常用的mp4就是不支持(不管是h264还是h265)都不支持,目前支持透明背景的只有少部分视频编码,比如

Android - FFmpeg 获取视频帧的替代方法。 (由于许可)

场景:我正在从事一个Android项目,我在一个特定的openGL页面中显示视频。FFmpeg用于从视频中获取帧(因为openGL不支持视频作为纹理),我正在使用帧来获取视频效果。我在项目中使用预编译的FFmpeg二进制文件。我不知道使用FFmpeg库的法律影响程度。我的上级提醒我注意这件事FFmpeglegalreference问题:我不是法律专家,所以我唯一理解的是在商业免费应用程序(但服务需要付费)中使用FFmpeg会让我和我的公司陷入麻烦:(绝不能发布项目的源代码或任何部分源代码。(客户对此非常严格。)有问题吗?1)除了FFmpeg(使用Apache或MIT许可证),我可以使用

使用FFmpeg生成视频的预览图缩略图

无需代码手动拼接,直接生成网格预览图:使用ffprobe命令获取到video流的nb_frames这里使用json格式返回获取ffprobe-verror-hide_banner-ofdefault=noprint_wrappers=0-print_formatjson-show_format-show_streams-i"test.mp4"使用ffmpeg命令合帧,通过tile拼接成4X6的网格ffmpeg-y-i"test.mp4"-frames1-vf"select=not(mod(n\,100)),scale=-1:320,tile=4X6:padding=10:color=white

android - FFMpeg Android Stagefright SIGSEGV 错误(h264 解码)

我需要在Android2.3+上将h264文件解码为YUV。据我所知,我需要与Stagefright沟通,因为这是现在关闭对OpenMAXIL实现的访问后的唯一方式。对于这个问题,我使用了FFmpeg0.10(并尝试了0.9/0.9.1..),用NDK7编译了它(也尝试了NDK6b,结果相同):ffmpegversion0.10Copyright(c)2000-2012theFFmpegdevelopersbuiltonJan28201214:42:37withgcc4.4.3configuration:--target-os=linux--cross-prefix=arm-linux

单片机与QT上位机通信

目录1.项目说明2.上位机QT绘制2.1建立工程 2.2绘制ui 2.3编程2.3.1头文件2.3.2CPP文件 2.3.3运行测试2.4进阶--实现两个界面切换2.4.1绘制ui 2.4.2编程 2.4.3完善第二个界面3.单片机数据发送1.项目说明此次项目为通过51单片机将温湿度数据通过串口发送给QT,QT做界面并显示。要求实时显示,并且QT设置两个界面,第一个界面显示整体数据,方便以后扩展多个数据内容,在每个数据后面添加一个”详情“按键,点击按键可以跳转到第二个界面,第二个界面为这个采集数据的详细信息,可以增加图表显示。扩展内容:1.显示整数和小数。         2.通过ESP826