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博客

相关推荐
是娇娇公主~5 小时前
C++ 中 std::deque 的原理?它内部是如何实现的?
开发语言·c++·stl
SuperEugene5 小时前
Axios 接口请求规范实战:请求参数 / 响应处理 / 异常兜底,避坑中后台 API 调用混乱|API 与异步请求规范篇
开发语言·前端·javascript·vue.js·前端框架·axios
Black蜡笔小新6 小时前
国标GB28181视频监控平台EasyCVR破解偏远地区监控难题的应用实践
音视频
xuxie996 小时前
N11 ARM-irq
java·开发语言
wefly20177 小时前
从使用到原理,深度解析m3u8live.cn—— 基于 HLS.js 的 M3U8 在线播放器实现
java·开发语言·前端·javascript·ecmascript·php·m3u8
luanma1509807 小时前
PHP vs C++:编程语言终极对决
开发语言·c++·php
寂静or沉默7 小时前
2026最新Java岗位从P5-P7的成长面试进阶资源分享!
java·开发语言·面试
liwenzhuola8 小时前
解决 Ubuntu 上 Qt Creator 项目编译失败的问题
数据库·qt·ubuntu
kyriewen118 小时前
给浏览器画个圈:CSS contain 如何让页面从“卡成PPT”变“丝滑如德芙”
开发语言·前端·javascript·css·chrome·typescript·ecmascript
智算菩萨8 小时前
MP3音频编码原理深度解析与Python全参数调优实战:从心理声学模型到LAME编码器精细控制
android·python·音视频