QT如何给视频打时标

1.主要就是拿到每一帧的数据,然后把时间标记打到每一帧图片上即可,代码如下:

其中SLotRecvImgData接收的参数是每一帧图片的字节数组

cpp 复制代码
void ShowImgDlg::SLotRecvImgData(QByteArray byteArr)
{
    QImage image;
    if (image.loadFromData(byteArr)) {
        // 获取当前时间
        QDateTime dateTime = QDateTime::currentDateTime();
        QString timestamp = dateTime.toString("yyyy-MM-dd hh:mm:ss");

        // 在图片上绘制时间戳
        drawTimestampOnImage(image, timestamp);

        QPixmap pixmap = QPixmap::fromImage(image);
        ui->label->setPixmap(pixmap);
        ui->label->setFixedSize(pixmap.size());
    }
}

void ShowImgDlg::drawTimestampOnImage(QImage &image, const QString &timestamp)
{
    QPainter painter(&image);
    painter.setPen(Qt::white);  // 设置画笔颜色为白色
    painter.setFont(QFont("Arial", 12));  // 设置字体和大小

    // 计算时间戳的位置
    int x = 10;
    int y = image.height() - 20;

    // 绘制时间戳
    painter.drawText(x, y, timestamp);
}

其他打时标的方法可以参考下述链接:

【Qt+FFmpeg】给视频添加时间水印_ffmpeg添加时间水印-CSDN博客

麒麟银河操作系统V10部署ffmpeg(也能用于Linux系统)_银河麒麟 ffmpeg-CSDN博客

基于FFMPEG水印添加---avfilter库-CSDN博客

【Qt+FFmpeg】给视频添加时间水印_ffmpeg添加时间水印-CSDN博客

【Qt+FFmpeg】解码播放本地视频(一)_ffmpeg怎么读取和播放视频-CSDN博客

相关推荐
Sakuyu434682 分钟前
C语言基础(三)
c语言·开发语言
郝学胜-神的一滴5 分钟前
深入epoll反应堆模型:从libevent源码看高性能IO设计精髓
linux·服务器·开发语言·c++·网络协议·unix·信息与通信
XS0301066 分钟前
Java 基础(十)异常
java·开发语言·oracle
和小潘一起学AI6 分钟前
Python导入私有模块(企业级方案)
开发语言·python
!停11 分钟前
C++入门STL容器Vector使用基础,深挖 Vector替代 C 语言繁琐容器的利器
开发语言·c++
互联科技报15 分钟前
2026年短视频矩阵视频混剪软件工具商业分析报告
线性代数·矩阵·音视频
小何code23 分钟前
【Python零基础入门】第4篇:Python变量与数据类型详解
开发语言·python
xiaoshuaishuai833 分钟前
C# 数字资源分发
开发语言·c#
techdashen33 分钟前
用自家产品构建自家产品:Cloudflare Images 的工程架构解析
开发语言·架构·rust
philsonzhao39 分钟前
ffmpeg如何剪辑视频,并保留字幕
音视频